u New directions in cryptography Diffie Hellman 1976

  • Slides: 33
Download presentation

공개키 암호의 도입 u “New directions in cryptography” ; Diffie, Hellman - 공개키 암호

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

일방향함수(One Way Function) u 일방향함수(one way function) x x= f-1 (y) n f easy

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

소인수분해 문제 u 소인수분해 문제(factorization problem) - 큰 두 소수의 곱을 구하기는 쉽지만, 큰

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

이산대수문제 u 이산대수 문제(discrete logarithm problem) - 큰 수 n을 법으로 하는 지수승 y

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

RSA 공개키 암호 u u u 1977년 MIT의 Ron Rivest, Adi Shamir, Leonard Adleman에

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

RSA 암호 방식 (계속) u 암호화 - C M u Ke mod n 복호화

RSA 암호 방식 (계속) u 암호화 - C M u Ke mod n 복호화 - M CKd mod n u 복호화 증명 Ke Kd = (n) t + 1 - M MKe. Kd mod n M (n) t + 1 mod n M (n) t M mod n (M t) (n) M mod n (c) Byoungcheon Lee, Joongbu Univ. 13

RSA 암호 방식의 예 u 예 - p = 3, q = 11 -

RSA 암호 방식의 예 u 예 - 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 C Kd mod n 267 mod 33 5 (c) Byoungcheon Lee, Joongbu Univ. 15

공개키 암호의 해독 RSA-200 해독 2005. 5. 9. F. Bahr, M. Boehm, J. Franke,

공개키 암호의 해독 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: rsa 200 We have factored RSA 200 by GNFS. The factors are RSA-200 = 2799783391122132787082946763872260162107044678695542853756000992932612840010 7609345671052955360856061822351910951365788637105954482006576775098580557613 579098734950144178863178946295187237869221823983 = 3532461934402770121272604978198464368671197400197625023649303468776121253679 423200058547956528088349 × 7925869954478333033347085841480059687737975857364219960734330341455767872818 152135381409304740185467 병렬컴퓨터 이용 2. 2 GHz Opteron 컴퓨터의 75년 계산량 사용 http: //www. loria. fr/~zimmerma/records/rsa 200 (c) Byoungcheon Lee, Joongbu Univ. 16

El. Gamal 암호 방식 (계속) u 이산대수 문제 예 Z 23 51 5 52

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

^ 2 3 4 5 6 7 8 9 10 11 12 13 14

^ 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2 4 9 16 2 13 3 18 12 8 6 6 8 12 18 3 13 2 16 9 4 1 3 8 4 18 10 9 21 6 16 11 20 3 12 7 17 2 14 13 5 19 15 22 4 16 12 3 4 8 9 2 6 18 13 13 18 6 2 9 8 4 3 12 16 1 5 9 13 12 20 2 17 16 8 19 5 18 4 15 7 6 21 3 11 10 14 22 6 18 16 2 8 12 4 13 3 6 9 9 6 3 13 4 12 8 2 16 18 1 7 13 2 8 17 3 5 12 4 14 7 16 9 19 11 18 20 6 15 21 10 22 8 3 6 9 16 18 12 4 13 2 8 8 2 13 4 12 18 16 9 6 3 1 9 6 18 13 11 16 15 9 2 20 19 4 3 21 14 8 7 12 10 5 17 22 10 12 8 6 9 4 13 3 18 16 2 2 16 18 3 13 4 9 6 8 12 1 11 1 22 22 1 22 22 12 2 3 4 18 6 16 8 9 13 12 12 13 9 8 16 6 18 4 3 2 1 13 4 9 16 21 13 20 18 12 15 17 6 8 11 5 3 10 2 7 14 19 22 14 8 4 18 13 9 2 6 16 12 3 3 12 16 6 2 9 13 18 4 8 1 15 16 12 3 19 8 14 2 6 5 10 13 18 17 21 9 15 4 20 11 7 22 16 9 13 12 3 2 6 16 8 4 18 18 4 8 16 6 2 3 12 13 9 1 17 18 16 2 15 12 19 13 3 17 14 9 6 20 10 4 11 8 21 7 5 22 18 13 2 8 6 3 18 12 4 9 16 16 9 4 12 18 3 6 8 2 13 1 19 3 6 9 7 18 11 4 13 21 15 8 2 10 19 12 5 16 14 17 20 22 20 6 18 13 12 16 8 9 2 3 4 4 3 2 9 8 16 12 13 18 6 1 21 12 8 6 14 4 10 3 18 7 21 2 16 5 20 13 19 9 17 15 11 22 22 1 1 1 1 1 1 (c) Byoungcheon Lee, Joongbu Univ. 19

