1. 암호화 알고리즘의 분류
가장 먼저 분류되는 방식은 양방향과 단방향 방식이다.
(1) 양방향 알고리즘
암호화, 복호화 가능
- 대칭키(비공개키) 방식
- 특징 : 암호화, 복호화에 서로 동일한 키가 사용된다. 그래서 비공개키를 사용
- 장점 : 속도가 빠르다.
- 단점 : 송신 측에서 수신 측에 암호키를 전달하는 과정에서 노출의 우려가 있어 키 배송의 위험성이 있다.
- ex : DES (Data Encryption Standard), AES
- 비대칭키(공개키) 방식
- 특징 : 암호화, 복호화에 서로 다른 키가 사용된다. 그래서 두 개의 키 중 하나의 키(비밀키/개인키)만 비밀로 보호하고 다른 하나의 키는 공개키로 사용한다.
- 장점 : 키 배송의 위험성을 근본적으로 차단하여 안전성이 높다.
- 단점
- 대칭키 방식에 비해 느리다.
- 중간자 공격 (MITM : Man In The Middle Attack)에 취약하다.
- 해커가 중간에서 통신을 가로채어 수신자에게는 송신자인 척하고, 송신자에게는 수신자인 척해서 양 쪽의 공개키와 실제 암호화에 사용되는 대칭키를 모두 얻어내는 기법
- ex : RSA
(2) 단방향 알고리즘
- 암호문을 복호화하는 것이 불가능하다. (암호화만 가능)
- 주로 Hash 기법을 사용하여 최소한 SHA-256, 가능하면 SHA-3를 쓰는 것이 좋다.
- 나머지는 취약점이 발견된 상태
- MD5는 현재 단시간 내에 해시 충돌 값을 찾아낼 수 있다.
- 나머지는 취약점이 발견된 상태