현대 암호학

[현대 암호학] 05 -2. ECB 모드

Uggjjini 2021. 6. 23. 12:40

2. ECB 모드 

 

ECB 모드란?

전자 부호표 모드(Electric CodeBook Mode)

평문 블록을 암호화한 것이 그대로 암호문 블록

 

패딩(Padding)

* 마지막 평문 블록이 블록 길이에 미치지 못할 경우에 추가하여 블록 길이가 되도록 맞춘다.

 

안전하지 않다.

 

 

ECB 모드에 의한 암호화

 

ECB 모드에 의한 복호화

 

ECB 모드에 대한 공격 예

 

어느 은행의 송금 의뢰 데이터가 다음 3개의 블록으로 구성

블록1 = 송금자의 은행계좌번호(from)

블록2 = 송금처의 은행계좌번호(to)

블록3 = 송금액

 

송금 의뢰 데이터를 받은 은행은 지정된 금액을 송금자로 부터 송금처의 계좌로 이동

() A-5374의 계좌로부터 B-6671의 계좌로 1억원을 송금한다.

 

(a) A-5374의 계좌로 부터 B-6671의 계좌로 1억 원을 송금하라는 송금의뢰 데이터를 만들어 보자.

  • A => 0x41, - => 0x2D, 5 => 0x35, 3 => 0x33, 7 => 0x37, 4 => 0x34
  • 따라서, A-5374 => 41 2D 35 33 37 34

 

(송금자: A-5374)        평문 블록1 = 41 2D 35 33 37 34 20 20 20 20 20 20 20 20 20 20

(송금처: B-6671)        평문 블록2 = 42 2D 36 36 37 31 20 20 20 20 20 20 20 20 20 20

(송금액: 100000000)   평문 블록3 = 31 30 30 30 30 30 30 30 30 20 20 20 20 20 20 20

 

(b) 암호화 하자.

(송금자: ????) 암호문 블록1 = 59 7D DE CC EF EC BA 9B BF 83 99 CF 60 D2 59 B9

(송금처: ????) 암호문 블록2 = DF 49 2A 1C 14 8E 18 B6 53 1F 38 BD 5A A9 D7 D7

(송금액: ????) 암호문 블록3 = CD AF D5 9E 39 FE FD 6D 64 8B CC CB 52 56 8D 79

 

(c) 공격자 맬로리가 암호문 블록의 12의 내용을 바꾼다.

(송금자: ????) 암호문 블록1 = DF 49 2A 1C 14 8E 18 B6 53 1F 38 BD 5A A9 D7 D7

(송금처: ????) 암호문 블록2 = 59 7D DE CC EF EC BA 9B BF 83 99 CF 60 D2 59 B9

(송금액: ????) 암호문 블록3 = CD AF D5 9E 39 FE FD 6D 64 8B CC CB 52 56 8D 79

 

(d) 은행이 이것을 복호화하면 다음과 같이 된다.

(송금자: A-5374) 평문 블록1 = 42 2D 36 36 37 31 20 20 20 20 20 20 20 20 20 20

(송금처: B-6671) 평문 블록2 = 41 2D 35 33 37 34 20 20 20 20 20 20 20 20 20 20

(송금액: 100000000) 평문 블록3 = 31 30 30 30 30 30 30 30 30 20 20 20 20 20 20 20

 

 

결과

원래는 A-5374의 계좌에서 B-6671의 계좌로 1억원을 송금하라는 지시였는데 B-6671의 계좌에서 A-5374의 계좌로 1억원을 송금하라는 정반대의 지시가 되어 버렸다.