제퍼슨 디스크

Jefferson disk
제퍼슨의 디스크 암호

제퍼슨 원반, 혹은 토마스 제퍼슨이 이름지은 바퀴나 디스크 세트를 사용하는 암호 체계로, 각각 가장자리에 알파벳 26자가 배열되어 있다. 글자의 순서는 디스크마다 다르며, 보통 어떤 식으로든 무작위로 스크램블된다. 각 디스크에는 고유 번호가 표시된다. 원반 중앙에 구멍을 뚫으면 차축 위에 쌓을 수 있다. 디스크는 분리할 수 있으며 원하는 순서에 따라 차축에 장착할 수 있다. 디스크의 순서는 암호키이며, 송신자와 수신자 모두 디스크를 동일한 사전 정의된 순서로 배열해야 한다. 제퍼슨의 장치에는 36개의 디스크가 있었다. [칸, 페이지 194]

일단 디스크가 합의된 순서대로 차축에 놓이면, 송신자는 원하는 메시지가 한 줄에 철자가 표시될 때까지 각 디스크를 위아래로 회전시킨다. 그런 다음, 발신인은 일반 텍스트 메시지가 들어 있는 텍스트가 아닌 다른 디스크의 텍스트 행을 복사할 수 있다. 수신자는 디스크를 합의된 순서대로 배열하고, 디스크를 회전시켜 암호화된 메시지를 한 줄에 철자하도록 한 다음, 일반 텍스트 메시지, 즉 완전히 횡설수설하지 않은 행을 볼 때까지 행을 둘러보면 된다. 읽을 수 있는 두 개의 메시지가 있을 가능성은 극히 적지만, 그것은 사람 코딩에 의해 빠르게 확인될 수 있다.

1795년 토마스 제퍼슨에 의해 처음 발명된 이 암호는 잘 알려지지 않았고 1세기 후 대 암호의 정복자였던 에티엔 바제리에 의해 독자적으로 발명되었다. 시스템은 1923년부터 1942년까지 미 육군에 의해 M-94로 사용되었다.

이 시스템은 동일한 디스크 순서(즉, 동일한 키 사용)로 둘 이상의 텍스트 행을 암호화하는 데 사용되는 경우 현대의 코드 해독에 대해 안전한 것으로 간주되지 않는다. 암호화 분석참조하십시오.

작전

메시지를 암호화하기 위해 앨리스는 디스크를 회전시켜 디스크 스택의 한 "행"을 따라 일반 텍스트 메시지를 생성한 다음 다른 행을 암호 텍스트로 선택한다. 메시지를 해독하기 위해, 밥은 그의 실린더에 있는 디스크들을 회전시켜 행을 따라 암호문을 만든다. 앨리스와 밥이 줄의 간격띄우기를 안다면 편리하지만, 밥은 단순히 원통 주위를 둘러보며 말이 되는 줄을 찾을 수 있기 때문에 꼭 필요한 것은 아니다.

예를 들어, 10개의 디스크만 사용하는 단순화된 "토이" Bazeries 실린더는 각 디스크가 한 줄로 "포장 해제"되고 각각 지정된 숫자로 표시되어 아래와 같이 조직될 수 있다.

1: < ZWAXJGDLUBVIQHKYPNTCRMOSFE <
2: < KPBELNACZDTRXMJQOYHGVSFUWI <
3: < BDMAIZVRNSJUWFHTEQGYXPLOK <
4: < RPLNDVHGFCUKTEBS신동방신기이이즈엠좌오 <
5: < IHFRLABUTSGJVDKCPMNZQWXY <
6: < AMKGHIWPNYCJBFZDRUSLOQX벳 <
7: < GWHSPYBXIZULVKMRAFDCEONJQ <
8: < NOZUTWDCVRJLXKISEFAPMYGHBQ <
9: < XPLTDSRFHENYVUBMCQWAIKZGJ <
10: < UDNAJFBOWTGVRSCZQ켈MXIHP <

