보안

블록 암호 운용 모드_ECB(Electronic CodeBook), CBC(Cipher Block Chaining), CFB(Cipher FeedBack), OFB(Output FeedBack), CTR(CounTeR)

스윙스윙 2021. 10. 5. 18:28

▣ 블록 암호 운용 모드_ECB(Electronic CodeBook), CBC(Cipher Block Chaining), CFB(Cipher FeedBack), OFB(Output FeedBack), CTR(CounTeR)

모드 특징 장점 단점
ECB
(Electronic CodeBook)
모든 블록이 독립적으로 암호화, 복호화를 수행하므로 오류 발생이 다른 블록에 전파되지 않음
암호화하려는 메시지를 여러 블록으로 나누어 각각 암호화
모든 블록이 동일키를 사용하기 때문에 보안에 취약
마지막 블록에는 다른 블록들과 동일한 크기로 만들기 위하여 패딩필요
구현이 간단함
고속
암호화, 복호화 병렬처리가 가능
평문 속의 반복이 암호문에 반복됨
비트단위의 에러가 있는 암호문을 복호화하면, 대응하는 블록이 에러가 됨
재전송 공격이 가능

CBC
(Cipher Block Chaining)
1976년 IBM에 의해 개발
블록은 이전 암호문과 XOR 연산 후에 암호화를 수행
첫 블록의 경우에는 초기화 벡터가 사용
암호화 병렬화 불가능
복호화 병렬화 가능
평문의 반복은 암호문에 반영되지 않음
복호화에서 병렬 처리가 가능
임의의 암호문 블록을 복호화 할 수 있음
비트 단위의 에러가 있는 암호문을 복호화하면, 1블록 전체와 다음블록에 대응하는 비트에서 에러가 남
암호화에서는 병렬처리를 할 수 없음
CFB
(Cipher FeedBack)
CBC의 변형으로, 이전 암호문을 암호화 한 후에 현재 블록과 XOR연산을 수행함
블록 암호를 자기 동기 스트림 암호
로 변환
블록 암호화 알고리즘에 따라 Shift 연산을 사용
패딩이 필요없음
복호화에서 병렬처리가 가능
임의 암호문 블록을 복호화할 수 있음
암호화에서는 병렬 처리를 할 수 없음
비트 단위의 에러가 있는 암호문을 1블록 전체와 다음 블록에 대응하는 비트에서 에러가 남
재전송 공격이 가능함

OFB
(Output FeedBack)
CFB와 유사, 피드백 암호화의 결과이고 메시지와는 독립적
블록 암호를 동기식 스트림 암호
로 변환
XOR 명령의 대칭 때문에 암호화와 암호 해제 방식은 완전히 동일
암호 알고리즘의 출력을 암호 알고리즘의 입력으로 피드백
암호문의 1비트 오류는 대응되는 평문의 1비트에만 영향을 미침
잡음에 강한 Steam Mode (위성통신등)
패딩이 필요없음
암호화, 복호화의 사전준비를 할 수 있음
암호화와 복호화가 같은 구조를 하고 있음
비트 단위의 에러가 있는 암호문을 복호화하면 평문에 대응하는 비트만 에러가 됨
병렬 처리를 할 수 없음
적극적 공격자가 암호문 블록을 비트 반전시키면 대응하는 평문 블록이 비트 반점됨

CTR
(CounTeR)
블록을 암호화할 때마다 1씩 증가하는 카운터를 암호화한 후에 XOR 연산으로 암호문을 생성함
블록 암호를 스트림 암호로 바꾸는 구조
각 블록마다 몇번째 블록 인지 값과 nonce를 결합하여 블록 암호의 입력으로 사용
암호화 및 복호화가 이전 블록에 의존하지 않으며, 따라서 병렬적으로 동작하는 것이 가능
패딩이 필요없음
암호화, 복호화의 사전 준비를 할 수 있음
암호화, 복호화가 같은 구조를 하고 있음
비트 단위의 에러가 있는 암호문을 복호화하면, 평문의 대응하는 비트만 에러가 됨
암호화 복호화에서 병렬 처리가 가능함
적극적 공격자가 암호문 블록을 비트 반전시키면 대응하는 평문 블륵이 비트 반전 됨

 


2019년 118번

정답 : 3번

ECB, OFB, CTR -> 3개는 다른 블록의 암호문에는 전형 영향을 미치지 않음

CBC 모드와 CFB모드의 경우 평문블록 오류시 해당 블록 뿐 아니라

이후 블록까지 오류가 전파되는 성질을 가지고 있음

 


2020년 117번

정답 : 4번

1) CFB모드는 이전 암호문을 암호화 한 후에 현재 블록과 XOR연산을 수행함

2) CBC모드는 각 블록이 체인으로 동작하므로 한 블록에서 에러가 발생할 경우 이후 모든 블록에 영향을 주게 됨

3) ECB모드는 모든 블록이 독립적으로 암호화, 복호화를 수행하므로 오류 발생이 다른 블록에 전파되지 않으며,

병렬처리가 가능함

4) 정답 CTR모드는 블록을 암호화할 때마다 1씩 증가하는 카운터를 암호화한 후에 XOR 연산으로 암호문을 생성함

 


2012년 113번

정답 : 4번

OFB
(Output FeedBack)
CFB와 유사, 피드백 암호화의 결과이고 메시지와는 독립적
블록 암호를 동기식 스트림 암호
로 변환
XOR 명령의 대칭 때문에 암호화와 암호 해제 방식은 완전히 동일
암호 알고리즘의 출력을 암호 알고리즘의 입력으로 피드백
암호문의 1비트 오류는 대응되는 평문의 1비트에만 영향을 미침
잡음에 강한 Steam Mode (위성통신등)
패딩이 필요없음
암호화, 복호화의 사전준비를 할 수 있음
암호화와 복호화가 같은 구조를 하고 있음
비트 단위의 에러가 있는 암호문을 복호화하면 평문에 대응하는 비트만 에러가 됨
병렬 처리를 할 수 없음
적극적 공격자가 암호문 블록을 비트 반전시키면 대응하는 평문 블록이 비트 반점됨