1 / 54

Chap 2. 관용 암호 방식

Chap 2. 관용 암호 방식. 목 차. 1. 암호의 개념 2. 암호 용어 3. 관용 암호 방식 모델 4. 관용 암호 방식 기술 5. DES (Data Encryption Standard) 6. 3 중 DES. attack. ?. Cryptography. 개방통신로. Plaintext. Bob. Alice. ?. attack. 1. 암호의 개념. 통신 당사자들끼리만 아는 비밀스런 신호나 부호 암호화와 복호화하기 위한 원리 , 수단 , 방법 등을 취급하는 기술이나 과학. 암호해독.

Download Presentation

Chap 2. 관용 암호 방식

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. Chap 2. 관용 암호 방식

  2. 목 차 1. 암호의 개념 2. 암호 용어 3. 관용 암호 방식 모델 4. 관용 암호 방식 기술 5. DES (Data Encryption Standard) 6. 3중 DES

  3. attack ? Cryptography 개방통신로 Plaintext Bob Alice ? attack 1. 암호의 개념 • 통신 당사자들끼리만 아는 비밀스런 신호나 부호 • 암호화와 복호화하기 위한 원리, 수단, 방법 등을 취급하는 기술이나 과학

  4. 암호해독 attack 송신자 수신자 (암호장치) (암호장치) 암호알고리즘 복호알고리즘 암호문 (ciphertext) 평문 (plaintext) 평문 (plaintext) 암호화 키 (public key) 공개키 디렉토리 2. 암호 용어 복호화 키 (secret key)

  5. 공용키 암호알고리즘 복호알고리즘 평문 (plaintext) 암호문 (ciphertext) 평문 (plaintext) 3. 관용 암호 방식 • 암호화 키(Encryption key) = 복호화 키(Decryption key) • 대칭키 암호 시스템, 단일키 암호 시스템, 관용 암호 방식

  6. Security • 암호 알고리즘의 비도는 키의 비밀성에 의존 • 장점 • 다양한 알고리즘 개발, 알고리즘 수행속도 빠르다 • 단점 • 키 관리 및 키 분배의 어려움 • 디지털 서명의 어려움 • DES, RC5, SKIPJACK, IDEA, SEAL, RC4 등

  7. 3.1 암호시스템의 영역 • 평문을 암호화하기 위한 연산자의 유형 • 치환 (Substitution) : 평문의 각 원소를 다른 원소로 사상 • 전치 (Transpostion) : 평문의 각 원소를 재배열 • 대부분의 혼합 시스템은 다단계의 치환과 전치사용 • 사용된 키의 수 • 관용키 : 송수신자가 같은 키를 사용 • 공개키 : 송수신자가 다른 키를 사용 • 평문 처리 방법 • 블록 암호화 (Block cipher) : 연산을 블럭단위로 처리 • 스트림 암호화 (Stream cipher) : 입력을 연속적으로 처리

  8. 3.2 암호 해독 • Cryptanalysis • 평문이나 키 또는 이 두 가지를 모두 발견하려는 시도 과정 • 암호 메시지에 대한 공격의 유형 • 암호문 단독 공격 (Ciphertext only) • 기지 평문 공격 (Known plaintext) • 선택 평문 공격 (Chosen plaintext) • 선택 암호문 공격 (Chosen ciphertext) • 선택 원문 공격 (Chosen text)

  9. 4. 관용 암호 방식 기술 • 평문 메시지의 은닉 방법 • Steganograhpy 방법 • 메시지의 존재 자체를 은폐 • 암호 방법 • 다양한 원문의 변환에 의해 외부인이 그 의미를 알지 못하도록 메시지를 변형

  10. 4.1 Steganography • 특징 • 메시지의 존재 자체를 은폐 • 원문내의 단어나 문자를 적당히 배열 함으로써 실제 메시지를 나타냄 • 예제 • 문자 마킹 (Character marking) • 원문의 문자에 연필로 덧써서 표시를 해 빛을 적당한 각도로 비춰어야만 보임 • 보이지 않는 잉크 (Invisible ink) • 종이에 열이나 화학 처리를 해야만 보이는 잉크를 사용 • 핀 구멍 (Pin punctures) • 빛을 비춰야만 보이는 작은 구멍을 원문에 넣는 방법

  11. 타자 수정 리본 (Typewriter correction ribbon) • 흑색 리본으로 타자된 줄 사이에 강한 빛에서만 보이는 수정리본을 이용하여 타자하는 방법 • Steganography의 장점 • 비밀통신에 대한 사실이 발견되면 안되는 사용자들에 의해 이용될 수 있다. • Steganography의 단점 • 상대적으로 적은 정보비트를 은닉하는데 많은 오버헤드 요구 • 방법 노출시 재사용 불가

  12. 4.2 치환 기법 4.2.1 시이저 암호법 • 쥴리어스 시저에 의해 개발 • 예제 (Key : 3) 평문 : meet me after the toga party 암호문 : PHHW PH DIWHU WKH WRJD SDUWD • 암호화 (문자 p를 암호화) • C = E(p) = (p+3) mod (26) • 일반화 : C = E(p) = (p+k) mod (26) • 문자 p는 C로 암호화

  13. 복호화 • p = D(C) = (C -3) mod (26) • 일반화 : p = D(C) = (C - k) mod (26) • 문자 C는 p로 복호화 • 단점 • 암호화 및 해독 알고리즘을 알고 있다. • 가능한 키가 25개 뿐이다. • Brute-force attack이 가능 • 평문의 언어를 알고 있으며 쉽게 인식할 수 있다.

  14. 4.2.2 단일 치환 암호법 • 각 문자에 26자의 치환 가능 • 시이저 암호의 키 공간을 급격히 증가 • 시이지 암호 : 25 • 단일 치환 암호법 : 26! • 단점 • 출현 빈도수를 이용해 평문 유추가능 ex) 영어 문장에는 t, e, a, h 등이 많이 나타남 암호문에서도 그에 상응하는 문자가 같은 빈도로 나타남

  15. 4.2.3 다중 문자 치환 암호 기법 • 2자기씩 암호화 • playfair 알고리즘은 5 * 5 행렬에 기초 • 키워드가 monarchy인 행렬 • 키워드 중복 문자를 제외하고 좌에서 우로, 상에서 하로 문자를 채운다. • I와 J는 한 문자로 취급

  16. 암호화 방법 • 반복되는 평문은 X와 같은 채움문자로 분리 • balloon : ba lx lo on • 같은 행에 두문자가 있을 경우 우측에 있는 문자와 치환 • ar은 RM으로 치환 • 같은 열에 두문자가 있을 경우 바로 밑에 문자와 치환 • mu는 CM으로 치환 • 그 외에 평문자쌍는 대각선에 위치한 문자와 치환 • hs는 BP로, ea는 IM(또는 JM)

  17. 특징 • monoalphabetic 암호기법의 진보된 방법 • 알파벳은 26 가지 • 2중자는 26 * 26 = 676 가지 • 2중자의 빈도수 분석은 어려움 • 1, 2차 대전중 미국, 영국 육군에서 사용 • 단점 • 평문의 원래 구조가 많이 드러남 • 수백자의 암호문자로 구조를 알 수 있다. • 암호기법은 평문보다 평평한 분포가 가짐. 하지만 해독가에겐 해용한 구조를 가짐 • 그림 2.6 문자 출현의 상대 분표도 참조

  18. 4.2.4 다중 단일 문자 치환 암호화 • 단순 단일 문자 치환 방법을 개량 • 다중 단일 문자 치환 암호방법의 공통점 • 하나의 단일 문자 치환 규칙 집합을 사용 • 주어진 변환에 사용될 규칙은 키에 의해 결정 • Vigenere 방법 (표 2.4 참조) • 키워드 : deceptive • 평문 : We are discovered save yourself” 키 : d e c e p t i v e d e c e p t i v e d e c e p t i v e 평문 : w e a r e d I s c o v e r e d s a v e y o u r s e l f 암호문 : ZICVTWQNGRZGVTMAVZHCQYGLMGJ

  19. 특징 • 평문자에 대한 암호문자가 유일한 키워드에 각 문자에 대하여 여러 개 존재 • 문자 빈도수에 대한 정보가 불분명해짐다 • 단점 • 평문 구조에 대한 정보가 모두 은폐되지는 않는다. • 단일 문자나 Vigenere로 암호화 되었는지 아는 것은 쉽다. • 빈도수에 따라 • 키워드의 길이를 유추가능 (3이나 9로 유추가능) • 암호문에서 “VTW”이 나타남

  20. 4. 3 전치기법 • 평문자의 순서를 바꿈 • rail fenec 기법 • 깊이 : 2 • 평문 : meet me after the toga party mematrhtgpry etefeteoaat • 암호문 : mematrhtgpryetefeteoaat

  21. 4. 3 전치기법 • 사각형 행렬 사용 키 : 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 • 전치 암호기법은 두 단계 이상의 전치를 행함으로써 더 안전성을 높일 수 있다.

  22. 4.4 회전자 기계 • 다단계 암호화의 원리를 적용(그림 2.7 참조, P44) • 특징 • 독립적으로 회전하는 실린더 집합으로 사용 • 각 실린더는 26개의 입력핀과 출력핀 가지고 있음 • 단일 실린더 • 한 문자때에는 단일 문자 치환 암호 • 26개이 평문자를 사용한 후에는 실린더가 초기의 위치로 와서 격국 주기가 26인 다중 단일 문자 치환 • 세 개의 실린더일 경우 26 * 26 * 26 = 17,576가지의 알다른 알파벳 치환을 가짐 • 회전자 기계의 강도는 다중 실린더에 기인

  23. 5. DES (Data Encryption Standard) • 특징 • IBM에서 Lucifer System을 개선하여 만듬 • 1997년 미 상무성의 국립 표준국(NBS)에서 표준 암호 알고리즘으로 채택 • 64비트 블럭 암호 알고리즘 • 56비트 키를 사용 • 64비트 중 8비트는 parity check로 사용 • 기본 구조 • round 수 : 16 round • 복호화는 암호화의 역순 • 최근에는 DES암호화를 세 개의 키로 세 번 반복함으로써 암호의 강도를 높인 Triple-DES를 사용

  24. Feistel 암호 • 블럭의 크기는 짝수(2n) • 평문 m을 크기가 n인 두 블럭으로 나눔 m=(m0 , m1) • 암호화 • 라운드 1 :U0=(m0,m1) ==> U1=(m1,m2) • 라운드 i :Ui-1(m i-1,mi) ==> Ui=(mi,mi+1) • 라운드 h :Uh-1=(mh-1,mh) => Uh=(mh,m h+1) 여기서 mi+1=mi-1 + fki(mi)

  25. NDS와 LUCIFER • NDS(New Data Seal) • 1975년 Feistel에 의해 설계 • 블럭크기:128비트 • 두개의 s-box이용(4비트 -> 4비트변환) • LUCIFER 암호 • 1973년 IBM의 Host Feistel • DES의 원형 • 평문및 암호문의 블럭사이즈:128비트 • 암호화 과정:16단계

  26. DES의 역사 • 전용 암호시스템 : 타 그룹간의 통신에 불리==> 데이터 암호화 표준이 필요 • 공개암호 표준: 미국 연방 정부가 움직임 • 표준화 검토(1972),적합한 암호 알고리즘 조사 • 1973년 5월:암호방식 공모(1차) • 1974년 8월: 2차 공모==>IBM이 요건을 갖춤 ==>NBS가 요건을 NSP에 의뢰

  27. 조사에 대한 요구 1. It must provide a high level of security. 2. It must be completely specified and easy to understand. 3. The security provided by the algorithm must not be based on the secrecy of the algorithm. 4. It must be all users and suppliers.

  28. 조사에 대한 요구 (계속) 5. It must be adaptable for use in diverse applications. 6. It must be economical to implement in electronic devices and be efficient to use. 7. It must be amenable to validation. 8. It must be exportable.

  29. DES의 역사(계속) • 1975년~1977:일반 comment,계약 체결 • 1977:NBS(NIST)가 DES를 표준 암호 알고리즘으로 채택 • U.S.banks have been adopted DES • NBS postponed guarantee term of DES from till 1988 to till 1993 • NSA proposed CCEP(Commercial COMSEC Endorsement Program;상용 통신 안전 보증 계획)instead of DES • U.S. bank expect to continue the use of DES

  30. K16 입 력 초기 치환 f L0 R0 R16 L16 K1 f L1 R1 역초기 치환 K2 f : : 출 력 L2 R2 : : 5.1 DES • DES의 기본 구조 (데이타 암호화부) • Li = Ri-1 Ri = Li-1 XOR f (Ri-1, Ki)

  31. 초기 치환 IP 58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7

  32. R(32bit) 확장전치 (비트 선택표 ) K (48bit) 48bit . . . . S-box table S1 S2 S7 S8 P 32 bit • f함수의 구성도

  33. 비트 선택표 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1 치환 P 16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10 2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25

  34. S-box Table S1 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13 • 예) 1 0 1 1 0 1 ------ 6비트 입력 행 (3행) 열 (6열) 10진수 ‘1’를 4비트로 출력 : 0 0 0 1

  35. 선택 치환 c0 d0 좌측 시프트 좌측 시프트 c1 d1 K1 선택치환2 좌측 시프트 좌측 시프트 c2 d2 K2 선택치환2 : : : : : : 좌측 시프트 좌측 시프트 c15 d15 K16 선택치환2 • DES의 기본 구조 (키 생성부)

  36. 선택 치환 - 1 57 49 41 33 25 17 9 1 58 50 42 34 26 18 10 2 59 51 43 35 27 19 11 3 60 52 44 36 63 55 47 39 31 23 15 7 62 54 46 38 30 22 14 6 61 53 45 37 29 21 13 5 28 20 12 4 선택 치환 - 2 14 17 11 24 1 5 3 28 15 6 21 10 23 19 2 4 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40 51 45 33 38 44 49 39 56 34 53 46 42 50 36 29 32

  37. 쉬프트 스케줄 라운드 수 좌측 쉬프트 수 1 1 2 1 3 2 4 2 5 2 6 2 7 2 8 2 9 1 10 2 11 2 12 2 13 2 14 2 15 2 16 1

  38. DES는 강한 쇄도 효과(Avalanche Effet)를 갖는다. • DES에 관한 우려사항 • 미 정부의 채택이후 DES의 보안 수준에 대한 우려가 지속. • 알고리즘의 성질을 이용한 암호 해독의 가능성 • 예) s - box의 약점에 대한 공격 가능성 주장 제기됨 그러나, 약점을 발견한 사람은 현재 존재 하지 않음 • 키 길이에 관한 우려 • Key Serarch Machine ( 기지 평문 공격 ) Cost Expected search Time $ 100,000 35hours $1,000,000 3.5hours $10,000,000 21minutes

  39. Brute force Attack ; 1970년대/80년대 --- low computing power 90년대 --- high computing power • 미국 수출 허용 기준인 40비트의 키 : Michael Wienerd의 key search machine으로 0.2초만에 해독 가능 Key size Number of One Encryption 106 Encryption Alternative Keys per micro sec per micro sec 32bits 223 = 4.3 * 109 35.8 minutes 2.15ms 56bits 256 = 7.2 * 1016 1142years 10.01h 128bits 2128 = 3.4 * 1038 1024years 5.4 * 1018 years

  40. 5.2 DES의 공격 방법 • 공격 방법 • 차분 암호 해독 (Differential Cryptanalysis) • DES에 적용해서 널리 알려짐 • 255미만의 복잡도로 DES를 해독 • 247의 선택평문을 가지고 247차주로 DES를 해독 • 선형 암호 해독 (Linear Cryptanalysis) • 247 기지 평문으로 해독가능 • 기지 평문이 선택 평문보다 구하기 쉽기만 DES공격으로서의 선형 암호 해독은 가능성이 없다. • 선형 암호 해독의 타당성의 주장이 약하다.

  41. 5.3 DES 작동 모드

  42. ECB (Electronic Codebook) 모드의 특징 • 평문은 64비트씩 처리 • 마지막 비트가 64비트 미만이면 나머지 비트를 채운 후 진행 • 동일한 블록이 입력되면 암호문도 같다. --> 해독될 위험성이 있다. • 중요 데이타가 같은 위치에 있을 때 취약블럭이 상호 결합하지 않음 => 연속적인 블럭 암호화법 ; Chaining 기법

  43. CN PN C2 C1 P1 P2 DES 암호화 DES 암호화 DES 복호화 DES 암호화 DES 복호화 DES 복호화 K K K K K K CN PN C2 C1 P1 P2 • ECB (Electronic Codebook) 모드 • 암호화 ... • 복호화 ...

  44. CBC (Cipher Block Chaining) 모드의 특징 • 하나의 암호화 스텝의 출력을 사용하여 다음 입력으로 수정 • 각각의 암호 블럭은 서로 영향을 받음 • 선행하는 평문 블럭 전체에 좌우됨 • Cn : 모든 평문 블럭 P1, P2, ..., Pn의 함수 • 암호화 : Cn=Ek(Pn+C n-1) • 복호화 : Qn=Dk (Cn) + C n-1 =Pn • Padding • Self-Recovering 기능

  45. PN P1 P2    DES 암호화 DES 암호화 DES 암호화 K K K CN C2 C1 C1 C2 K K DES 복호화 DES 복호화   P2 P1 • CBC (Cipher Block Chaining) 모드 • 암호화 C N-1 ... • 복호화 CN ... K DES 복호화  C N-1 PN

  46. CBC 그림참조 레지스터 레지스터  E D  P P 1 64 64 1

  47. CFB (Cipher Feedback) 모드의 특징 • 문자의 길이 : m(1<m<64) • 암호화 하기 위한 m비트 : DES 출력의 m비트 • DES 알고리즘이 회선 양단에서 암호화로서 사용 • Shift Register : 매번 새로운 비트로 교체 • 암호문은 선행하는 평문 모두의 함수

  48. CN-1 ... 64비트 레지스터 64비트 레지스터 64비트 레지스터 K K K DES 암호화 DES 암호화 DES 암호화 선택 j 비트 선택 j 비트 선택 j 비트 PN P1   C1 CN P2  C2 CN-1 64비트 레지스터 ... 64비트 레지스터 64비트 레지스터 K K K DES 복호화 DES 복호화 DES 복호화 선택 j 비트 선택 j 비트 선택 j 비트 PN  CN P1  C1 P2  C2 • CFB (Cipher Feedback) 모드 • 암호화 • 복호화

  49. 레지스터 레지스터 D E 선택 선택  P P  1 2 8 9 1 ... ... • CFB 그림 참조 1

  50. OFB (Output Feedback) 모드의 특징 • CBC, CFB의 Error Extention에 대한 응용 • Vernam type • 키 스트림 : 주기성이 있음 • Feedback의 출발 위치를 제외하고는 CFB와 유사

More Related