이 Bazeries 실린더의 디스크 순서인 "키"가

7,9,5,10,1,6,3,8,2,4

앨리스는 "지금 다시 처리"라는 메시지를 밥에게 보내고 싶어하고, 그녀는 키에 따라 디스크를 재배열하고 각 디스크를 회전시켜 왼쪽에 보이는 일반 텍스트를 선명하게 하기 위해 다음과 같이 간격을 더했다.

7: < R AFDCE O NJQGWTSPYBXIZULVKM <
9: < E NYVUB M CQWAIKZGJXPLTDSRFH >
5: < T SGJVD K CPMNZWXIHFRLABEUO >
10: < R SCZQK E LMXIHPUDNAJFBOWTGV <
1: < E ZWAXJ G DLUBVIQHKYPNTCRMOSF <
6: < MKGHI W PNYCJBFZDRUSLOQX벳 <
3: < T EQGYX P LOCKBDMAIZVRNSJUWFH >
8: < NOZUTWDCVRJLXKISEFAPMYGHBQ <
2: < O YHGVS F UWIKPBELLNACZDTRXMJQ <
4: < W AORPL N DVHGFCUKTEBS신방신기YIZMJ <

그런 다음, 그녀는 일반 텍스트에서 위로 실린더의 6번째 행에서 암호문을 선택한다. 이 암호문은 또한 위에서 공백으로 강조되어 있으며, 다음과 같은 내용을 제공한다.

옴케GWPDFN

밥은 암호문을 얻으면 키 배열로 실린더의 디스크를 되감아 주고, 암호문을 주기 위해 디스크를 회전시킨 다음 암호문으로부터 6행 아래쪽으로 평문을 읽거나, 단순히 실린더 너머로 이해가 되는 행을 찾아본다.

군사 암호를 위한 기본 사항

바제리 실린더는 1922년 도입돼 파커 히트의 작품에서 파생된 미국 'M-94' 암호기의 기초였다. 1914년에 Hitt는 나무틀에 슬라이드를 사용하여 하나의 프로토타입을 만들고, 그 슬라이드 위에 연속해서 두 번 인쇄한 암호문자를 가지고, 그 다음엔 나무의 원반을 사용하여 다른 것을 만드는 바제리 장치 실험을 했었다. 그는 자신의 실험을 시그널 군단 지휘 계통 위로 전송했고, 1917년 조셉 마우보른이 계획을 다듬어 최종 결과는 M-94가 되었다.

M-94는 스핀들에 25개의 알루미늄 원반을 사용했다. 제2차 세계 대전 초기까지 연방통신위원회(FCC)의 육군, 해안경비대, 무선정보과에서 사용하였다. 육군은 1930년대에 도입되어 제2차 세계대전을 통해 미 해군과 미 국무부가 사용하던 'M-138-A' 암호기로 다시 히트의 원래 슬라이드 방식으로 바뀌었다. M-138-A는 100개의 스트립을 특징으로 하며, 30개는 어떤 하나의 암호 세션에서도 사용하기 위해 선택되었다. 그것은 전쟁 기간 동안 표준 상용 전신 부호라도 우스울 정도로 안전하지 않은 코드를 사용했던 국무부에 있어서 상당한 보안 개선이었다. 그것들은 훨씬 더 쉽게 부서졌다.

암호해석

바제리 실린더는 당시 비교적 강력한 시스템(사용 중인 다른 많은 시스템에 비해)이었으며, 프랑스의 군사용 암호 분석가인 에티엔 바제리는 이를 해독할 수 없는 것으로 간주했다고 한다. 사실 난공불락의 경우는 거의 없으며, 1944년 독일 외무성의 '퍼스 Z S' 코드 해독 단체가 M-138-A를 균열했다. 그러나, 그 무렵 미국인들은 훨씬 더 정교한 암호 체계를 가동하고 있었다.

