CS

스트림암호화, 블록암호화

yeonlee 2023. 1. 18. 18:30

스트림암호화

데이터흐름을 순차적으로 처리해나가는 암호알고리즘

  • 비트/바이트 단위 암호화, 고속 암호화
  • RC4, SEAL, OTP

 

 

블록암호화

평문을 일정한 크기의 블럭으로 잘라낸 후 암호화 알고리즘 적용해 암호화

  • 고정된 입출력블록 변환 알고리즘
  • 구조
    • Feistel
    • SPN(Substitution Permutation Network)

 

 

Feistel

  • round function의 반복. 평문을 재배열해 K0, K1, .. ,Kn 키와 조합한 후 되돌리는 구조. 
  • 역추적가능, 암호화/복호화 키 동일
  • 블럭길이 64bit 이상, 키 길이 64bit 이상, 라운드 16회 이상 권장.
  • DES, 3DES, SEED

SPN

  • Substitution Permutation Network. 치환층과 재배열층으로 혼돈과 확산 제공.
  • 역추적불가능. 암호화/복호화 다름. 병렬연산이 가능.

암호화기법

치환

  • substitution. 혼돈
  • 문자열을 다른 문자열로 이동하며 교체. ex. monoa -> 31210
  • 암호문과 평문과의 상관관계 숨김

전치

  • permutation. 확산.
  • 문자의 순서를 바꿈. ex. monoa -> oamno
  • 통계적 성질을 암호문 전반에 퍼뜨려 숨김