1 New directions in cryptography Diffie Hellman 1976

  • Slides: 41
Download presentation

1. 공개키 암호의 개념 � 공개키 암호의 도입 ◦ “New directions in cryptography” ;

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

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

일방향함수(One Way Function) � 일방향함수(one x x= f-1 (y) n way function) 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. 8

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

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

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

이산대수문제 � 이산대수 문제(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. 11

RSA 암호 방식 (계속) � 암호화 ◦ C M � 복호화 e mod n

RSA 암호 방식 (계속) � 암호화 ◦ C M � 복호화 e mod n 증명 e d = (n ) t + 1 ◦ M Med mod n � 복호화 ◦ M C d 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. 15

RSA 암호 방식의 예 � 키생성 ◦ ◦ ◦ p = 3, q =

RSA 암호 방식의 예 � 키생성 ◦ ◦ ◦ p = 3, q = 11 n = 33, (33) = (3 – 1) (11 – 1) = 20 e=3을 선택, gcd (3, 20) = 1 d=7 계산, 3 x 7=1 mod 20 평문 메시지 M = 5 � 암호화 ◦ C M � 복호화 ◦ M C e mod n 53 mod 33 26 d mod n 267 mod 33 5 (c) Byoungcheon Lee, Joongbu Univ. 17

공개키 암호의 해독 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. 18

El. Gamal 암호 방식 (계속) � 이산대수 51 5 52 2 53 10 54

El. Gamal 암호 방식 (계속) � 이산대수 51 5 52 2 53 10 54 4 55 20 56 8 57 17 � � 문제 예 Z 23 58 16515 19 59 11516 3 510 9 517 511 22 518 512 18 519 513 21 520 514 13 521 mod 23 15 mod 6 mod 7 mod 12 mod 14 mod 23 23 23 18은 5의 몇제곱수인가? - 12 위 표가 없다면 어떻게 알아낼 수 있겠는가? - 어렵죠. (c) Byoungcheon Lee, Joongbu Univ. 20

Z 23 에서의 승산표 ^ 2 3 4 5 6 7 8 9 10

Z 23 에서의 승산표 ^ 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. 21

El. Gamal 암호 방식 (계속) � El. Gamal 암호 방식의 구성 가입자 A y.

El. Gamal 암호 방식 (계속) � El. Gamal 암호 방식의 구성 가입자 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 공개정보 g , p, y. A, y. B 가입자 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. 23

El. Gamal 암호 방식 � El. Gamal 암호 방식 예 송신자 A 공개정보 p

El. Gamal 암호 방식 � El. Gamal 암호 방식 예 송신자 A 공개정보 p = 23, g = 7 , y. A = 17, y. B = 15 수신자 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) 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 (c) Byoungcheon Lee, Joongbu Univ. 24

전자서명의 종류 (Rivest & Shamir & Adleman 제안, 1978) � El. Gamal (El. Gamal

전자서명의 종류 (Rivest & Shamir & Adleman 제안, 1978) � El. Gamal (El. Gamal 제안 , 1985) � DSA (NIST에서 1991년 미국전자서명 표준으로 제안) � Schnorr (1989년 Schnorr가 개인식별방식과 함께 제안) � GQ (1998년 Guillou와 Quisquater가 제안) � ESIGN (1991년 후지오까, 오까모도, 미야구찌가 제안) � Fiat Shamir (Fiat, Shamir, 1987) � KCDSA (1999, TTA표준) � ECDSA (2000, DSA의 변형, 미국 NIST 전자서명 표준) � EC-KCDSA (2001, KCDSA의 변형, TTA표준) � RSA (c) Byoungcheon Lee, Joongbu Univ. 28

RSA 전자서명 � RSA 전자서명의 예 서명자 A d. A = 23 공개 정보

RSA 전자서명 � RSA 전자서명의 예 서명자 A d. A = 23 공개 정보 e. A = 7, n. A = 55 검증자 B 서명문 M = 5 서명 S Md. A mod n. A = 523 mod 55 15 mod 55 M = 5, S = 15 M=5 M Se. A mod n. A = 157 mod 55 5 mod 55 M = M 확인 (c) Byoungcheon Lee, Joongbu Univ. 34

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. 37

El. Gamal 전자서명 � El. Gamal 디지털 서명 예 서명자 A x. A =

El. Gamal 전자서명 � El. Gamal 디지털 서명 예 서명자 A 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 공개 정보 y. A, p=23, g=5 M = 10, S = 11, R = 17 검증자 B y. AR RS g. M mod p 1117 × 1711 510 mod 23 확인 11 mod 22 (c) Byoungcheon Lee, Joongbu Univ. 38