1581, 75/80 회원가입  로그인  
   williamlee
   [자작] W's 암호학(Cryptology) - 에니그마

http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Lectures&no=1491 [복사]


" B D Z G O  W C X L T "  --> 이건 제가 어떤 문자를 암호화 해 본 것입니다.

원래 문자는 바로 " A A A A A  A A A A A " 이거 였습니다.

'같은 문자를 암호화 했는데 전부 다른 문자들이 나오네??' 라는 의문이 들지 않나요??

이 암호문은 MyEnigma 라는 아이폰 어플을 다운받아서 회전자는 "I, II, III  로터를 순서대로 사용"하여 "AAA 기본 세팅"에 "B타입의 리플렉터"를 사용하여 "플러그 연결을 하지 않은 상태"로 암호화 한 문장입니다.

좀 복잡하죠??

제가 따옴표로 묶어논 문장은 총 4개 입니다.

4개를 따옴표로 묶은 이유는 에니그마 라는 기계의 경우의 수를 증가시켜주는 요소가 총 4가지 이기 때문입니다.

에니그마 암호화 방식을 이해하기 위해서는 말로써 이해하는것은 어렵기때문에 에니그마 관련 프로그램을 직접 실행해 보고 대충 이런거구나 하는 감을 잡아보는게 나을듯 합니다.

Enigma Simulator 프로그램 주소입니다. 이곳에서 역시 초기세팅이 같으면 MyEnigma라는 어플과 똑같은 결과를 얻을 수 있습니다.
http://users.telenet.be/d.rijmenants/EnigmaSim.zip

Enigma 는 발음상 '에니그마, 애니그마, 이니그마, 어니그마 등등' 으로 나라별로 조금 다르게 불려집니다.

에니그마는 1923년 독일출신인 엔지니어 셀비우스 라는 사람이 개발 했으며 세계 2차대전 중 독일의 주력 암호화 방식이었습니다.
위에서 보시다시피, 알파벳에 상관없이 서로 연관성없는 문자들로 암호화 되기 때문에 알파벳 빈도수를 이용해서 암호를 풀수 없다는 특징을 가지고 있습니다.

이방식은 자판의 알파벳을 하나 하나 누를때 마다 전기적으로 매번 재배치가 이루어 지도록 설계되었습니다.
그렇기 때문에 같은 글자를 똑같이 눌러도 다른 문자로 암호화가 되는 원리입니다. 자판의 재배치는 에니그마 기계 윗부분의 회전자에 의해서 결정됩니다. 회전자는 기본 3개 이며 총 26개의 알파벳이 쓰여져 있는 톱니바퀴 모양으로 되어있으며 이것을 통해 26 * 26 * 26 = 17576 가지의 자판배열을 형성할 수있습니다.

이 회전자는 여러가지 타입이 있습니다. 각 타입의 명칭은 로마숫자표기법을 사용하여 I, II, III, IV, V ,VI, VII, VIII 그리고 베타 타입, 감마 타입이 있습니다. (사실 각 타입은 자신이 원하는데로 만들어서 사용할 수 있고, 회전자의 개수도 더 늘려서 만들 수 있습니다.암호화 하는 사람 마음대로 응용가능)
이 타입의 배치 순서를 조절 하여 회전자 3개를 형성 할수 있기 때문에 이로 인해서 경우의 수는 더욱 늘어나게됩니다.(회전자를 3개라고 생각하면 8*7*6 = 336가지의 경우의 수를 곱할수 있음)

그리고 회전자 옆에 붙어서 자판배열을 한번더 흩뜨려주는 리플렉터(반사체) 라는 것이 있어서 경우의 수를 더욱 늘려주게 됩니다. 이 리플렉터는 B 타입과 C타입을 주로 사용하였습니다.(A , D 타입도 있음.)

여기에 더해서 자판 배치를 플러그 연결을 통해 다양하게 바꿀 수 있습니다. 플러그 연결은 프로그램상 아랫부분을 클릭 하면 나오는데 알파벳 2개를 서로 플러그로 연결시키는 방식입니다. 플러그 연결은 2개씩 짝으로만 이루어 질수 있으며 이 방법을 이용하여 26 C 2 = 325가지의 경우의 수가 더 곱해지게 됩니다.

