암호학을 탐구하던 중 악명 높은 카이사르 암호의 결함에 대한 관심이 최고조에 달하는 칸 아카데미의 비디오를 발견했습니다.
영어로 긴 편지나 이메일을 쓸 때마다 의도치 않게 지문이 남게 됩니다. 자신이 작성한 메시지를 훑어보고 각 글자의 빈도를 세어보면 꽤 일관된 패턴을 발견하게 될 것입니다. 'e'는 전체 메시지에서 가장 많이 반복되는 문자일 가능성이 높습니다. 나는 이것을 테스트하기 위해 인터넷에서 임의의 우화를 가져왔고 내가 얻은 결과는 그것에서 예상했던 것과 같았습니다. 'e'는 실제로 가장 인기 있는 문자였습니다. 이 사실은 충분히 긴 모든 메시지에 적용됩니다.
Al-kindi가 발견한 결함은 암호화된 메시지의 빈도를 분석할 때 이제 다른 문자가 가장 많이 반복된다는 것입니다. 문자가 3에서 얼마나 이동했는지 확인하면 메시지가 대체되는 값을 찾을 수 있습니다. 예를 들어 'h'가 암호화된 메시지에서 가장 많이 사용되는 문자인 경우 시프트는 3일 가능성이 높습니다. 이제 교대를 반대로 하면 원본 메시지를 쉽게 얻을 수 있습니다. decoder.py
에서 암호화된 파일을 제공하면 메시지를 해독하여 인쇄합니다. 동일한 우화를 알파벳 세 글자씩 이동하여 암호화했는데, 여기서는 실제로 'h'가 가장 인기 있는 글자인 것으로 나타났습니다.
내 암호 결과를 재현하고 다른 메시지와 함께 탐색하려면 Python 외에도 matplotlib가 설치되어 있어야 합니다.
pip install matplotlib
사용하여 터미널에서 이 작업을 수행할 수 있습니다.기억하세요 : 디코더는 언어학과 통계의 원리에 따라 작동하므로 메시지가 길어질수록 결과가 더 정확해집니다.
가간 데바기리 © MIT