1 / 33

공개키 암호

공개키 암호. 중부대학교 정보보호학과 이병천 교수. 공개키 암호의 도입. “ New directions in cryptography ” ; Diffie, Hellman 공개키 암호 방식 이론 발표, 1976년 RSA 공개키 암호 방식 ; Rivest, Shamir, Adleman 소인수분해 문제 이용, 1978년 MH 공개키 암호 방식 ; Merkle, Hellman Knapsack 문제 이용. 대칭키 암호와 공개키 암호. 대칭키 암호. 공개키 암호. 공개키 암호 방식. 암호문 C.

orea
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. 공개키 암호 중부대학교 정보보호학과 이병천 교수 (c) Byoungcheon Lee, Joongbu Univ.

  2. 공개키 암호의 도입 • “New directions in cryptography” ; Diffie, Hellman • 공개키 암호 방식 이론 발표, 1976년 • RSA 공개키 암호 방식 ; Rivest, Shamir, Adleman • 소인수분해 문제 이용, 1978년 • MH 공개키 암호 방식 ; Merkle, Hellman • Knapsack 문제 이용 (c) Byoungcheon Lee, Joongbu Univ.

  3. 대칭키 암호와 공개키 암호 대칭키 암호 공개키 암호 (c) Byoungcheon Lee, Joongbu Univ.

  4. 공개키 암호 방식 암호문 C 평문 M 평문 M E 암호화 D 복호화 가입자 A 가입자 B KeB KdB 공개목록 KeB 키생성 seed 공중통신망 (c) Byoungcheon Lee, Joongbu Univ.

  5. KeA KeB KeC KeD KAB KAC KAD KBA KBC KBD KdA 가입자A 가입자A KdB 가입자D 가입자D 가입자B 가입자B 공중 통신망 공중 통신망 KDA KDB KDC KdB KCA KCB KCD 가입자C 가입자C KdC Ke : 공개키 Kd : 비밀키 KAB : AB간의 키 관용 암호 방식 공개키 암호 방식 공개키 암호를 이용한 키관리 (c) Byoungcheon Lee, Joongbu Univ.

  6. 대칭키 암호방식과 공개키 암호방식의 비교 (c) Byoungcheon Lee, Joongbu Univ.

  7. f x f(x)= y easy f-1 f-1 x= f-1 (y) x= f-1 (y) y y easy difficult trapdoor 일방향함수(One Way Function) • 일방향함수(one way function) • 비밀문 일방향 함수(trapdoor one way function) (c) Byoungcheon Lee, Joongbu Univ.

  8. 어려운 수학적 문제 • 쉬운 문제: 다항식 문제 (P 문제) • 어려운 문제: 지수식 문제 (NP 문제) • 소인수분해 문제 • n = p  q p, q : 소수 • 이산대수 문제 • y  g xmod p • Knapsack 문제 (c) Byoungcheon Lee, Joongbu Univ.

  9. f : 135979 x 115979 f -1 135979 115979 ? 135979x115979=15770708441 15770708441 easy difficult 소인수분해 문제 • 소인수분해 문제(factorization problem) • 큰 두 소수의 곱을 구하기는 쉽지만, 큰 두 소수의 곱인 합성수의 소인수 분해가 어려운 점을 이용하는 이론 • 예 : RSA, Rabin, LUC 등 (c) Byoungcheon Lee, Joongbu Univ.

  10. f (x)  10xmod19 f -1 10 Ind109=x f(10)  1010 9mod19 10 x9mod19 easy difficult 이산대수문제 • 이산대수 문제(discrete logarithm problem) • 큰 수 n을 법으로 하는 지수승 y kx mod n은 계산하기 쉽지만, 주어진 y와 k에 대하여 식 y kx mod n을 만족하는 x를 구하기 어려운 점을 이용하는 이론 • Diffie- Hellman, ElGamal, Massey-Omura, ECC (c) Byoungcheon Lee, Joongbu Univ.

  11. RSA 공개키 암호 Rivest Adleman Shamir 1977년 MIT의 Ron Rivest, Adi Shamir, Leonard Adleman에 의해 처음으로 제안된 공개키 암호 알고리즘 아직도 안전하다고 인정되고 널리 사용됨 키 길이 : 1024비트, 2048비트 (c) Byoungcheon Lee, Joongbu Univ.

  12. RSA 암호 방식 • RSA 암호 방식 구성 • 소인수분해 문제의 어려움 이용 • n = pq계산 p,q : 소수 •  (n) = (p –1) (q –1) 계산 : 오일러 함수 • gcd (Ke,  (n)) = 1 를 만족하는 Ke선택 • KeKd  1 mod  (n) 인 Kd를 계산 • (Ke, n) : 공개 암호화 키 • Kd : 비밀 복호화 키 (c) Byoungcheon Lee, Joongbu Univ.

  13. RSA 암호 방식 (계속) • 암호화 • CM Kemod n • 복호화 • M CKdmod n • 복호화 증명 KeKd =  (n) t + 1 • M MKeKd mod n  M  (n) t + 1 mod n  M  (n) tM mod n  (M t)  (n)M mod n  M mod n (c) Byoungcheon Lee, Joongbu Univ.

  14. RSA 암호 방식 (계속) • 암호화 및 복호화 C (c) Byoungcheon Lee, Joongbu Univ.

  15. RSA 암호 방식의 예 • 예 • p = 3, q = 11 • n = 33,  (33) = (3 –1) (11 – 1) = 20 • gcd (Ke =3,  (33)) = 1 • Ke (Kd = 7)  1 mod  (33) • M = 5 • C  M Ke mod n  53 mod 33  26 • M  CKd mod n  267 mod 33  5 (c) Byoungcheon Lee, Joongbu Univ.

  16. 공개키 암호의 해독 RSA-200 해독 2005. 5. 9. F. Bahr, M. Boehm, J. Franke, and T. Kleinjung Date: Mon, 9 May 2005 18:05:10 +0200 (CEST) From: Thorsten Kleinjung Subject: rsa200 We have factored RSA200 by GNFS. The factors are RSA-200 = 2799783391122132787082946763872260162107044678695542853756000992932612840010 7609345671052955360856061822351910951365788637105954482006576775098580557613 579098734950144178863178946295187237869221823983 = 3532461934402770121272604978198464368671197400197625023649303468776121253679 423200058547956528088349 × 7925869954478333033347085841480059687737975857364219960734330341455767872818 152135381409304740185467 병렬컴퓨터 이용 2.2GHz Opteron 컴퓨터의 75년 계산량 사용 http://www.loria.fr/~zimmerma/records/rsa200 (c) Byoungcheon Lee, Joongbu Univ.

  17. ElGamal 암호 방식 • 이산대수 문제의 어려움 이용 y gx mod p g : 원시원소 p : 소수 y 가 주어졌을 때 x를 구하는 문제 (c) Byoungcheon Lee, Joongbu Univ.

  18. ElGamal 암호 방식 (계속) • 이산대수 문제 예 Z23 51 5 58 16 515 19 mod 23 52 2 59 11 516 3 mod 23 53 10 510 9 517 15 mod 23 54 4 511 22 518 6 mod 23 55 20 512 18 519 7 mod 23 56 8 513 21 520 12 mod 23 57 17 514 13 521 14 mod 23 (c) Byoungcheon Lee, Joongbu Univ.

  19. (c) Byoungcheon Lee, Joongbu Univ.

  20. ElGamal 암호 방식 (계속) • 암호화 • k  RZp(p : 소수) • K  yBk (yB  g XB mod p) • C1  g k mod p • C2  KM mod p (M : 평문) • C = (C1,C2 ) • 복호화 • K (g k) XB mod p  C1 XB mod p • M  C2 / K mod p (c) Byoungcheon Lee, Joongbu Univ.

  21. ElGamal 암호 방식 (계속) • ElGamal 암호 방식의 구성 C (c) Byoungcheon Lee, Joongbu Univ.

  22. ElGamal 암호 방식 • ElGamal 암호 방식 예 C = (21, 18) (c) Byoungcheon Lee, Joongbu Univ.

  23. 전자서명 • 전자서명의 기능 • 사용자 인증 • 메시지 인증 • 서명 • 종이문서  인장, 수기서명 • 전자문서  전자서명 • 전자서명의 종류 • RSA, GQ, DSA, ElGamal, Schnorr, KCDSA (c) Byoungcheon Lee, Joongbu Univ.

  24. 전자서명의 요구조건 • 위조불가 (unforgeable) • 서명자 인증 (user authentication) • 부인불가 (nonrepudiation) • 변경불가 (unalterable) • 재사용 불가 (not reusable) (c) Byoungcheon Lee, Joongbu Univ.

  25. 수기서명과 전자서명의 비교 (c) Byoungcheon Lee, Joongbu Univ.

  26. 해쉬함수 Message M H Message Digest D = H(M) • 해쉬함수란? • 임의의 길이의 입력메시지에 대해 고정된 길이의 해쉬값(특징값, 지문)을 출력하는 함수 • 키를 사용하지 않는 공개된 함수 • 일방향함수: 출력 해쉬값으로부터 입력메시지를 찾아내기 어렵다. • 충돌회피성: 같은 해쉬값을 가지는 메시지쌍을 찾는 것이 어려워야 함 • MD5, SHA1, SHA2, HAS160 등 • 해쉬함수의 응용 • 전자서명 • 메시지인증코드 (공유키 사용) (c) Byoungcheon Lee, Joongbu Univ.

  27. 공개키 암호를 이용하는 전자서명 ※본인 인증 송신자는 자신만이 가지고 있는 개인키와 인증기관에서 인증 받은 공개키, 즉 인증서를 통해 본인 임을 입증 ※ 무결성 보장 원문의 해쉬값과 전자서명값을 복호화한 해쉬값을 비교함으로서 위.변조 여부를 판단 ※ 부인 봉쇄 송신자는 자신만이 가지고 있는 개인키를 이용하여 전자서명을 하였으므로 문서를 전송하지 않았다고 부인 불가 해쉬값 원문 원문 비교 전자서명값 전자서명값 해쉬값 해쉬값 개인키 공개키 송신자인증서 송신자(Client) 전자서명 생성 수신자(Server) 전자서명 검증 (c) Byoungcheon Lee, Joongbu Univ.

  28. RSA 전자서명 S, M (c) Byoungcheon Lee, Joongbu Univ.

  29. RSA 전자서명 • RSA 전자서명의 예 M = 5, S = 15 (c) Byoungcheon Lee, Joongbu Univ.

  30. M, S, R ElGamal 전자서명 (c) Byoungcheon Lee, Joongbu Univ.

  31. ElGamal 전자서명 • ElGamal 디지털 서명 예 M = 10, S = 11, R = 17 (c) Byoungcheon Lee, Joongbu Univ.

  32. Schnorr 서명 • 키생성 • 비밀키 xA • 공개키 yA • 서명 생성 • 는 m에 대한 서명 • 서명 검증 해쉬함수의 사용 (c) Byoungcheon Lee, Joongbu Univ.

  33. 전자서명 표준 • DSS : Digital Signature Standard • DSA : Digital Signature Algorithm • FIPS –186 등록, 1994년 • NIST (c) Byoungcheon Lee, Joongbu Univ.

More Related