최근 수정 시각 : 2024-11-03 03:50:51
- 퍼플은 제2차 세계 대전 당시 일본에서 사용되던 외무성용 기계식 암호기로, 정식 명칭은 97식인자기(九七式印字機), 외무성용 암호기 B형(外務省用の暗号機B型)으로 불린다. 영어로는 Type B Cipher Machine으로, 퍼플은 코드네임이다.
- 해군 간부용(武官用) 암호기 97식 3형(海軍武官用の九七式印字機三型)과 해군 함정용 암호 97식 1, 2형은(海軍艦艇用の九七式印字機一・二型) 각각 코드네임 코랄과 제이드로 불리며 별도로 존재했다.
- 퍼플은 미국이 이 암호장치에 붙인 코드네임으로, 당시 미국 암호 해독반이 사용하던 바인더가 자주색이었기 때문에 붙인 이름이다.
- 기계식 암호기는 조합에 따라 수백억개가 넘는 경우의 수 때문에 해독하기가 몹시 어렵다. 기존 암호 체계란 것은 그 암호 체계만 이해한다면 해독할 수 있었던 것이었으나, 기계식 암호기의 등장으로 암호기를 탈취한다 하더라도 매일 유동적으로 변경되는 암호 체계를 파악할 수 없다면 애써 탈취한 암호기가 무용지물이 되는 상황이 발생하기 시작하였다. 그리하여 기존 암호 해독에는 언어학자가 주로 관여하였으나, 2차 세계 대전을 거치며 수학자가 기용되기에 이른다. 미국은 퍼플 해독을 위하여 윌리엄 프리드먼의 지휘 하에 1940년 말 퍼플 암호기 복제품을 만드는데 성공하였다.
- 퍼플은 전작인 레드(外務省用の暗号機A型, 외무성용 암호기 A형)의 치명적 약점을 그대로 이어받았다. 당시는 본국과 메시지를 전보로 주고 받았는데, 당시 국제전기통신연합 규정에 따라 "발음 가능한 단어"에 대해서는 돈을 적게 받곤 했다. 이에 일본 외무성은 단어를 발음 가능한 형태로 유지하기 위하여 모음 6글자와 자음 20글자를 따로 암호화하였는데 이는 모든 단어가 "어떤 단어"의 형태를 띄고 있는 치명적인 결과를 낳게 된다.#
- 미국 암호 해독반 이른바 "MAGIC"은 이 점을 분석하여 모음 6글자의 빈도를 분석하였다. 또한 외무성 전문에는 미국이 일본으로 보낸 영문 메시지가 그대로 포함되어 송부되곤 했는데, 이 또한 해독에 도움이 되곤 했다. 게다가 퍼플 보급 초기에는 퍼플로 보낸 메시지를 그대로 이전 세대 암호기인 레드를 사용하여 메시지를 재차 보내기도 했다. 1940년 9월경부터 같은 조합으로 세팅된 다수의 메시지를 분석하여 퍼플 메시지를 일부 해독하기 시작하였다. 당연히 일본군도 바보가 아니라 보안을 주기적으로 강화했는데, 강화 전 전보문에 이를 꼭 명시하는 바람에 미국측이 대비할 수 있었다.#
- 게다가 평문이 그대로 섞여 있는 경우도 많아 암호문 자체가 보안이 매우 약했다. 참고로 암호문에 평문 삽입이 얼마나 위험한 행위인지 알 수 있다. 일본의 동맹이었던 독일은 매일 오전 6시에 일기예보를 전송했는데, 영국 정보부는 이 메시지 첫 문구가 항상 "일기예보(Wetterbericht)"임을 알아냈다. 영국은 158,962,555,217,826,360,000개의 경우의 수가 있다는 그 악명 높은 에니그마를 즉시 해독하여 작전에 활용하곤 했는데, 해독에 걸리는 소요 시간은 단 20분에 불과했다. 이는 해독(해킹)에 있어 필수적인 추론 사항으로, 기지 평문 공격법(KPA, Known Plaintext Attack)이라 불리는 테크닉이다. 아무리 훌륭한 암호 생성 알고리즘이 있어도 그것을 사용하는 사람의 휴먼 에러는 어쩔 수 없는 문제.
- 1941년 미국 주재 독일 외교관 한스 톰센은 이를 알아채고 당시 동맹이었던 일본에 "퍼플이 해독당하고 있다"고 경고하였으나, 일본 정부는 퍼플이 뚫리는 것은 어불성설이라 판단, 이를 가볍게 씹고 계속 사용하다가 패배의 쓴 맛을 보게 된다. 참고로 사이 좋은 동맹인 독일도 종전 후 한참이 지나서야 에니그마가 뚫렸다는 걸 알게 된다.
- Github에 퍼플의 알고리즘이 올라와 있다.#
3. 관련 문서