암호화 알고리즘의 종류 및 특징에 대해서 알아본다.

정의

  • 평문(Plaintext) : 해독 가능한 형태의 메시지 (암호화전 메시지)
  • 암호문(Cipertext) : 해독 불가능한 현태의 메시지 (암호화된 메시지)
  • 암호화(Encryption) : 평문을 암호문으로 변환하는 과정
  • 복호화(Decryption) : 암호문을 평문으로 변환하는 과정
  • 전자서명
    • 송신자의 Private Key로 메시지를 서명하여 전달
    • 수신측에서는 송신자의 Public Key를 이용하여 서명값을 검증한다.

대칭키와 비대칭키(공개키) 암호화

대칭키 암호화란? 같은 키를 이용하여 메시지를 암.복호화 하는 것이다.
비대칭키 암호화란? 메시지 암호화 하는 키와 복호화 하는 키가 다르다.

  • 이부분이 조금 헷갈릴 수 있는데 암호화 알고리즘에 따라 다르게 사용하기 때문이다.
  • 전자서명을 위한 알고리즘에서는 Private Key로 메시지를 서명하고 Public Key로 검증한다.
  • 메시지 교환에서는 Public Key로 메시지를 암호화하고 Private Key로 복호화한다.

대칭키 암호화

  • 종류 : AES128, AES256, SEED(국내표준)
  • 암.복호화 키가 같음. 문제점은 수신측에 키를 전달하는 과정에서 유출우려가 있음.

비대칭키 암호화

  • 종류 : DSA(전자서명), RSA(메시지 암.복호화)
  • 대칭키에 비해서는 느리다는 단점이 있음.
  • 키생성시 Private Key와 Public Key 2개의 키가 도출되며, Public Key는 공개해도 문제가 없다.
  • ECC(Elliptic Curve Cryptography)
    • 타원곡선 암호로써 RSA에 비해 짧은 길이의 키를 사용하면서도 비슷한 수준의 안정성 제공.
    • 비트코인 및 이더리움에서도 ECC 알고리즘을 이용함.
  • ECC 기반의 암호화
    • ECDSA(Elliptic Curve Digital Signature Algorithm) : 전자서명 (ECC 암호화 알고리즘을 전자서명에 사용한 것)
    • ECDH(Elliptic Curve Diff-Hellman) : 키교환 알고리즘 (자신의 Private Key와 상대방의 Publick Key를 시용하여 공통된 Secret 키를 도출)
    • ECIES(Elliptic Curve Integrated Encryption scheme) : 통합 암호화 방식 (Public Key로 암호화하고 Private Key로 복호화)

두가지 방싱의 조합

  • 비대칭키는 대칭키에 비해서 느리다는 단점이 있으므로 아래와 같이 활용.
  • 대칭형 암호키를 비대칭형 암호화로 암호화하여 수신측에 전달.
  • 이후 평문에 대한 암복화를 대칭형 암호화를 이용하여 수행한다.

참고