에브리데이 크립토그래피 2/e — 2장(2)

Siwoo
Quantum Ant
Published in
5 min readSep 23, 2019

단일 문자 빈도 분석을 막으려 시도한 역사상의 암호화 시스템 세 개를 살펴보자.

1. 플레이페어 암호(Playfair Cipher)

플레이페어 암호는 쌍으로 된 문자(바이그램)를 바탕으로 작동한다는 점에서 색다르다.플레이페어 암호는 전처리 단계와 암호화 단계로 구성된다.

플레이페어 암호의 전처리

1. 문자’J’를 ‘I’로 대체하라

2. 평문을 문자 쌍으로 작성하라

3. 유사한 짝 사이에 ‘Z’를 삽입해 분리하라.

4. 수정된 평문의 문자 쌍을 다시 작성하라

5. 문자의 마지막 숫자가 홀라면 마지막에 ‘Z’를 더하라

플레이페어 암호의 예

플레이페어 암호의 미묘한 특성을 제대로 파악하는 데는 실제 사례가 매우 유익하다.평문 NATTERJACK TOAD를 암호화 하는 과정을 통해 알아 봅시다.

1. 첫째 한 번 나타나는 ‘J’를 ‘I’로 대체해 NATTERIACKTOAD로 바꾼다.

2. 이 평문을 문자의 짝으로 만들어 순서대로 작성한다.
NA TT ER IA CK TO AD

3. 두 번째 바이그램이 ‘TT’로 같은 단어가 나왔으므로 그 사이에 ‘Z’를 삽입.
NATZTERIACKTOAD

4. 수정된 평문을 다시 문자의 짝을 만들어 순서대로 재작성.
NA TZ TE RI AC KT OA D

5. 마지막으로 마지막 바이그램을 완성하기 위해 ‘Z’를 넣는다.
NA TZ TE RI AC KT OA DZ

여기까지가 전처리 과정에 해당하고 키를 이용하여 암호화를 한다.

1. 첫 번째 바이그램 문자인 NA는 키에서 같은 열에 놓여 있으므로 NA는 DN으로 암호화한다.

2. 다음 TZ는 같은 열이나 행에 놓여 있지 않다. 이 경우 규칙에 따르면 이 직사각형의 다른 두 모서리에 있는 문자로 암호화 해야 한다. 따라서 TZ는 DZ로 암호화된다. 마찬가지로 TE는 SR, RI는 HF로 암호화 된다.

3. AC는 동일한 행에 놓여 있으므로 CG로 암호화한다.

4. KT는 같은 열이나 행에 놓여 있지 않으므로 FS로 암호화한다. 마찬가지로 OA는 PT로 암호화한다.

5. DZ는 동일한 행에 놓여 있으므로 BD로 암호화한다.

따라서 암호문은 DNDWSRHFCGFSPTBD이다. 이 암호문을 해독하려면 키를 사용하여 절차를 거꾸로 진행하면 된다.

플레이페어 암호에 대한 분석

플레이페어의 키 공간은 10 ²⁵으로 매우 큰 키 공간을 갖고 있어 안전하고 단일 문자 빈도 분석도 쓸 수 없다. 하지만 플레이페어 암호에서 통할 수 있는 대체 빈도 분석 기법이 존재한다. 암호 분석가는 단일 문자 기법을 일반화해 바이그램의 빈도를 검토 할 수 있다. 플레이 페어 암호를 깨는 것은 가능하지만, 상당한 양의 데이터 처리를 요구하는 지루한 작업이다. 그러나 컴퓨터가 개발되고, 방대한 양의 데이터를 처리하는 일이 쉬워지면서 충분한 양의 암호문이 주어지면 깨기 쉬운 암호로 여겨진다.

2. 단성 암호화(homophobic encoding)

단일 문자 빈도 분석이 통하지 않도록 하는 대체 수단은 문자 빈도를 혼란에 빠트리는 방식이다. 단성 암호화의 착안점은 평문 문자를 여러 개의 ‘다른’ 암호문 문자로 암호화해 암호문 부호의 빈도 통계를 직접 혼동시키는 것이다.

단성 암호화의 목표는 모든 암호문 부호가 대략 비슷한 빈도로 나타나도록 암호화 시스템을 설계하는 것이다.

단성암호화의 문제점

단성 암호화의 심각한 문제가 두가지가 있다.

키 크기 — 단성 암호화의 키의 길이를 매우 개략적으로 표현하면 10,000비트 정도다. 현대 암호화 시스템의 기준에서 이것은 매우 큰 규모다.( AES의 키 크기는 128~256비트)

암호문 확장 — 아호문이 평문보다 훨씬 더 크다. 예를 들면 5비트의 평문을 10비트 크기의 암호문 부호로 암호화 된다. 이처럼 암호문의 크기가 늘어나는 것을 ‘메세지 확장’이라고 한다. 메세지 확장을 하게 되면 통신 채널로 보내는 비용이 높아지기 때문에 암호화 시스템에서는 보통 바람직하지 않은 특성으로 여긴다.

3. 비즈네르 암호

역사상 상당히 오랫동안 안전한 암호화 시스템으로 간주됐고, 민감한 정치적 정보나 군사 정보를 보호하는 데 자주 이용됐으며, ‘해독 불능의 암호’로 불리기도 했다.

비즈네르 암호는 단일 문자 빈도 분석을 무효화 하기 위해 ‘위치 의존성’을 이용하였다.

비즈네르 암호의 설명은 예로 보면 쉽게 알수 이해할 수 있다.

평문이 ABCDEF 이고, DIG라는 키워드를 사용하여 암호문을 만들어 보면,

이런 과정을 통해 D J I G M L 이라는 암호문이 만들어 진다.

비즈네르 암호의 암호화 분석

비즈네르 암호 기법에 쓰이는 키는 키워드다. 다른 길이의 키워드를 선택함으로써 키 공간의 크기가 조정 가능하다. 그러므로 적당히 긴 키워드를 사용한다면 키 공간의 크기는 비즈네르 암호에서 문제가 되지 않는다. 하지만 해독 불능의 암호라고 불리는 비즈네르 암호는 쉽게 깨질 수 있다. 키워드의 길이를 알고 있다면 컴퓨터를 이용해 쉽게 찾아내는 것이 가능하기 때문이다.

비즈네르 암호의 주목할 만한 가치가 있는 두 가지 관측

1.비즈네르 암호의 보안 수준은 키워드의 길이와 함께 높아진다.

2.일련의 요소 암호화 절차를 교대로 사용하는 설계 원칙은 효과가 좋고, 역사적으로 유명한 여러 암호화 시스템에서 사용돼 왔다.

--

--