Encryption Algorithm

Mar 22, 2019


1. 암호화 알고리즘의 분류

Encryption Algorithm

가장 먼저 분류되는 방식은 양방향과 단방향 방식이다.

(1) 양방향 알고리즘

암호화, 복호화 가능

  • 대칭키(비공개키) 방식
    • 대칭키 방식
    • 특징 : 암호화, 복호화에 서로 동일한 키가 사용된다. 그래서 비공개키를 사용
    • 장점 : 속도가 빠르다.
    • 단점 : 송신 측에서 수신 측에 암호키를 전달하는 과정에서 노출의 우려가 있어 키 배송의 위험성이 있다.
    • ex : DES (Data Encryption Standard), AES
  • 비대칭키(공개키) 방식
    • 비대칭키 방식
    • 특징 : 암호화, 복호화에 서로 다른 키가 사용된다. 그래서 두 개의 키 중 하나의 키(비밀키/개인키)만 비밀로 보호하고 다른 하나의 키는 공개키로 사용한다.
    • 장점 : 키 배송의 위험성을 근본적으로 차단하여 안전성이 높다.
    • 단점
      • 대칭키 방식에 비해 느리다.
      • 중간자 공격 (MITM : Man In The Middle Attack)에 취약하다.
        • 해커가 중간에서 통신을 가로채어 수신자에게는 송신자인 척하고, 송신자에게는 수신자인 척해서 양 쪽의 공개키와 실제 암호화에 사용되는 대칭키를 모두 얻어내는 기법
    • ex : RSA

(2) 단방향 알고리즘

  • 암호문을 복호화하는 것이 불가능하다. (암호화만 가능)
  • 주로 Hash 기법을 사용하여 최소한 SHA-256, 가능하면 SHA-3를 쓰는 것이 좋다.
    • 나머지는 취약점이 발견된 상태
      • MD5는 현재 단시간 내에 해시 충돌 값을 찾아낼 수 있다.