편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.
최신판 | 당신의 편집 | ||
1번째 줄: | 1번째 줄: | ||
[[분류:암호]] | |||
== 개요 == | == 개요 == | ||
18번째 줄: | 19번째 줄: | ||
== 해독 == | == 해독 == | ||
암호문이 많다면 어렵지 않게 해독할 수 있다. 각 문자에 따라 빈도수가 다르기 때문이다. {{ㅊ|뭔가 [[백:오리]]같다.}} 알파벳의 경우 E가 많이 사용되는 탓에 빈도수가 높은 알파벳이 E일 확률이 높다. {{ㅊ|알파벳은 26가지밖에 | 암호문이 많다면 어렵지 않게 해독할 수 있다. 각 문자에 따라 빈도수가 다르기 때문이다. {{ㅊ|뭔가 [[백:오리]]같다.}} 알파벳의 경우 E가 많이 사용되는 탓에 빈도수가 높은 알파벳이 E일 확률이 높다. {{ㅊ|알파벳은 26가지밖에 안되는데 다 해보면 되지}}는 의미가 없는 행동인게, 모든 알파벳에 대해 E일 가능성을 시험해 보는 건 그야말로 노가다다. 게다가 한참 풀어나가지 않으면 그 알파벳이 E인지를 파악할 수 없는 경우도 생기므로 작업 효율에 있어서 도움이 안된다. | ||
== 예 == | == 예 == | ||
72번째 줄: | 73번째 줄: | ||
|} | |} | ||
여기서 빈도수가 높은 알파벳은 '''J'''와 '''Y'''{{ㅈ|암호문은 굵은 표시}}이다. 알파벳 E가 이 둘 중 하나로 바뀌었다고 추측할 수 있다. | 여기서 빈도수가 높은 알파벳은 '''J'''와 '''Y'''{{ㅈ|암호문은 굵은 표시}}이다. 알파벳 E가 이 둘 중 하나로 바뀌었다고 추측할 수 있다. | ||
* 만약 E가 '''J'''로 바뀌었다면, '''Y'''는 T가 된다. | * 만약 E가 '''J'''로 바뀌었다면, '''Y'''는 T가 된다. | ||
* 만약 E가 '''Y'''로 바뀌었다면, '''J'''는 D가 된다. | * 만약 E가 '''Y'''로 바뀌었다면, '''J'''는 D가 된다. | ||
93번째 줄: | 94번째 줄: | ||
※ 이 표는 편의상 2줄만 기재했다. | ※ 이 표는 편의상 2줄만 기재했다. | ||
첫번째 변종은 위에서 처럼 매번 서로 다른 알파뱃 목록을 대응시키는 것이다. 첫글자는 위 아랫줄이 모두 알파벳 순서대로 써진 표를 사용해서 암호화 하고, 다음 글자를 암호화 | 첫번째 변종은 위에서 처럼 매번 서로 다른 알파뱃 목록을 대응시키는 것이다. 첫글자는 위 아랫줄이 모두 알파벳 순서대로 써진 표를 사용해서 암호화 하고, 다음 글자를 암호화 할때는 밑줄을 옆으로 한칸씩 밀어서 표를 재구성한 뒤 사용한다. 예를 들어서 위의 3줄짜리 구성에서 첫 글자로 EE가 나왔다면, DC로 암호화된다. | ||
집에서 이 변종을 | 집에서 이 변종을 자작할때는 각 줄을 규칙성있게 만드는 게 좋다. 안그랬다가는 암호/복호에 필요한 엄청난 크기의 표를 통째로 전달해야한다. 하나의 정해진 행을 만들고, 매번 옆으로 한칸씩 밀어나가는 게 외우기 편하다. 작업을 편하게 하려면 26등분된 원판을 사용해 안쪽판이 회전할 수 있게 만들거나, 적당한 굵기의 원통에 종이를 감은 뒤 이걸 26등분 하고, 둘로 분할해 링 두개가 회전할 수 있게 만들어서 '어디서 시작할지'만 정하면 된다. 참고로 매일 '어디서 시작할지'를 바꿔 나가면 해독자를 한번 더 물먹일 수 있다.<s>근데 진짜 노출되면 안되는 거라면 [[PGP]]써라</s> | ||
별거 아닌것 같지만 '임의로 알파벳이 배치된 암호/복호화표 | 별거 아닌것 같지만 '임의로 알파벳이 배치된 암호/복호화표 여러개를 사용한다'라는 발상은 이후 제퍼슨 디스크에 그대로 적용된다. 발명자는 바로 그 [[토마스 제퍼슨]]. 제퍼슨 디스크는 알파벳 배치 순서가 서로 다른 복수의 원판과 이를 꽂는 통으로 만들어진 단순한 장치로 위 변종에서 줄의 순서를 임의로 정할 수 있는 물건인 셈인데, 사용법은 아래와 같다. | ||
{| class="wikitable" | {| class="wikitable" | ||
111번째 줄: | 112번째 줄: | ||
# 정해진 순서에 맞춰 바퀴를 설치한다. | # 정해진 순서에 맞춰 바퀴를 설치한다. | ||
# 전달받은 엉망진창 문장이 나오도록 바퀴를 돌린다. | # 전달받은 엉망진창 문장이 나오도록 바퀴를 돌린다. | ||
# 이 상태에서 만들어진 문장들을 찬찬히 살펴보면 한줄이 원래 문장이 | # 이 상태에서 만들어진 문장들을 찬찬히 살펴보면 한줄이 원래 문장이 되어있다. | ||
|} | |} | ||
별거 아닌 물건 같지만 제2차 세계 대전에서도 부분적으로 써먹었다고 한다.(...) | 별거 아닌 물건 같지만 제2차 세계 대전에서도 부분적으로 써먹었다고 한다.(...) | ||
=== | === 여러개를 하나에 배정하는 변종 === | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
127번째 줄: | 128번째 줄: | ||
|} | |} | ||
두번째 변종은 기호까지 동원해서 자주 나오는 알파벳에 | 두번째 변종은 기호까지 동원해서 자주 나오는 알파벳에 여러개의 알파벳/기호를 배치하는 것으로 역시 빈도 분석을 어렵게 할 수 있다. 단점이라면 순수하게 알파벳으로만 만든 카이사르 암호화 장치와는 달리 기호가 들어가므로 외우기 힘들다. 적어두자니 털리겠고, 외우자니 골아프고 이래저래 난감한 구조라는 게 문제. | ||
참고로 위의 표는 어디까지나 예시이므로 더 나은걸 만들어서 쓰자. 저렇게 했다가는 해독자가 '특수문자가 죄다 E아냐?'라고 생각하는 순간 깔끔하게 털린다. | 참고로 위의 표는 어디까지나 예시이므로 더 나은걸 만들어서 쓰자. 저렇게 했다가는 해독자가 '특수문자가 죄다 E아냐?'라고 생각하는 순간 깔끔하게 털린다. | ||
{{각주}} | {{각주}} | ||