이렇듯 4가지의 배치 형태를 완벽하게 알아야만 암호를 해독할 수 있는 구조이고, 실제 전쟁에서는 48시간마다 배치 형태를 바꿔가면서 사용했고, 배치 형태를 기록해 놓은 암호표는 물에 잘 녹는 종이로 만들어 위급시에 바다에 던져서 적군에게 빼앗기지 않게 조치를 취했다고 합니다.

하지만,
이 암호문 역시 해독되었습니다. 어떻게 해독 되었을까요??

에니그마는 한가지 문자를 다양한 문자로 표현할 수는 있다는 장점이 있지만. 위에 경우의 수를 읽다보면 생각보다 경우의 수가 크지 않다는 것을 알 수 있습니다.
즉, 에니그마 방식은 사람이 직접 하나하나 해독하기에는 경우의 수가 많을 지는 몰라도, 무언가 사람보다 빠르게 해독해주는 기계가 있다면 해독이 가능하다는 것이지요.
물론 그 당시에는 컴퓨터가 없었습니다.  

이 암호문을 해독하기 위해서 영국 정부는 에니그마 암호를 해독하기 위한 암호 학교를 세웠고, 앨런튜링이 진공관을 이용한 전자식 에니그마 해독기(Colossus)를 발명하게 됩니다.
초창기 이 해독기는 1초에 5000글자를 읽을수 있었으며, 점점 성능은 향상되게 됩니다.
그리고 이 해독기를 이용하여 모든 가능한 조합들을 검사하여 암호문을 해독할 수 있었다고 합니다. 이 해독기의 원리를 이용하여 Mark 1 이라는 전자식 계산 기계가 개발되게 됩니다.

  Hit : 14843     Date : 2010/08/06 04:24



    
DeathStalker 와우 ㅎㅎ 잘보고 갈께요^^ 형 2010/08/07  
bywords 잘 보고 갑니다~ 2010/08/10  
Cpgroot 잘보고 감 ^_^ ..~ 2010/08/18  
101   허접 팁 Setuid 쉽게 찾기 -_-;[3]     ttongfly
09/10 14813
  [자작] W's 암호학(Cryptology) - 에니그마[3]     williamlee
08/06 14842
99   레이스 컨디션(경쟁 조건)[14]     소유
09/06 14854
98   리눅스 설치 + Windows설치(생초보에게 좋은 강좌)!![3]     승리의박성환
04/15 14854
97   [자작] FTZ 트레이닝 1~10까지 간단하게 정리[14]     소울
03/01 14892
96   [링크+자작] 텔넷관련과 텔넷이 안될때의 해결법과 한글깨짐[6]     초콜렛나인
03/02 14906
95   네트워크 개념 휘어잡기 2[16]     소유
09/11 15017
94   리눅스설치후 윈도우 설치 & grub 복구     exit96m
03/02 15055
93   [자작] 웹봇을 만들어 보자.[11]     kjwon15
02/08 15096
92   맥북 프로 한영전환 키보드 레지스트리[6]     푸른하늘
10/21 15143
91   버퍼오버플로우 by 오하라[3]     소유
07/07 15197
90   [펌] PC키퍼 깨기[4]     dzhfldk
08/22 15283
89   리눅스 명령어 마스터 5[8]     소유
09/06 15409
88   [자작] 구글 검색법[13]     초콜렛나인
02/08 15449
87   Overflow 공격 기법들에 대한 정리 by 버스트     소유
07/07 15616
86   Xp Best Tip 30가지!!(그대는 알고있는가???)[23]     chagang531
09/13 15641
85   VI편집기 명령어 및 사용법 정리[6]     ntmaster99
09/16 15790
84   꼭배우실길바람니다[5]     netwow1
12/14 15814
83   [특별] find 명령어[7]     소유
09/09 15843
82   [펌] 공유 메모리 멀티 프로세서(Shared Memory Multiprocessor, SMP)     qpt0707
03/05 15876
[1]..[71][72][73][74] 75 [76][77][78][79][80]

Copyright 1999-2024 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org & Wowhacker.com