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
- 통계적 성질을 암호문 전반에 퍼뜨려 숨김