1 / 110

암호 분석 기법

암호 분석 기법. - 고전암호를 중심으로 - 2006. 12. 21 김병수 (fiveonekbs@paran.com). 차 례. 암호 개요 암호 역사 암호 종류 고전암호 분석기법. 암호 개요. 암호 의 정의 통신문의 내용을 제 3 자가 판독할 수 없는 글자 , 숫자 , 부호 등 으로 변경시킨 것 - 동아대백과사전  통신의 내용이 밖으로 새지 않도록 , 제 3 자는 모르고 , 저희 편끼리

cybele
Download Presentation

암호 분석 기법

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 암호 분석 기법 - 고전암호를 중심으로 - 2006. 12.21 김병수 (fiveonekbs@paran.com)

  2. 차 례 • 암호 개요 • 암호 역사 • 암호 종류 • 고전암호 분석기법

  3. 암호 개요 • 암호의 정의 • 통신문의 내용을 제3자가 판독할 수 없는 글자, 숫자, 부호 등 으로 변경시킨 것 -동아대백과사전  • 통신의 내용이 밖으로 새지 않도록, 제3자는 모르고, 저희 편끼리 만 알게 한 비밀한 신호나 부호  한국어 대사전  • The art of writing or deciphering messages in code. The system used in a code or cipher.  Webster’s New World Dictionary  • The art and science of keeping message secure  Applied Cryptography (Bruce Schneier) • 평문을 해독 불가능한 형태로 변형하거나 또는 암호화된 통신문 을 해독 가능한 형태로 변환하기 위한 원리,수단,방법 등을 취 급하는 기술 또는 과학  암호학 기초(한국전자통신연구원) 

  4. 암호 개요 • 암호학(cryptology) • 암호제작(cryptography) : 평문을 보호하기 위한 암호화 알고리즘을 연구 • 암호해독(cryptanalysis) : 평문으로 해독하기 위하여 암호문과 암호화 과정을 연구

  5. 암호 개요 • 암호를 사용하는 목적 • 비밀성 유지 (Confidentiality) : 인가자만이 정보에 접근할 수 있어야 함 • 자료에 대한 무결성 유지 (Data Integrity) : 정보가 위조 또는 변조되었는지 확인할 수 있어야 함 • 사용자 또는 자료의 출처 인증(Authentication for Entity and Data) : 정보의 생산이 정당한지 검증 되어야 함 • 부인방지(Non-repudiation) : 정보처리를 실행한 후 사용자가 이를 거부할 수 없도록 해야 함

  6. 암호 개요 • 암호시스템 개요 암호화 키 복호화 키 암호알고리즘 (암호화) 암호알고리즘 (복호화) 평 문 암호문 암호문 평 문 송신자 수신자 암 호 해 독 평 문 도청자

  7. 암호 역사 • 1세대 암호시스템 • 고대~19세기말 • 단순한 문자 환자(換字) 및 환치(換置) 방법 사용 • 2세대 암호시스템 • 20세기초~1940년대 말 • 복잡한 암호기계 이용 • 3세대 암호시스템 (현대 암호) • 1940년대 말 Shannon의 논문 발표 이후 • 각종 이론 등에 부합하는 복잡도가 높은 암호 알고리즘

  8. 암호 역사(1세대 암호시스템) • 환자(換字) 암호 (substitution cipher) • 평문의 문자를 다른 문자로 바꾸어 암호문 생성 • 환치(換置) 암호 (transposition cipher) • 평문에서 문자의 순서만을 바꾸어 암호문 생성 • 혼합 암호 • 환자 환치 암호 • 난수 암호

  9. 암호 역사(2세대 암호시스템) • 1933~1945년 독일군은 Enigma 라 불리는 암호문 작성기를 이용, 암호통신 실시 • 1937년부터 일본은 외교통신을 암호화 하고자 암호문 작성기를 사용하였으며, 미국은 이를 ‘Purple Machine’이라 부름 • 1942년부터 미군은 Hagelin이 발명한 M-209암호문 작성기를 사용

  10. Enigma

  11. Switching Unit Housing for stepping switch Stepping Switch Purple Machine

  12. Hagelin Machine (M-209)

  13. H =  Pi log2Pi i 암호 역사(3세대 암호시스템) • 1948년 Claude E. Shannon은 ‘Mathematical Theory of Communication’을 발표하여 정보의 가치를 엔트로피로 계량화 • 엔트로피 : 주어진 정보를 가능한 한 압축하여 비트로 표현할 때 필요한 비트의 수 • 혼동(confusion)과 확산(diffusion)기법을 사용하여 복잡도가 높은 암호시스템 구현 가능

  14. P0 P1 K F C0 C1 암호 역사(3세대 암호시스템) • 1970년 H. Feistel등은 DES의 모체가 된 LUCIFER를 • 개발하였고, block 암호의 기본구조로 널리 사용되는 • Feistel 구조를 고안 [암호화] C0 = P1 C1= P0 F(P1, K)  : exclusive or

  15. C1 C0 K F P1 P0 암호 역사(3세대 암호시스템) [복호화] P1 = C0 P0= C1 F(C0, K)

  16. 암호 역사(3세대 암호시스템) • 1977년 미국 NBS는 IBM이 개발한 DES (Data Encryption Standard)를 연방 표준 암호로 발표 • 구조: Feistel 구조를 반복 • 입·출력 길이 : 64 bit • 암호키 길이 : 56 bit • 실행 라운드수 : 16 회 • 非선형인 S-box : 8 개

  17. R. Rivest L. Adleman 암호 역사(3세대 암호시스템) • 1976년 W. Diffie와 M. Hellman은 ‘New Directions in Cryptography’에서 공개키 암호의 개념 발표 • 1978년 R. Rivest, A. Shamir 및 L. Adleman은 큰 정수에 대한 소인수분해가 어렵다는 사실을 이용한 공개키 암호시스템인 RSA 개발 A.Shamir

  18. 암호 역사(3세대 암호시스템) • 1990년 X. Lai와 L. Massey는 IDEA를 개발 • IDEA : International Data Encryption Algorithm • PES IPES (Improved PES) IDEA • 1990년 E. Biham과 A. Shamir는 差分 암호 해독법(Differential Cryptanalysis)을 소개 • 주어진 差를 갖는 입력 평문 쌍에 대해 출력되는 암호문의 差를 분석하는 방법

  19. 암호 역사(3세대 암호시스템) • 1991년 R. Zimmermann은 PGP (Pretty Good Privacy)개발 • 공개키 암호방식을 사용한 file 및 전자메일 암호화 program • 1993년 Matsui는 線型 암호해독법 (Linear Cryptanalysis) 소개 • 암호 알고리즘의 입·출력 사이에 주어지는 선형관계를 이용한 분석법

  20. 암호 역사(3세대 암호시스템) • 1994년 W. Shor는 큰 수를 효과적으로 소인수분해할 수 있는 量子計算法 소개 • 1997년 NIST는 DES를 대신할 미국 표준 암호(AES)를 공개 모집 • AES : Advanced Encryption Standard • 1999. 8월 NIST는 AES의 마지막 후보 5개 선정 • MARS, RC6, Rijndael, Serpent, Twofish

  21. 알고리즘 형태 비고 CAST-256 MFN CRYPTON SPN 한국 DEAL FN DFC FN E2 FN 일본 FROG Interp. HPC OMNI LOKI97 FN MAGENTA FN SAFER+ SPN MARS MFN 美 IBM RC6 MFN 美 RSA RIJNDAEL SPN 벨기에 SERPENT SPN 英-이스라엘-덴마크 TWOFISH FN 美 Counterpane 암호 역사(3세대 암호시스템) • MFN : Modified Feistel Network • SPN : Substitution Permutation Network • FN : Feistel Network • Interp. : Interpreter design • OMNI : different design (name by designer) 2000년 10월 최종 선정

  22. 암호 역사(시대별 보호서비스 비교)

  23. 암호 역사 (국내) • 1948.12월 陸軍이 창설되면서 육군본부 직할부대에 전파감시소를 설치하고 美軍의 도움을 받아 암호를 제작하여 全軍에 배포 • 1950. 6월 육군 전파감시소는 북한의 암호문 解讀 • 대한민국 暗號解讀의 첫걸음 • 1961년 暗號 제작업무를 中央情報部로 이관 • 軍을 포함한 全 행정기관에 확대 적용

  24. 암호 역사 (국내) • 1961년부터 中央情報部는 각급 행정부처 및 해외공관에 암호자재를 제작 배포 • 1980년 외교암호 시스템이 컴퓨터를 사용 半自動化 • 1984년 자동화(전산화) 암호시스템 사용 • 현재 128 비트이상 키를 사용하는 현대암호 적용

  25. 암호 역사 (국내) • 1995. 3월 국내에서 가장 많이 쓰이고 있던 ‘아래아한글 2.1’용 암호 해독 • 1997년 한국 國家機關用 표준암호 NEAT제정 • NEAT : National Encryption AlgoriThm • 1998년 부가형 전자서명방식(KCDSA)을 한국정보통신단체 표준으로 확정 • Korean Certificate-based Digital Signature Algorithm

  26. 암호 역사 (국내) • 1998년 Hash algorithm HAS-160을 한국정보 통신단체 표준으로 확정 • 1999년 한국 民間用 표준암호 SEED제정 • SEED : 정보보호의 씨앗이 되라는 뜻 • 2004.12월 한국 국가 표준 암호 ARIA제정 • 산업자원부 KS 규격 : KS X 1213 • Academy – Research Institute - Agency

  27. 암호 종류 암호 고전 암호 현대 암호 사이퍼(cipher) 비밀키 암호 1948 환자 암호 블록 암호 환치 암호 스트림 암호 코드(code) 공개키 암호 etc. etc. 秘密書法 (隱書), 隱語 등 量子暗號, DNA 暗號 등

  28. 암호 종류 (고전암호) • 환자 암호 (substitution cipher) • 평문의 문자를 다른 문자로 바꾸어 암호문 생성 • 환치 암호 (transposition cipher) • 평문에서 문자의 순서만을 바꾸어 암호문 생성 • 혼합 암호 • 환자 환치 암호 • 난수 암호

  29. 환자(換字) 암호 • 단순 환자 암호 : 평문과 암호문 1:1 대응 • 동음이의 환자 암호 : 평문과 암호문 사이에 1:多 대응 • 다표식(多表式) 환자 암호 : 다중 환자를 사용 • 다자(多字) 환자 암호 : 한번에 여러 개의 문자를 암호화

  30. 단순 환자 암호(simple substitution cipher) M= KOREA C = DIMOX (Key : 3 + KOREA) (예) 시저암호 : f(a)=a+3

  31. 단순 환자 암호(simple substitution cipher) • 아핀 변환 (affine transformation) • f(x) ≡ 3 x + 5 (mod 26) M= KOREA C = JVERF

  32. 동음이의 환자 암호(homophonic substitution cipher) • 평문의 각 문자에 암호 문자를 여러개 대응 • 예 : 숫자 100개 (00, 01, 02, …, 99)중 - e : 암호 13개 할당 - a, t : 암호 9개 할당 - i, n, o, s : 암호 7개 할당 - d, h, r : 암호 5개 할당 - f, l, u : 암호 3개 할당 - c, m, p, y : 암호 2개 할당 - 기타 b, g, j, k, q, v, w, x, z : 암호 1개 할당

  33. 다표식 환자 암호(polyalphabetic substitution cipher) • Blaise de Vigenère (1523 ~ 1596) • 多重文字方式 • Vigenère table ( C ≡ M + K (mod 26) ) • Autokey system • 1st autokey 방식 : 평문을 암호키로 사용 • 2nd autokey 방식 : 암호문을 암호키로 사용

  34. 평 문 This is cipher 암호키 THREE MOZWM LJZTL XY 암호문 평 문 This is cipher 암호키 THREE MOZWM EQHLT IH 암호문 Vigenère Table 1st Autokey 2nd Autokey MOZWM EQ

  35. 평 문 : CY BE RT ER RO RZ 암호문 : FW FK ES AE ER AX 다자 환자 암호(polygram substitution cipher) • Playfair 암호 암호키 : KOREA

  36. A  DELA 20, 10, 16, 5 25, 2, 3, 14 JCOW 다자 환자 암호(polygram substitution cipher) • Hill 암호 25 = 8 20 + 6  10 + 9  16 + 5  5 2 = 6  20 + 9  10 + 5  16 + 10  5 3 = 5  20 + 8  10 + 4  16 + 9  5 14 = 10  20 + 6  10 + 11  16 + 4  5 A

  37. 23 20 5 1 2 11 18 1 20 2 6 25 25 2 22 25 JCOW 25, 2, 3, 14 20, 10, 16, 5 DELA A-1 다자 환자 암호(polygram substitution cipher) • Hill 암호 A-1 20 = 23 25 + 20  2 + 5  3 + 1  14 10 = 2  25 + 11  2 + 18  3 + 1  14 16 = 2  25 + 20  2 + 6  3 + 25  14 5 = 25  25 + 2  2 + 22  3 + 25  14

  38. 환치(換置) 암호 • 경로(route) 환치 암호 • 원주(columnar) 환치 암호 • 도형(figure) 환치 암호 • 그릴(grille) 환치 암호

  39. 경로 환치 암호(route transposition cipher) • 평문 : 함북 오지에서 삼점육 규모 지진파 탐지 • 암호문 : 함에육진 북서규파 오삼모탐 지점지지

  40. 원주 환치 암호(columnar transposition cipher) • 평문 : 함북 오지에서 삼점육 규모 지진파 탐지 키워드사 이 버 테 러 3 4 2 5 1 • 암호문 : 에규탐오 점진함서 모지북삼 지지육파

  41. 도형 환치 암호(figure transposition cipher) • 평문 : 함북 오지에서 삼점육 규모 지진파 탐지 함 북 오 지 에 서 삼 점 육 규 모 지 진 파 탐 지 5 4 6 3 1 7 2 키워드 상 산 수 리 과 학 관 • 암호문 : 오육지에 모북점탐 서진지함 삼파지규

  42. 그릴 환치 암호(grille transposition cipher) • 평문 : 함북 오지에서 삼점육 규모 지진파 탐지 • 암호문 : 서모지함 육지삼북 지점파에 진오규탐

  43. 암 호 문 울 동 뱃 이 외 섬 새 고 그 아 자 땅 우 독 우

  44. 혼합 암호 • 환자 환치 암호 • 19세기 말 Delastelle암호 • 제1차 세계대전시 독일의 ADFGX 암호 및 ADFGVX 암호 • 난수 암호 • 1차로 환자 암호 변환후 2차로 난수 적용

  45. 환자 환치 암호(Delastelle cipher) KeywordSEVEN SECURITY 41523 • 평문 : WAIT THE ORDERS • 3111 154 245444 • 5241 121 234134 • 암호문 : VTYLT DLHAQ SEQ

  46. 환자 환치 암호(독일 ADFGX cipher) KeywordDEUTSCH SECURITY • 평문 : W A I T T H E O R D E R S • 환자 :XDDFFDAGAGDDAD GDGXAAADGXAX • 암호문 : DDADG XXDDD FAAXA GAAGG • FDAGD X

  47. 암호 종류 (현대암호) • 비밀키 암호 (대칭키 암호) • 암호화 키와 복호화 키가 서로 같음 • 블록 암호 : 암복호화시 한번에 복수의 비트 처리 • 스트림 암호 : 암복호화시 비트 1개씩 처리 • 공개키 암호 (비대칭키 암호) • 암호화 키와 복호화 키가 서로 다름 • 암호화 키는 공개, 복호화 키는 비공개

  48. 암호 종류 (현대암호) 비밀키 암호 (대칭키 암호) 블록 암호 스트림 암호 非公開 非公開 暗號化 키 復號化 키

  49. 암호 종류 (비밀키 암호) • 사용자 : 5 • Key : 10 • 사용자 : n • Key : n(n-1)/2 • 사용자 : 2 Key : 1

  50. 비밀키 암호의 특징 암호키와의 관계 암호화키 = 복호화키 암호화키 비밀 복호화키 비밀 비밀키 전송 필요 비밀키 관리 문제점 암호화 속도 빠름 암호 종류 (비밀키 암호)

More Related