성태의 닷넷 이야기
홈 주인
모아 놓은 자료
프로그래밍
질문/답변
사용자 관리
사용자
메뉴
Digital Stories
방명록
최근 덧글
[정성태] Roll A Lisp In C - Reading ; https...
[정성태] Java - How to use the Foreign Funct...
[정성태] 제가 큰 실수를 했군요. ^^; Delegate를 통한 Bein...
[정성태] Working with Rust Libraries from C#...
[정성태] Detecting blocking calls using asyn...
[정성태] 아쉽게도, 커뮤니티는 아니고 개인 블로그입니다. ^^
[정성태] 질문이 잘 이해가 안 됩니다. 우선, 해당 소스코드에서 ILis...
[양승조
] var대신 dinamic으로 선언해서 해결은 했습니다. 맞는 해...
[양승조
] 또 막혔습니다. ㅠㅠ var list = props[i].Ge...
[양승조
] 아. 감사합니다. 어제는 안됐던것 같은데....정신을 차려야겠네...
글쓰기
제목
이름
암호
전자우편
HTML
홈페이지
유형
기타
생각의 전환
부모글 보이기/감추기
내용
<div style='display: inline'> <h1 style='font-family: Malgun Gothic, Consolas; font-size: 20pt; color: #006699; text-align: center; font-weight: bold'>책 - 네트워크 속의 유령</h1> <p> <br /> 예전에 아래와 같은 책을 읽은 적이 있었는데요.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > 이제 시작이야! 해킹과 침투 테스트: THE BASICS ; <a target='tab' href='http://www.yes24.com/24/goods/6310315'>http://www.yes24.com/24/goods/6310315</a> </pre> <br /> 해킹의 가장 중요한 첫 단계로 "탐색"을 말하고 있었지만, 사실 저는 크게 와닿지는 않았었습니다. 뭐랄까, "탐색으로 좋은 정보를 얻어내는 것"은 마치 사막에서 바늘 찾기 식의 행운을 바라는 것이라고 보였기 때문인데요.<br /> <br /> 최근에 ^^ <a target='tab' href='http://www.facebook.com/#!/jihun.jeon.16'>지인</a>의 추천으로 읽은 책에서 그 생각이 싹 바뀌었습니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > 네트워크 속의 유령 ; <a target='tab' href='http://www.yes24.com/24/goods/6751127'>http://www.yes24.com/24/goods/6751127</a> </pre> <br /> 위의 책은 소설이 아니고, 실제로 한때 미국 사회를 떠들썩하게 했던 "Kevin Mitnick"의 자전적인 내용을 담고 있는 실화입니다. 이 책을 읽다보면, '해커'란 골방에 틀어박혀서 컴퓨터만 만지는 사람이란 인식이 확 달라집니다. ^^<br /> <br /> 어쩌면, 이 책은 해킹에 관심있는 사람들을 위한 책이라기보다는, "보안"에 관심있는 "회사 임원"들이 읽어야 하지 않을까 싶은 정도입니다. (아울러, 공무원들의 필독서로 지정해야 한다고 봅니다. ^^)<br /> <br /> <hr style='width: 50%' /><br /> <br /> 그나저나... 내용 외에 또 다른 재미가 있는데요. 바로 각 장마다 암호화된 텍스트를 풀어내는 것입니다. 저도 ^^ 잠깐 한번 도전해 보았는데요. 일단, 처음 얼마간의 '홀수 장'의 암호는 쉽게 풀 수 있었습니다.<br /> <br /> 예를 들어 "01 험난한 출발"에 제공된 암호문은 "Yjcv ku vjg pcog qh vjg uauvgo wugf da jco qrgtcvqtu vq ocmg htgg rjqpg ecnnu?"인데요.<br /> <br /> 암호화 관련 책들을 좀 읽다 보면, 위의 암호문을 처음 보았을 때 대강의 특징들을 잡아낼 수 있습니다. 1) 띄어 쓰기 등으로 볼 때 평문과 1:1 매핑이 되어 있고, 2) 단순 치환의 가능성이 있다는 정도일 텐데요.<br /> <br /> 게다가, 영어적인 특징을 함께 섞어보면 생각보다 빨리 풀 수 있습니다. 예를 들어... 위에서 2자로 떨어지는 단어들이 있는데 - ku, qh, da, vq - 이들 중의 하나는 "of"를 나타낼 수 있는 확률이 높습니다.<br /> <br /> 각각 대입해 보았을 때, qh가 of에 매칭되는 것임을 알 수 있습니다. q를 알파벳 순서에 2번 앞으로 당기면 o가 되고, h 역시 2번 앞으로 당기면 f가 된다는 사실입니다.<br /> <br /> 이 후의 작업에서 결국 평문을 발견할 수 있습니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > What is the name of the system used by ham operators to make free phone calls? </pre> <br /> 위의 답은 "01. 험난한 출발"을 읽으면 알 수 있는데요. 바로 "auto patch"입니다.<br /> <br /> 그런데, 짝수 장은 위의 방법으로 풀리지 않습니다. 예를 들어, 6장의 경우에 문제는 다음과 같고,<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > Kyoo olxi rzr Niyovo Cohjpcx ojy dn T apopsy? </pre> <br /> 본문의 내용에서 대문자+5글자, 대문자+6글자로 표현되는 "N..... C......" 패턴의 텍스트는 "Sandra Lambert"라는 것을 알 수 있습니다. 음... 각각의 텍스트에 대한 차이값에서 어떤 패턴을 찾아낼 수 있을까 싶어 구해보았는데요.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > S(83) : N(78) = -5 a(65) : i(73) = +8 n(78) : y(89) = +11 d(68) : o(79) = +11 r(82) : v(86) = +4 a(65) : o(79) = +14 L(76) : c(67) = -9 a(65) : o(79) = +14 m(77) : h(72) = -5 b(66) : j(74) = +8 e(69) : p(80) = +11 r(82) : c(67) = -15 t(84) : x(87) = +4 </pre> <br /> 어떠세요? 뭔가 규칙이 보이시나요? 저는... 규칙을 찾지 못했습니다. 일단, 홀수번 암호화가 단순 치환인 것으로 봐서 '고전 암호학'에서 그다지 어렵지 않은 것이 사용되었을 거라고 짐작해 봤지만... 저 단서를 가지고는 해독할 패턴을 찾지 못했습니다.<br /> <br /> 어쩔 수 없이 검색해 보았는데, 풀이가 나오더군요. ^^<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > Solving Ghost in The Wires codes ; <a target='tab' href='http://fabiensanglard.net/Ghost_in_the_Wires/index.php'>http://fabiensanglard.net/Ghost_in_the_Wires/index.php</a> </pre> <br /> 위의 해답을 보기 전에... 혹시 계속 풀어보고 싶은 분에게 힌트를 드린다면, "Vigenere 암호화"를 사용되었다는 것으로 시작하시면 될 것 같습니다. "Vigenere 암호화" 방식이라면 분명 위의 "Sandra Lambert"에서 반복적인 패턴이 나왔어야 하는데... 라고 생각이 된다면... 다시 한번 저 숫자들의 패턴을 뚫어지게 쳐다 보시면 Vigenere 영어의 Ascii 코드 표랑 잘 엮으시면 답이 나올 수 있습니다.<br /> <br /> 저는 포기했지만, 여러분들은 ^^ 성공하시길 바랍니다.<br /> </p><br /> </div>
첨부파일
스팸 방지용 인증 번호
3637
(왼쪽의 숫자를 입력해야 합니다.)