- 누군가 훔쳐봐도 내용 알 수 없게 하는 기술
- 평문(plaintext)를 키와 알고리즘 기반으로 암호문(ciphertext)로 바꾸는 기술
- 또한, 만약 암호문이 탈취 당하더라도 키 없이는 복호화 못하게 하는 작업
- 이를 통해,
대칭 암호화
- symmetric algorithm은 암호화(Encrypt) 와 복호화(Decrypt)에 동일한 비밀키 사용하는 방식
- DES, AES
AES
- Advanced Encryption Standard 는 스크램블 사용한 대칭키 암호화 알고리즘
- 10라운드 걸쳐 각 라운드마다 스크램블(SubBytes, ShiftRows, MixColumns), AddRoundKey(현재 상태에 키를 XOR 연산으로 더하는 단계) 등의 연산으로 데이터를 암호화 하는 알고리즘
- 참고
- AES는 AES-128,192,256 있고 이 중 128이 젤 빠르고 가볍고 많이 쓰임. 128은 HTTPS, TLS, 파일 암호화(ZIP, RAR)등에 쓰임
스크램블
비대칭 암호화
- Asymmetric Encryption 은 서로 다른 두 개의 키(공개키, 개인키)를 사용하는 암호화 방식
- RSA, DH(Diffie-Hellman)
- 이 두개의 키는 수학적으로 짝이 맞도록 설계
- 공개키로 암호화 시, 개인키로만 복호화 가능
- 개인키로 서명하면, 공개키로만 검증 가능
- 그렇기에, 공개키는 아무나 가질 수 있지만, 개인키는 반드시 비밀로 유지해야하는 특징
- 예)
-
- A가 B에게 비밀 메시지 보내려면 → B의 공개키로 암호화
-
- 이 메시지는 오직 B의 개인키로만 복호화 가능. 즉 A는 암호화만 하고, B만 읽을 수 있음
| 구분 | 대칭 암호화 | 비대칭 암호화 |
|---|
| 키 개수 | 1개(세션키) | 2개(공개키/개인키) |
| 속도 | 빠름 | 느림 |
| 사용 목적 | 데이터 전송 | 인증, 세션키 생성 |
| 예 | AES | RSQ, DH, ECDHE(Ellipic Curve DH Ephmeral) |