[보안프로토콜] 단일 치환 암호

최혜원·2021년 10월 3일
2

보안프로토콜

목록 보기
1/2

1. 단일 치환 암호

: 평문을 구성하는 알파벳을 다른 알파벳으로 변환하는 암호

단일 치환 암호의 복호화

단일 치환 암호를 복호화하기 위해서는 암호화 과정에서 사용한 치환표가 필요하며, 송신자와 수신자는 치환표를 미리 공유해야 한다.

단일 치환 암호의 약점

평문에 등장하는 문자의 빈도가 암호문으로 바뀐 뒤에도 암호문 내에서 동일한 빈도를 가져 전사공격에는 안전하나, 빈도 분석에 취약하게 된다. 단일 치환 암호가 시저암호에 비해 훨씬 많은 키 후보를 가질 수 있기 때문에 평문으로 사용되는 알파벳을 일정한 문자 수 만큼 평행이동 시키는 시저 암호는 전사공격으로 해독 가능하나, 단일 치환 암호는 전사공격으로 해독이 어렵다.

이때, 키공간이란, 암호에서 사용할 수 있는 모든 키 후보들의 집합을 의미한다. 키 공간의 크기는 전체 키 후보들의 개수를 의미하며 키 공간이 크면 클수록 전사공격에 소요되는 시간이 늘어난다.

단일 치환 암호를 전사공격으로 해독할 경우 키 공간은 26! = 2^88이며, 1초에 10억개의 키를 적용하는 속도로 조사한다고 해도, 모든 키를 조사하는데 120억년 이상의 시간이 소요된다.

2. 빈도분석

빈도 분석에 의한 해독

전사 공격에서 단일 치환 암호를 해독하는 것은 어려우나 빈도 분석을 사용하면 단일 치환 암호도 해독이 가능하다. 빈도 분석은 암호문 속의 영어 알파벳 출현 빈도와 the와 같은 단어를 통해 유추하는 방법이다.

빈도 분석을 이용한 암호 해독의 특징은 다음과 같다.

1) 빈도가 높은 문자뿐만 아니라 빈도가 낮은 문자도 단서
2) 단어의 단락을 알면 그것도 단서
3) 암호문이 길면 해독에 용이
4) 같은 문자가 연속해서 나타나면 그것 또한 단서

빈도 분석에 강한 암호

단일 치환 암호에서 빈도 분석이 가능했던 이유는 평문에 등장하는 문자의 빈도가 일치하기 때문이다. 다중 치환 암호는 평문에 등장하는 문자의 빈도와 암호문에 등장하는 문자의 빈도를 다르게 만드는 암호 알고리즘이므로 빈도 분석에 강하다. 다중 치환 암호에는 비제네르 암호, 힐 암호, 에니그마 기계 등이 있다.

0개의 댓글