본문 바로가기
취미생활/게임 공략, 리뷰

[Steam] Cypher / 스팀 암호 게임 / 암호 해독 / Cryptography - 5. POLYALPHABETIC SUBSTITUTION 공략

by 개냥지 2020. 8. 27.

지난 글까지 해서 벌써 Cypher의 기본 여섯 개의 방 중 세 개의 방을 완성하였다..! 세 번째 방에서 마지막 문제는 답만 입력했지만.. ㅋㅋㅋㅋㅋ 그래도 이번의 네 번째 방은 내 힘으로 모든 문제를 풀어서 아주 뿌듯했다..! 그리고 이번 테마의 마지막 문제는 특히 어려웠는데, 그래서 KEY를 찾아서 전체 글이 해석될 때 그 짜릿함이란 정말 말로 표현할 수가 없었다ㅜㅜㅜ 행복해~~

 

네 번째 방에 들어가면 이런 보드가 날 반겨준다..! 영어 공부부터 시작해보실까 ㅋㅋㅋ

 

Polyalphabetic ciphers attempt to fix the flaws of the monoalphbetic cipher by using more than one substitute alphabet. This renders frequency analysis useless as a single cipher symbol can now represent multiple different plaintext letters.

다중알파벳 암호는 둘 이상의 대체 알파벳을 사용하여 단일알파벳 암호의 결함을 고치려는 시도에서 만들어졌다. 주파수 기법은 하나의 암호 기호가 여러 종류의 원래 글자들을 나타낼 수 있기 때문에 무용지물이 된다.

 

The most commonly used polyalphabetic cipher is the Vigenere cipher due to its ease of use. First a key word is selected such as "KEY". The first letter of the planetext message is enciphered by rotating its position 11 places in the alphabet (K=11), the second letters is rotated 5 places (E=5) and the third 25 places (Y=25). The pattern repeats in this way across the entire plaintext.

가장 일반적으로 사용되는 다중알파벳 암호는 그 용이성 때문이 Vigenere 암호이다. (Vigenere는 16세기의 프랑스 암호학자 이름이라고 한다) 먼저 "KEY"와 같은 키워드를 선택한다. 암호화하려는 메세지의 첫 번째 글자는 K가 11번째 알파벳이므로 11칸을 이동하여 암호화된다. 두 번째 글자는 E가 5번째 알파벳이므로 5칸을 옮겨 암호화되고, 세 번째는 Y가 25번째 알파벳이므로 25칸이다. 이 패턴이 전체 텍스트에 걸쳐 반복된다.

 

The same plaintext letter can now be enciphered using 3 different symbols, for example the letter 't' using the keyword "KEY" can be enciphered as either "E", "Y" or "S" depending on its position. This makes cracking the cipher much more difficult, but not impossible.

같은 메세지라 할지라도 다른 세 가지의 키워드 글자로 암호화될 수 있다. 예를 들어 t는 KEY라는 키워드로 암호화되었을 때, 그 위치가 어디에 있냐에 따라 E 또는 Y 또는 S가 될 수 있다. 이는 암호를 해독하는 걸 더 어렵게 만들지만, 해독이 불가능하지는 않다.

 

The first step in cryptanalysing a Vigenere cipher is to determine the key word's length. Begin by looking for repeated sequences of letters in the ciphertext. When a repetition occurs it is likely that the same plaintext letters have been enciphered using the same key letters, the longer the repeated phrase is the more sure of this we can be.

비즈네르 암호를 해독하기 위해서는 먼저 키워드 단어의 길이를 알아내야 한다. 암호문에서 반복되는 문자열을 찾는 것부터 시작하라. 반복이 발생하면 동일한 텍스트 문자가 동일한 키 문자를 사용하여 암호화되었을 가능성이 높으며, 반복 구문이 길어질수록 우리는 이를 더욱 확신할 수 있다.

 

If you then count the distance between the start of each repeated phrase, we know the key must fit precisely in this space. By comparing many of these gaps and looking for a common length that would fit in all we can determine the probable key length.

