본문 바로가기
학부/Network Security

One-time pad(일회용패드)

by ulqaef 2019. 4. 20.
728x90

one-time pad(일회용패드)는 전사공격에서 키 공간을 모두 탐색하더라도 해독할 수 없는 암호이다.

 

평문과 랜덤한 비트열을 XOR연산을 하여 암호문을 생성하는 방법이다.

 

"PARIS" 라는 문자열을 일회용패드로 암호화 해보자.

 

우선 "PARIS"라는 문자열을 ASCII코드로 부호화하여 비트열을 준비한다.

P

A

R

I

S

01010000

01000001

01010010

01001001

01010011

 

 

평문길이와 같은 40비트의  랜덤비트열을 준비한다.(비트열은 손이 가는대로 눌러서 만들었음)

KEY 11010001 00010110 10101010 10100111 11000111

평문과 키 비트열의 XOR을 계산한다.

 

평문 01010000 01000001 01010010 01001001 01010011
11010001 00010110 10101010 10100111 11000111
(평문 XOR 키) 암호문  10000001 01010111 11111000 11101110 10010000



일회용패드 복호화는 암호화의 역계산이므로 암호문과 키의 XOR을 계산하면 평문을 얻을 수 있다.

암호문 10000001 01010111 11111000 11101110 10010000
11010001 00010110 10101010 10100111 11000111
(암호문 XOR 키) 평문 01010000 01000001 01010010 01001001

01010011

 

 

일회용 패드는 매우 단순하지만 현실적인 시간 내에 해독이 가능하기는 매우 어렵다.

왜냐하면 아무리 임의의 크기인 키 공간 전체를 빠르게 계산할 수 있는 컴퓨터가 발명되어

암호문을 복호화 했다고 하더라도 복호화한 평문이 올바른 평문인지 아닌지 판정할 수가 없기 때문이다.

 

하지만 일회용 패드는 아래와 같은 이유 때문에 사용 되지 않는다.

 

1. 키 배송문제

일회용패드를 사용하여 통신을 한다면 송/수신자가 동일한 키가 필요하다

수신자에게 키를 안전하게 보낼 수 있는 방법이 있다면 

평문 그 자체를 안전하게 보낼 방법도 있을 것이다.

 

2. 키 보존

일회용패드에서는 평문과 같은 비트길이의 키가 필요하다. 

그리고 그 키는 암호해독자에게 들키지 않도록 보존되어야 한다. 

평문과 같은 비트길이의 키를 안전하게 보존할 수 있다면

평문 그 자체도 안전하게 보존할 수 있을 것이다.

 

3. 키 재사용

일회용패드에서는 과거에 사용한 패드를 재사용하는 일은 절대로 있어서는 안된다.

과거에 사용한 키가 누설되어 버리면 과거의 통신내용이 모두 복호화 될 것이다.

 

4. 키 동기화

평문이 100MB의 길이라고 한다면 키도 100MB의 길이가 될 것이다.

송/수신자 간에 키의 비트열이 1 비트라도 어긋나게 되면

수신자는 복호화가 불가능할 것이다.

 

5. 키 생성

재현성이 없는 실제 난수를 대량으로 생산해내야 한다.

 

 

일회용패드는 실용적인 암호는 아니지만 

스트림암호(Stream cipher)에 활용되고 있다.

 

 

 

 

 

 

<참고 : 히로시 유키 - 알기 쉬운 정보보호개론>

728x90
반응형

댓글


`