최초의 인쇄 암호장치(1874년) 중 하나로 유명한 프랑스의 암호학자 개탄 드 비아리스(가탄 앙리 리온 비아리지오 디 레제그노 후작)가 1893년 바제리스 실린더를 풀었기 때문에, 이 시스템에 대한 바제리의 신뢰는 그릇된 것이었다.

Bazeries 실린더의 주요한 약점은 각 디스크의 암호문자에 대한 일반 텍스트 문자와 암호 텍스트 문자의 오프셋이 정확히 같다는 것이다. 위의 예에서 이 오프셋은 6글자다.

들어, 한 암호 분석가가 위의 예에서 설명한 단순화된 Bazeries 실린더를 10개의 디스크로 캡처했다고 가정합시다. 그는 또한 실린더에 있는 디스크의 배열이나 키를 알아야 하기 때문에, 이것으로 메시지를 해독할 수 있을 만큼 충분하지 않아야 한다. 단순화된 이 Bazeries 실린더에서도 디스크의 가능한 순열 수는 다음과 같다.

— 디스크 배열의 시행착오 테스트를 손으로 수행하는 것은 완전히 비실용적이다. 컴퓨터는 10개의 디스크에 대해 거의 사소한 것에도 불구하고 제퍼슨이 사용한 36개의 디스크에 대해서는 그렇지 않다. 36! ≈ 2138.

이제 홈즈가 아기 침대를 가지고 있다고 가정해봅시다. 예를 들어, 단순화된 Bazeries 실린더에 의해 암호화된 일반 텍스트의 첫 번째 블록이 문자열이라는 것을 그가 알고 있다고 가정합시다.

헤이힐히틀러

편리하게도, 이것은 정확히 10글자 길이로, 단순화된 바제리 실린더로 하나의 패스로 암호화할 수 있다. 해당 암호문은 다음과 같다.

AZNCZEAPBH

그 메시지의 나머지 부분은 현재로선 완전한 수수께끼다. 그러나 홈즈는 이 아기 침대를 사용하여 다음과 같은 메시지의 모든 블록을 해독할 수 있게 할 수 있다.

홈즈는 어떤 디스크가 어떤 문자를 암호화하는 데 사용되는지 전혀 알지 못하지만, 그는 평문자와 암호문자 사이의 오프셋이 모든 10문자에 대해 동일해야 한다는 것을 알고 있다. 이것은 크립의 일반 텍스트와 암호 텍스트 문자를 줄지어 놓고, 그것들을 쌍으로 형성하고, 각 디스크에 대한 일반 텍스트 문자와 암호 텍스트 문자의 오프셋을 결정하고, 그리고 나서 오프셋 매트릭스에서 공통 오프셋을 검색함으로써 암호에 침투하는 방법을 제공한다.

홈즈는 두 세트의 편지 사이의 서신은 다음과 같은 것임을 알고 있다.

  • hA
  • eZ
  • iN
  • lC
  • HZ
  • IE
  • tA
  • lP
  • eB
  • rH

이제 홈즈는 디스크 1을 가지고 있는데, 그것은 암호문자를 가지고 있다.

1: < ZWAXJGDLUBVIQHKYPNTCRMOSFE <

첫 번째 문자 쌍은 "h:A" 그리고 홈즈는 원반을 따라 세어 두 글자 사이의 간격띄우기가 15라는 것을 결정한다. 두 번째 문자 쌍은 "e:Z"이고, 그는 바로 오프셋이 1인 것을 본다. 디스크 1의 각 문자 쌍에 대해 이 프로세스를 계속한 후 다른 9개의 디스크에 대해 동일한 절차를 수행하여 다음 표를 생성한다.

       h:A  e:Z  i:N  l:C  h:Z  i:E  t:A  l:P  e:B  r:H        ________________________________________________   1:    15    1    6   12   13   14   10    9   10   19   2:    14    5    6    3   16    4   22   23   25    7   3:    15   15    4    2   17   12   14   25   10    7   4:    18    7   10    7   14   20   12   25    1    6   5:     4   14   20   13   20    7   21   14   25   24   6:    22   16    3   17   10   19    1   14   14   14   7:    14   15   14    8    7   12   15   19   12   13   8:    21   12   12   22    5    2   14    8    8   14   9:    11   14   15   14   15   14   16   25    5    2   10:    5   23    5   21   17   21   20    6   14   12 

