1. CFB 모드
- Cipher FeedBack 모드 (암호 피드백 모드)
- 1단계 앞의 암호문 블록을 암호 알고리즘의 입력으로 사용
- 피드백 : 암호화의 입력으로 사용한다는 것
- 평문 블록을 암호 알고리즘으로 직접 암호화하지 않음 (ECB모드 & CBC 모드와 다름)
CFB 모드에 의한 암호화 & 복호화
CFB 모드와 CBC 모드 비교
2. 초기화 벡터
- 1단계 앞의 출력이 존재하지 않으므로 대신에 초기화 벡터(IV)를 사용
- 보통 암호화 때마다 다른 랜덤 비트열 사용
3. CFB 모드와 스트림 암호
- CFB 모드의 구조는 일회용 패드와 비슷
- CFB 모드에서는 평문 블록과 암호 알고리즘의 출력을 XOR해서 암호문 블록을 만듦
- 일회용 패드처럼 이론적으로 해독 불가능한 것은 아님(암호 알고리즘의 출력을 계산으로 만들어지는 것이므로 실제 난수가 아니기 때문)
- 키 스트림(key stream) : CFB 모드에서 암호 알고리즘이 생성하는 비트열
- CFB 모드에서는 키 스트림을 생성하기 위한 의사난수 생성기로서 암호 알고리즘을 이용
- 초기화 벡터는 의사난수 생성기의 seed(종자)에 해당
- 평문 데이터를 1비트씩 암호화할 수 있음
- CFB 모드 ≒ 블록 암호를 써서 생성한 키를 이용하는 스트림 암호
4. CFB 모드의 복호화
- 블록 암호 알고리즘 자체는 암호화를 수행하고 있다는 점에 주의
- 키 스트림은 암호화에 의해 생성되는 것
5. CFB 모드에 대한 공격
CFB 모드에 대한 재전송 공격