본문 바로가기

[Wargame Write-up]/CodeEngn Challenges

[CodeEngn Challenges] Cryptology 02

 

대치 암호(substitution cipher) 문제이다.

 

암호 테이블을 세어 보면 26자이다. 알파벳과 대응될 가능성이 있다.

 

이를 전제로, 문제에서 준 단서를 표로 정리해보면 다음과 같다.

 

 

 

암호 테이블에서 아직 알려지지 않은 글자는 e, h, o, r, s, t이며,

 

정상 테이블에서는 e, f, p, s, t, y가 정해져 있지 않다. 이에 대한 대응 관계를 추론해야 한다.

 

주어진 암호문을 이 표를 토대로 치환해보면,

 

yefpsqfgt -----------> ?????c?d?

 

정해지지 않은 알파벳으로 구성할 수 있는 조합 중, f, t를 각각 o, e라고 하면

 

qfgt -----------> code

 

로 변환할 수 있다. 테이블을 다시 그려보면, 이렇게 추가된다.

 

 

 

남은 h, r, s, t에 대해, 가능한 조합을 알아보기 위해 다음과 같이 프로그래밍 한다.

 

 

 

결과는 이렇게 되는데, 이 문제 역시 정상적인 단어로 이루어진 것이 답이 된다.