El. Gamal 암호 방식 (계속) u 암호화 - u k RZp (p : 소수)

El. Gamal 암호 방식 (계속) u 암호화 - u k RZp (p : 소수) K y. Bk (y. B g XB mod p) C 1 g k mod p C 2 KM mod p (M : 평문) C = (C 1 , C 2 ) 복호화 - K (g k) C 1 XB XB mod p - M C 2 / K mod p (c) Byoungcheon Lee, Joongbu Univ. 20

El. Gamal 암호 방식 (계속) u El. Gamal 암호 방식의 구성 공개정보 g ,

El. Gamal 암호 방식 (계속) u El. Gamal 암호 방식의 구성 공개정보 g , p, y. A, y. B 가입자 A y. A g. XA mod p k R Zp – 1 K y. Bk mod p C 1 gk mod p C 2 KM mod p C = C 1 || C 2 가입자 B y. B g. XB mod p C K C 1 XB mod p M C 2 /K mod p (c) Byoungcheon Lee, Joongbu Univ. 21

El. Gamal 암호 방식 u El. Gamal 암호 방식 예 공개정보 p = 23,

El. Gamal 암호 방식 u El. Gamal 암호 방식 예 공개정보 p = 23, g = 7 , y. A = 17, y. B = 15 송신자 A 수신자 B XA = 5 XB = 9 y. A g. XA = 75 17 mod 23 r = 3 R Z 22 K y. Br = 153 17 mod 23 C 1 gr = 73 21 mod 23 M = 20 C 2 KM = 17 20 y. B g. XB = 79 15 mod 18 mod 23 C = (C 1 , C 2) = (21, 18) C = (21, 18) (c) Byoungcheon Lee, Joongbu Univ. 23 C 1 = 21 C 2 = 18 K C 1 XB 219 17 mod 23 M C 2 /K = C 2 K – 1 18 19 20 mod 23 22

전자서명의 요구조건 위조불가 (unforgeable) u 서명자 인증 (user authentication) u 부인불가 (nonrepudiation) u 변경불가

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

RSA 전자서명 서명자 A 공개 정보 Ke. A, n. A, Ke. B, n. B

RSA 전자서명 서명자 A 공개 정보 Ke. A, n. A, Ke. B, n. B Ke. B, Kd. B, n. B Ke. A, Kd. A , n. A M : 서명문 h(M) = H S HKd. A mod n. A 검증자 B S, M h(M) = H H SKe. A mod n. A 확인 (c) Byoungcheon Lee, Joongbu Univ. 28

RSA 전자서명 u RSA 전자서명의 예 서명자 A Kd. A = 23 공개 정보

RSA 전자서명 u RSA 전자서명의 예 서명자 A Kd. A = 23 공개 정보 Ke. A = 7, n. A = 55 검증자 B 서명문 M = 5 서명 S MKd. A mod n. A = 523 mod 55 15 mod 55 M = 5, S = 15 (c) Byoungcheon Lee, Joongbu Univ. M=5 M SKe. A mod n. A = 157 mod 55 5 mod 55 M = M 확인 29

El. Gamal 전자서명 공개 정보 y. A, p, g 서명자 A y. A g.

El. Gamal 전자서명 공개 정보 y. A, p, g 서명자 A y. A g. XA mod p M : 서명문 H = h(M) k R Z p – 1 R gk mod p H = h(M) S (H– XAR )k – 1 mod 검증자 B M, S, R y. AR RS g. H mod p 확인 p– 1 (c) Byoungcheon Lee, Joongbu Univ. 30

El. Gamal 전자서명 u El. Gamal 디지털 서명 예 공개 정보 y. A, p=23,

El. Gamal 전자서명 u El. Gamal 디지털 서명 예 공개 정보 y. A, p=23, g=5 서명자 A 검증자 B x. A = 9 y. A 59 11 mod 23 k = 7 R Z 22 k – 1 19 mod 22 R 57 17 mod 23 M = 10 S (10 – 9 × 17) × 19 M = 10, S = 11, R = 17 y. AR RS g. M mod p 1117 × 1711 510 mod 23 확인 11 mod 22 (c) Byoungcheon Lee, Joongbu Univ. 31

전자서명 표준 DSS : Digital Signature Standard u DSA : Digital Signature Algorithm u

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