그런 다음 반복된 각 구문의 시작 사이의 거리를 알면, 우리는 이 키가 이 공간에 정확히 맞아야 한다는 것을 알고 있다. 이러한 많은 간격을 비교하고 키워드 길이를 결정하는 모든 조건에 맞는 공통 길이를 찾음으로써 가능한 키 길이를 결정할 수 있다.

 

Once the key length is known the text can be split up into a set of monoalphabetic ciphers according to which key letter was used during encipherment, and then solvea as usual.

일단 키 길이가 알려지면 텍스트는 암호 해독 중 사용된 키 문자에 따라 단일알파벳 암호로 분할된 후 평소와 같이 해결할 수 있다.

 

1. FLASH

더보기

답: THUNDER AND LIGHTNING

풀이: 첫 번째 문제는 다중알파벳 암호를 이해하기 위해 만들어진 것으로 보인다. 전체 문자열을 순서대로 6-12-1-19-8칸(F-L-A-S-H) 씩 거꾸로 이동하면 된다. 그러면 위와 같은 답이 나온다.

 

2. JCWSVLIVLVGSJJFJCWCVL

더보기

답: MAT

풀이: 먼저 반복되는 문자열을 찾아보자. JCW가 반복되는 문자열인데, 첫 번째 JCW에서 두 번째 JCW까지의 문자 갯수는 첫 번째 JCW를 포함하여 15개이다. 따라서 키워드의 길이는 15의 인수인 3이나 5일 확률이 높은데, 나는 반복되는 문자열의 길이도 3이므로 키워드의 길이가 3일 것이라 예측하였다. 그 후 무적의 THE 전법을 사용하여 원래의 문자열이 THE로 시작할 것이라는 킹리적갓심을 해보았다. ㅋㅋㅋㅋㅋㅋ 그러면 키워드는 PUR이 되고, 마지막 단어 CVL은 MAT으로 해독된다.

 

3. LAFLUIWOYWPADUFHSNBVSWVNDZQDUF

더보기

답: MONOGRAPH

풀이: 마찬가지로 반복되는 문자열을 먼저 찾아보자. DUF와 LUE가 반복되는 것을 알 수 있다. DUF는 두 번, LUE는 세 번 반복되는데, DUF들의 문자열 간격은 15, LUE들의 문자열 간격은 각각 34, 42였다. 반복되는 Keyword의 길이는 이들의 공통인수여야 하므로 3일 수밖에 없다. 따라서 나는 아래 사진처럼 보기 편하게 밑줄을 쳐서 각 세트를 단일알파벳 암호로 두고 풀었다.

예를 들어 분홍색으로 밑줄친 두 번째 글자들을 보면 U가 12개로 가장 많고 A는 11개로 그 다음, P와 L은 9개로 세 번째로 많았으며 B나 I는 하나로 있는 것들 중에선 가장 적었다. 그러면 여기에 어떤 Key 문자를 사용하여 해독할 수 있을지 생각해보자. 지난 단일알파벳 암호에서 알파벳 중 E, T, A 순으로 많이 쓰였던 것을 기억하자. U가 가장 많으므로 원래의 문자는 e일 것으로 예측하면 사용한 Key 문자는 P가 된다. 그러면 A에 해당하는 원래 문자는 k인데 11개나 많이 쓰였을까? 흠... P는 z인데 9개나 사용되었을 리 없다. 그러면 U가 t인 경우는? 이와 같이 생각하다 보면 U가 n일 때 Key 문자는 G가 되고, A는 t, L은 e, P는 i로 그 출현 빈도가 얼추 일치한다. 또한 이 때 B는 u, I는 b로 역시 빈도수가 낮은 알파벳들이다. 따라서 두 번째 Key 문자는 G인걸 알 수 있다. 같은 방법으로 첫 번째 글자들과 세 번째 글자들에 대해선 Key 문자가 각각 C, X인 것을 알 수 있다.

댓글