• 누군가 훔쳐봐도 내용 알 수 없게 하는 기술
  • 평문(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)
  • 이 두개의 키는 수학적으로 짝이 맞도록 설계
    • 공개키로 암호화 시, 개인키로만 복호화 가능
    • 개인키로 서명하면, 공개키로만 검증 가능
  • 그렇기에, 공개키는 아무나 가질 수 있지만, 개인키는 반드시 비밀로 유지해야하는 특징
  • 예)
      1. A가 B에게 비밀 메시지 보내려면 B의 공개키로 암호화
      1. 이 메시지는 오직 B의 개인키로만 복호화 가능. 즉 A는 암호화만 하고, B만 읽을 수 있음
구분대칭 암호화비대칭 암호화
키 개수1개(세션키)2개(공개키/개인키)
속도빠름느림
사용 목적데이터 전송인증, 세션키 생성
AESRSQ, DH, ECDHE(Ellipic Curve DH Ephmeral)