스트림암호화
데이터흐름을 순차적으로 처리해나가는 암호알고리즘
- 비트/바이트 단위 암호화, 고속 암호화
- 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
- 통계적 성질을 암호문 전반에 퍼뜨려 숨김
'CS' 카테고리의 다른 글
[CS] base64 byteToHex 차이점 (0) | 2023.03.06 |
---|---|
프로세스와 쓰레드 (0) | 2023.01.19 |
[CS] 해시, 대칭키, 비대칭키(공개키) 암호화 (0) | 2023.01.18 |
[네트워크] HTTP Header 구조 (3) | 2022.12.27 |
[네트워크] HTTPS 정의, HTTPS 요청/응답 방식 (0) | 2022.12.27 |