홈즈가 식탁을 준비하면서 '14'라는 가치가 공통 요소로서 재빨리 그에게로 뛰어나오며, 식탁을 완성한 것은 유일한 공통 요소임을 증명한다. 이것은 분명히 일반 텍스트에서 암호 텍스트까지의 행 오프셋이다. 그는 명확하게 하기 위해 다른 값들을 제거한다.

       h:A  e:Z  i:N  l:C  h:Z  i:E  t:A  l:P  e:B  r:H        ________________________________________________   1:     -    -    -    -    -   14    -    -    -    -   2:    14    -    -    -    -    -    -    -    -    -   3:     -    -    -    -    -    -   14    -    -    -   4:     -    -    -    -   14    -    -    -    -    -   5:     -   14    -    -    -    -    -   14    -    -   6:     -    -    -    -    -    -    -   14   14   14   7:    14    -   14    -    -    -    -    -    -    -   8:     -    -    -    -    -    -   14    -    -   14   9:     -   14    -   14    -   14    -    -    -    -   10:    -    -    -    -    -    -    -    -   14    - 

이제 홈즈는 원통 위의 글자의 정확한 순서를 반영하기 위해 원반들을 다시 배열한다. 이것은 테이블의 주 대각선을 따라 모든 셀에 "14"라는 값이 나타나도록 테이블의 행을 재정렬함으로써 이루어진다. 이 경우, 디스크의 배열에는 모호함이 없지만, 있었다면, 암호문의 후속 블록에 대한 약간의 테스트는 적절한 순서를 드러낼 것이다.

       h:A  e:Z  i:N  l:C  h:Z  i:E  t:A  l:P  e:B  r:H        ________________________________________________   2:    14    -    -    -    -    -    -    -    -    -   5:     -   14    -    -    -    -    -   14    -    -   7:    14    -   14    -    -    -    -    -    -    -   9:     -   14    -   14    -   14    -    -    -    -   4:     -    -    -    -   14    -    -    -    -    -   1:     -    -    -    -    -   14    -    -    -    -   3:     -    -    -    -    -    -   14    -    -    -   6:     -    -    -    -    -    -    -   14   14   14   10:    -    -    -    -    -    -    -    -   14    -   8:     -    -    -    -    -    -   14    -    -   14 

이를 통해 다음과 같은 핵심을 찾을 수 있다.

2,5,7,9,4,1,3,6,10,8

현실 세계에서, 바제리 실린더는 더 많은 디스크(일반적으로, 10개가 아니라 20개 또는 30개)를 가지고 있고, 전체 실린더에 걸쳐 있는 하나의 크립이 있을 가능성은 적다. 그럼에도 불구하고 위에서 설명한 접근법은 여전히 유효하다. 실린더에 30개의 디스크가 있고 한 개의 크립이 5개의 문자만 가지고 있다고 하더라도 홈즈는 5개의 문자 쌍에 대한 30개의 디스크 각각에 대한 오프셋 테이블을 쌓고, 그것을 사용하여 크립에 사용되는 오프셋과 디스크의 가능성을 좁힐 수 있었다.

홈즈는 거의 확실히 상쇄를 빨리 고정시키고 디스크의 순서에 대한 개선된 지식을 제공하면서, 같은 메시지에 있는 몇 개의 독립적인 아기 침대와 그 절차를 반복할 수 있었다. 일단 오프셋이 결정되면, 홈즈는 크립을 만지작거려 결정하지 않은 글자의 직선적인 전이에 해당하는 것을 가지게 되고, 그것을 깨기 위해 다중 애너그램과 같은 방법을 사용하게 된다.

원천

외부 링크