1 / 48

2007. 9.

2007. 9. 제 2 장 관용암호 : 고전암호 기법. 목 차. 2.1 암호학 개요 2.1.1 암호화 정의 2.1.2 암호 방식의 분류 2.2 관용암호 모델 ( Symmetric Cipher Model) 2.2.1 치환 [ 환자 ] 암호 기법 (Substitution Techniques) 2.2.2 전치 [ 변환 ] 암호 기법 (Transposition Techniques) 회전기 암호 ( Rotor Machines) 2.2.3 적 암호 ( 치환 + 전치 )

halil
Download Presentation

2007. 9.

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. 2007. 9. 제2장 관용암호: 고전암호 기법

  2. 목 차 2.1 암호학 개요 2.1.1 암호화 정의 2.1.2 암호 방식의 분류 2.2 관용암호 모델 (Symmetric Cipher Model) 2.2.1 치환[환자]암호기법 (Substitution Techniques) 2.2.2 전치[변환] 암호기법 (Transposition Techniques) 회전기 암호 (Rotor Machines) 2.2.3 적 암호 (치환+전치) 2.3 스테가노그래피 (Steganography) 2.4 암호 공격 2

  3. 암호학 역사 라이산더 암호(그리스 BC. 400) 시저 암호(로마 BC. 100~44) ENIGMA 암호 ADFGVX 암호 무라사끼 암호 (97식) DES (1974) 공개키 암호 방식 (Diffie-Hellman, 1976) RSA (1978) 암호학 분류 고대 암호 치환 암호 전치 암호 근대 암호 암호기 사용 현대 암호 현대 대수학 2.1 암호학 개요 3

  4. 2.1.1 암호의 정의 • 암호 • 통신 당사자들끼리만 아는 비밀스런 신호나 부호 • 암호학 • 암호화와 복호화하기 위한 원리, 수단, 방법 등을 다루는 기술 및 과학 • 평문(Plaintext): • 이해하기 쉬운 일반 메시지 • 암호문(Ciphertext): • 이해할 수 없도록 변형된 메시지 4

  5. 2.1.1 암호의 정의 • 암호시스템 3가지 영역 • 평문을 암호화하기 위한 연산자의 유형 • 치환(置換, Substitution) : 평문의 각 원소를 다른 원소로 사상 • 전치(轉置, Transposition) : 평문의 각 원소를 재배열 • 사용된 키의 수 • 관용키 : single-key, symmetric, secret-key • 송수신자가 같은 키를 사용 • 공개키 : two-key, asymmetric, public-key • 송수신자가 다른 키를 사용 • 평문 처리 방법 • 블록 암호화 (Block cipher) : 연산을 블록 단위로 처리 • 스트림 암호화 (Stream cipher) : 입력을 연속적으로 처리 5

  6. 제3의 해독자 E 암호화 D 복호화 평문 M 평문 M 암호문 C 송신자 수신자 키 Ke 키 Kd 2.1.1 암호의 정의 • 평문 : M • 암호문 : C • 암호화 알고리듬 : E • 복호화 알고리듬 : D • 키 : Ke (암호화 키), Kd (복호화 키) Eke(M) = C Dkd(C) = M Dkd(Eke(M)) = M DkdEke = 1 6

  7. 2.1.2 암호 방식의 분류 관용 암호 방식 공개키 암호 방식 • 환자식 암호 방식 • Caesar 암호 방식, • Vigenere cipher • 전치식 암호 방식 • Scytale 암호, • Nihilist 암호 • 적 암호 • ADFGVX 암호 , • DES, FEAL, • LOK1, SKIPJACK • Rijndael (AES) • 소인수 분해 문제 이용 • RSA, Rabin, LUC • 이산대수 문제 이용 • ElGamal • 부분합 문제 이용 • Knapsack 7

  8. 2.2 관용암호 모델 • 암호화 과정 • 특정한 방식의 알고리즘 • 비밀 유지되는 키를 적용 • 평문  암호문으로 변환 • 동일한 메시지도 키에 따라서 결과가 다르게 출현 8

  9. 2.2 관용암호 모델 • 관용암호방식의 안전성 특징 • 키 없이 암호문 자체만으로 해독 불가 • 안전성은 알고리즘이 아니라 키의 비밀성에 의존 • 암호문과 알고리즘이 알려져도 해독은 불가하다고 가정 • 키만을 비밀 유지 필요 • 저가의 칩으로 개발 유용(알고리즘을 비밀유지 비용 없다) • 다양한 알고리즘 • DES, RC5, SKIPJACK, IDEA, SEAL, RC4, SEED, AES 등 9

  10. 2.2 관용암호 모델 • 장점 • 알고리즘 수행속도 빠르다 • 단점 • 키 관리 및 키 분배와 디지털 서명의 어려움 그림 2.1 관용암호방식의 단순 모델 10

  11. 2.2.1 치환 암호 • 단순 전치 암호 방식 • Caesar 암호 방식 • Affine 암호 방식 • 동음이의 전치 암호 • Vigenere cipher • playfair cipher 11

  12. 2.2.1 치환 암호 • 단순 치환 암호 평 문(M) 암호문(C) 12

  13. 2.2.1 치환 암호 • Caesar 암호 C = M + K mod 26 • 알파벳을 숫자로 생각 • K = 3 인 시저 암호 13

  14. 2.2.1 치환 암호 • Caesar 암호 예 • 문자 P를 C로 암호화 • C = E ( P ) = (P+3) mod (26) • P = D ( C ) = (C–3) mod (26) 평문 M 암호문 C 14

  15. 2.2.1 치환 암호 • Affine 암호 • Caesar 암호 • C M+K mod 26 • K = 3 • Affine 암호 • C K1M+K2 mod 26 • gcd (K1, 26) = 1 • gcd : 최대공약수 • gcd(a,b)=1 : a,b가 서로소 15

  16. 2.2.1 치환 암호 • Affine 암호 26과 서로소 집합 = {1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25} • 예 K1 = 3, K2 = 5 평 문(M) 암호문(C) 16

  17. 2.2.1 치환 암호 • 동음이의 치환 암호 예 17

  18. 2.2.1 치환 암호 • 동음이의 치환 암호 18

  19. 2.2.1 치환 암호 • 다표식 치환 암호 (Vigenere cipher) • 키워드 SECURITY t h i s c r y p t o s y s t e m i s n o t s e c u r e 평 문 키워드 암호문 S E C U R I T Y S E C U R I T Y S E C U R I T Y S E C L L K M T Z R N L S U S J B X K A W P I K A X A M V G 19

  20. 2.2.1 치환 암호 • 다표식 치환 암호 (Vigenere cipher) 20

  21. 2.2.1 치환 암호 • Hill 암호 • 1929년 미국 수학교수 Laster Hill 제안 • n-gram 치환 암호방식 • M개의 연속적인 평문자를 m개의 암호문자로 치환 • M = 3일 경우 암호문 치환 C1 = (k11 p1 + k12 p2 + k13 p3 ) mod 26 C2 = (k21 p1 + k22 p2 + k23 p3 ) mod 26 C3 = (k31 p1 + k32 p2 + k33 p3 ) mod 26 C: 암호문 P: 평문 k: 키 21

  22. C1 k11 k12 k13 P1 C2 = k21 k22 k23 P2 C3 k31 k32 k33 P3 17 17 5 K = 21 18 21 2 2 19 2.2.1 치환 암호 • Hill 암호 • 암호문 형식을 열 벡터와 행렬로 표현 • 암호화 사례 • 평문: PAYMOREMONEY • 암호 키 22

  23. C1 k11 k12 k13 P1 C2 = k21 k22 k23 P2 C3 k31 k32 k33 P3 11 13 18 L N S C1 17 17 5 15 C2 = 21 18 21 0 mod 26  C3 2 2 19 24 2.2.1 치환 암호 • Hill 암호 • 암호문 계산 평문을 숫자변환 PAYMOREMONEY: P 15, A  0, Y  24, … • 숫자 대입 암호문 치환 • K(15 0 24) + (375 819 486) mod 26 = (11 13 18) = LNS • C1 = 17 * 15 + 17 * 0 + 5 * 24 = 375 mod 26 = 11 • C2 = 21 * 15 + 18 * 0 + 21 * 24 = 819 mod 26 = 13 • C3 = 2 * 15 + 2 * 0 + 19 * 24 = 486 mod 26 = 18 23

  24. 15 0 24 P A Y P1 4 9 15 11 P2 = 15 17 6 13 mod 26  P3 24 0 7 18 17 17 15 4 9 15 443 442 442 1 0 0 21 18 2 15 17 6 = 858 495 780 mod 26  0 1 0 2 2 19 24 0 7 494 52 365 0 0 1 2.2.1 치환 암호 • Hill 암호 • 복호문 계산 • 암호문 계산 형식 C = EK(P) = KP에서 • 평문 P = DK(C) = K-1C = K-1KP = P; K-1는 역행열: K-1K = I • 역행렬 계산 24

  25. playfair 암호 암호화 방법 반복되는 평문은 X와 같은 채움 문자로 분리 예)ballow : ba lx ow로 분리 같은 행 경우 우측 문자로 치환 같은 열 경우 바로 밑에 문자로 치환 다른 행,열 경우 대각선에 위치한 문자로 치환 2.2.1 치환 암호 25

  26. 2.2.1 치환 암호 • playfair 암호 • 특징 • 2중자의 빈도수 분석은 1중자보다 어려움 • 1차 대전 중 영국 육군 야전 표준 시스템 사용 • 2차 대전 중 미국 육군 및 연합군에서 사용 • 단점 • 평문의 원래 구조가 많이 드러남 • 수 백자의 암호문자로 구조를 알 수 있다. • 암호기법은 평문보다 일정한 분포를 갖지만 해독이 용이함. 26

  27. 2.2.1 치환 암호 • 단일문자 치환 암호기법의 단점 • 문자 출현 빈도수를 이용해 평문 유추가능 • 암호문에서의 평문에 대응 문자가 같은 빈도로 나타남 27

  28. 2.2.2 전치 암호 • 전치 암호: 평문자 나 비트의 순서를 절차에 따라 위치를 재조정 • 단순전치 암호 • 복잡한 전치기법 28

  29. 1 2 3 4 5 6 3 5 1 6 4 2 1 2 3 4 5 6 3 6 1 5 2 4 2.2.2 전치 암호 • 단순 전치 암호 암호화 복호화 평 문 암호문 29

  30. a s b c c y d t e a f l g e as bc cy dt ea fl ge 2.2.2 전치 암호 • scytale 암호: (기원전 400년경 고대 그리스인이 사용) 30

  31. mematrhtgpry etefeteoaat 2.2.2 전치 암호 • rail fence : 깊이 2 • 평문 : meet me after the toga party • 암호문 : mematrhtgpryetefeteoaat 31

  32. 2.2.2 전치 암호 평 문 암호문 32

  33. 2.2.2 전치 암호 • 복잡한 전치기법 • 메시지를 행렬의 행 순서로 쓰고 열 순서로 판독 • n x m 행렬로 평문구성 • 평문 : a t t a c k p o s t p o n e d u n t i l t w o a m x y z 키 : 4 3 1 2 5 6 7 평문 : a t t a c k p o s t p o n e d u n t i l t w o a m x y z • 암호화 : TTNAAPTMTSUOAODWCOIXKNIYPETZ • 문자가 바뀌는 일정한 주기 발견 33

  34. 2.2.2 전치 암호 • 회전자 기계 (Rotor Machine) • 다단계 재암호화의 원리를 적용 • 특징 • 독립적으로 회전 순환하는 실린더 집합으로 사용 • 각 실린더는 26개의 입력핀과 출력핀 보유 • 주기가 26인 다중 단일문자 치환 • (26주기 polyalphabetic substitution) • 저/ 중/ 고속의 3단계 실린더로 다중 치환방식을 수행 • 사용 예(2차 세계대전 사용) 영국: Typex; 미국: Sigaba(M-134); 독일: Enigma; 일본: Purple 34

  35. 그림 2.8 번호 연결 회로를 갖는 3-실린더 회전자 기계 35

  36. 3. 적 암호 방식 36

  37. 2.2.3 적 암호 • 치환과 전치기법을 혼합하여 사용 • ADFGVX 암호 • Feistel 37

  38. 2.2.3 적 암호 • ADFGVX 암호 • 치환 과정 예 38

  39. 2.2.3 적 암호 • ADFGVX 암호 • ADFGVX 표 구성 39

  40. 2.2.3 적 암호 • ADFGVX 암호 • 전치 과정 예 암호문 XGGDXXDX DDDD GDAG XGXFVVVV AXVAAXDX DVVA XGXF AAXGFXFG 40

  41. 2.2.3 적 암호 • Feistel 암호 평문(2w) LE0(w) RE0(w) K1 f LEi(w) REi(w) Ki f LEn–1(w) REn–1(w) Kn f LEn(w) REn(w) REn(w) LEn(w) 암호문(2w) 41

  42. 2.2.3 적 암호 • Feistel 암호 • 관계식 LE16 = RE15 RE16 = LE15 f (RE15, K16) • 복호화 과정 LD1 = RD0 = LE16 = RE15 RD1 = LD0 f (RD0, K16) = RE16 f (RD0, K16) = [LE15 f (RE15, K16)]  f (RE15, K16) = LE15 LD16 = RE0 RD16 = LE0 • A  B  B = A 42

  43. 2.3 Steganograhpy • 보안기술의 범주 • 보안(Security): 정보를 보호하는 방법 • 첩보(Intelligence): 정보를 탐지하는 방법 • 평문 메시지의 은닉 방법 • Steganograhpy 방법: • 메시지의 존재 자체를 은폐 • cryptography 방법 • 다양한 원문의 변환에 의해 외부인이 그 의미를 알지 못하도록 메시지를 변형 • 특징 • 메시지의 존재 자체를 은폐 • 원문내의 단어나 문자를 적절히 발췌하여 조합배열 함으로써 실제 메시지를 나타냄 43

  44. 2.3 Steganograhpy • 사용 예 • 문자 마킹 (Character marking) • 원문의 문자에 연필로 덧써서 표시를 빛을 적당한 각도로 비추어야만 보임 • 보이지 않는 잉크 (Invisible ink) • 종이에 열이나 화학 처리를 해야만 보이는 잉크를 사용 • 핀 구멍 (Pin punctures) • 빛을 비춰야만 보이는 작은 구멍을 원문에 넣는 방법 • 타자 수정 리본 (Typewriter correction ribbon) • 흑색 리본으로 타자된 줄 사이에 강한 빛에서만 보이는 수정리본을 이용하여 타자하는 방법 44

  45. 2.3 Steganograhpy • Steganography의 장점 • 비밀통신에 대한 사실이 발견되면 안 되는 사용자들에 의해 이용 • 암호화의 경우의 문제점 • 암호화 한다는 사실이 통신 메시지가 중요하거나 비밀임을 암시 • 즉, 암호화는 송수신자간에 무언가 감출게 있다고 생각하게 함 • Steganography의 단점 • 상대적으로 적은 정보비트를 은닉하는데 많은 오버헤드 요구 • 방법 노출시 재사용 불가 • (키를 적용하는 기법을 추가하여 단점 극복) • (메시지를 먼저 암호화 한 후에 Steganography을 이용하여 은닉가능) 45

  46. 2.4 암호 공격 • Cryptanalysis • 평문이나 키 또는 이 두 가지를 모두 발견하려는 시도 과정 • Brute-Force Attack • 가능한 모든 경우의 수를 시도(전사적 탐색, 전사 공격) • Probable-Word Attack • 안전성 • 절대 안전성: 비용과 시간이 충분하여도 복호하기가 불가능 • 계산상 안전성 • 해독 비용 > 정보의 가치; 해독시간 > 정보유효시간 46

  47. 2.4 암호 공격 • 암호 메시지에 대한 공격의 유형 • 암호문 단독 공격 (Ciphertext only) • 암호 알고리즘, 해독할 암호문 • 기지 평문 공격 (Known plaintext) • 하나 또는 그 이상의 알고 있는 평문에 대한 암호문을 인지 • 선택 평문 공격 (Chosen plaintext) • 해독자가 선택한 평문 메시지와 해당 암호문을 인지 • 선택 암호문 공격 (Chosen ciphertext) • 해독자가 선택한 암호문과 해독된 평문을 인지 • 선택 원문 공격 (Chosen text) • 해독자가 선택한 평문 메시지와 해당 암호문을 인지 • 해독자가 선택한 암호문과 해독된 평문을 인지 47

  48. 2.4 암호 공격 • 표2.2 모든 키 탐색을 위해 요구되는 평균시간 48

More Related