블록 암호화
- k 비트의 블록 단위로 암호화 된다
- k=64이면, 메세지를 64 비트의 블록들로 쪼개어 각 블록을 독립적으로 암호화
- k 비트 블록의 평문을 k비트 블록의 암호문으로 대응
- 일대일 사상
- 각각의 입력에 대해서 서로 다른 출력을 얻게 된다
- 하나의 사상은 가능한 모든 입력의 순열이다
- 3 비트로 표현하니 8개의 입력이 가능하고, 일대일 사상을 하기 때문에 순열로 암호화 된다
- des, 3des, aes 등이 블록 암호화 방식
- 미리 정의된 테이블을 사용하지 않고, 각 화살표에 대응되는 함수들을 사용한다
- 비트열을 키로 사용한다
- 알고리즘의 키는 알고리즘 내부에서 특정 미니 테이블의 사상과 순열을 결정 한다
테이블 기반 암호화 = 현실성 없는 전략
- 매우 안전한 대칭키 암호화 방법
- k가 커지면 입력 블록에 대한 테이블 크기가 너무 커져버린다
- 7!만 해도 이미, 4만개
- 키가 바뀌면 테이블도 다시 재생성 되어야 한다.
테이블 기반 암호화 모방 = 현실적인 대안
- 64비트 블록을 8비트씩 8개의 청크로 나눈다
- 각 8비트 청크는 8비트의 입력 블록에 대응하는 8비트 출력 블록을 가진 테이블에 의해 처리
- 처리된 8비트 8개는 뒤섞인 후 n 번 순환한다
- 여기서 뒤섞이는 방법이 있는 듯
728x90
'DEV > Frontend' 카테고리의 다른 글
리액트 에러 해결 Warning Each child in a list should have a unique key prop 에러 해결 (0) | 2023.01.13 |
---|---|
React 왜 쓸까? (0) | 2023.01.12 |
Recoil 기초 (0) | 2023.01.12 |
VLM 부트캠프 - Coding Test Review (0) | 2023.01.10 |
Prettier - Code formatter 설치 방법 (0) | 2023.01.09 |