Cipher

암호화 방식

암호화 방식 / 알고리즘 구분

  • Shared Secret Key (공유 비밀 키) or (대칭키 방식)

    • 블록 암호화 방식

      • 한번에 하나씩 데이터 블록을 암호화 (DES, AES, SEED 방식 )

    • 스트림 암호화 방식

      • 비트바이트/단어 (1 / 8 / 32 bit 등)들을 순차적으로 암호화(RC4 등)

    • 암호화 속도가 빠름, 대용량 데이터 암호화에 적합함

    • Session Key, Secret Key, Shared Key

  • Public Secret Key (공개 비밀 키) or (비대칭키 방식)

    • 공개 키는 비대칭 암호화가 발명되었을 때 만들어진 역설적인 용어

    • 개인에게 주어지는 개인 키와 이 개인 키에 대응하는 공개 키가 있음

      개인 키로 암호화하고, 이 개인키에 ‘유일하게 대응되는’ 공개키 만으로 역 암호화를 할 수 있음.

    • 암호화 및 역암호화 키가 서로 다르며, 암호키로부터 역암호화 키를 계산해낼 수 없기 때문에, 비대칭키 알고리즘이라고 불림.

    • 대칭키는 각 사용자마다 모두 secret-key를 공유해야해서 키의 길이가 길수록 암/복호화에 시간이 증가한다. 하지만 비대칭키 방식은 복호화에 개인키를 사용하기 때문에, 암복호화에 소요되는 시간이 대칭키에 비해 상대적으로 적다.

    • 기가바이트 규모의 데이터를 대량으로 암호화하는 데는 적합하지 않다. (수학적 연산을 기반으로 하기에 연산이 많아 느림) 이때에는 대칭키 방식(secret-key)이 더 좋다.

    • 방법

      • 암호모드 :

        • 송신자 공개키로 암호화 → 송신자 사설키로 복호화

        • 소량의 메시지 암호화 목적, 주로 키 교환의 용도로 사용

      • 인증모드

        • 송신자 사설키로 암호화 → 송신자 공개키로 복호화

        • 메시지를 인증(부인방지)하는 것이 목적

    • ex) Diffie Hellman, RSA, DSA, ECC

Last updated