공개키 암호

20
(c) Byoungcheon Lee, Joongb u Univ. 1 공공공 공공 중중중중중 중중중중중중 중중중 중중

Upload: penelope-ardelis

Post on 14-Mar-2016

70 views

Category:

Documents


7 download

DESCRIPTION

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

TRANSCRIPT

Page 1: 공개키 암호

(c) Byoungcheon Lee, Joongbu Univ. 1

공개키 암호

중부대학교 정보보호학과이병천 교수

Page 2: 공개키 암호

(c) Byoungcheon Lee, Joongbu Univ. 2

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

Hellman 공개키 암호 방식 이론 발표 , 1976 년

RSA 공개키 암호 방식 ; Rivest, Shamir, Adleman 소인수분해 문제 이용 , 1978 년

MH 공개키 암호 방식 ; Merkle, Hellman Knapsack 문제 이용

Page 3: 공개키 암호

(c) Byoungcheon Lee, Joongbu Univ. 3

공개키 암호 방식공개키 암호 방식

E암호화

D복호화

암호문 C 평문 M 가입자 A 가입자 B

seed공개목록KeB

KeB

키생성

KdB

공중통신망

평문 M

Page 4: 공개키 암호

(c) Byoungcheon Lee, Joongbu Univ. 4

공개키 암호를 이용한 키관리공개키 암호를 이용한 키관리

공중통신망

가입자 A

가입자 C

가입자B

가입자 D

KAB

KAC

KAD

KBA

KBC

KBD

KCA

KCB

KCD

KDA

KDB

KDC

KAB : AB 간의 키

관용 암호 방식

공중통신망

가입자 A

가입자 C

가입자B

가입자 D

KdA

KeA

KeB

KeC

KeD

KdC

Ke : 공개키 Kd : 비밀키 공개키 암호 방식

KdB

KdB

Page 5: 공개키 암호

(c) Byoungcheon Lee, Joongbu Univ. 5

대칭키 암호방식과 공개키 암호방식의 비교대칭키 암호방식과 공개키 암호방식의 비교

대칭키 암호 방식 공개키 암호방식암호키 관계 암호화키 =

복호화키암호화키 복호화키

암호화 키 비밀 공개복호화 키 비밀 비밀

암호 알고리즘 비밀 / 공개 공개비밀키 수 nC2 2n

안전한 인증 곤란 용이암호화 속도 고속 저속

Page 6: 공개키 암호

(c) Byoungcheon Lee, Joongbu Univ. 6

일방향함수일방향함수 (One Way Function)(One Way Function) 일방향함수 (one way function)

x f(x)= yf

easy

x= f-1 (y) yf-1

difficult

비밀문 일방향 함수 (trapdoor one way function)

x= f-1 (y) yf-1

easytrapdoor

Page 7: 공개키 암호

(c) Byoungcheon Lee, Joongbu Univ. 7

어려운 수학적 문제어려운 수학적 문제 쉬운 문제 : 다항식 문제 (P 문제 ) 어려운 문제 : 지수식 문제 (NP 문제 )

소인수분해 문제 n = p q p, q : 소수

이산대수 문제 y g x mod p

Knapsack 문제

Page 8: 공개키 암호

(c) Byoungcheon Lee, Joongbu Univ. 8

소인수분해 문제소인수분해 문제

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

곱인 합성수의 소인수 분해가 어려운 점을 이용하는 이론

예 : RSA, Rabin, LUC 등

135979115979 135979x115979=15770708441

f : 135979 x 115979easy

? 15770708441f -1

difficult

Page 9: 공개키 암호

(c) Byoungcheon Lee, Joongbu Univ. 9

이산대수문제 이산대수문제

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

계산하기 쉽지만 , 주어진 y 와 k 에 대하여 식 y kx mod n 을 만족하는 x 를 구하기 어려운 점을 이용하는 이론

Diffie- Hellman, ElGamal, Massey-Omura, ECC

10 f(10) 1010 9 mod19 f (x) 10xmod19

easy

Ind109=x 10 x9 mod19 f -1

difficult

Page 10: 공개키 암호

(c) Byoungcheon Lee, Joongbu Univ. 10

RSA 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 : 비밀 복호화 키

Page 11: 공개키 암호

(c) Byoungcheon Lee, Joongbu Univ. 11

RSA RSA 암호 방식 암호 방식 (( 계속계속 )) 암호화

C M Ke mod n

복호화 M CKd mod n

복호화 증명

Ke Kd = (n) t + 1 M MKeKd mod n

M (n) t + 1 mod n M (n) t M mod n

(M t) (n) M mod n M mod n

Page 12: 공개키 암호

(c) Byoungcheon Lee, Joongbu Univ. 12

RSA RSA 암호 방식 암호 방식 (( 계속계속 ))

증명

Ke Kd = (n) t + 1 M MKeKd mod n

M (n) t + 1 mod n M (n) t M mod n

(M t) (n) M mod n M mod n

Page 13: 공개키 암호

(c) Byoungcheon Lee, Joongbu Univ. 13

RSA RSA 암호 방식 암호 방식 (( 계속계속 )) 암호화 및 복호화

C

가입자 A 공개 정보 KeA, nA , KeB, nB

가입자 B

nA = pA qA

KeA, KdA 계산

암호화C M Ke

B mod nB

nB = pB qB

KeB, KdB 계산

복호화M C Kd B mod nB

Page 14: 공개키 암호

(c) Byoungcheon Lee, Joongbu Univ. 14

RSA 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 C Kd mod n 267 mod 33 5

Page 15: 공개키 암호

(c) Byoungcheon Lee, Joongbu Univ. 15

ElGamal ElGamal 암호 방식암호 방식 이산대수 문제의 어려움 이용

y gx mod pg : 원시원소p : 소수

y 가 주어졌을 때 x 를 구하는 문제

Page 16: 공개키 암호

(c) Byoungcheon Lee, Joongbu Univ. 16

ElGamal ElGamal 암호 방식 암호 방식 (( 계속계속 )) 이산대수 문제 예 Z23

51 5 58

16 515 19 mod 23

52 2 59

11 516 3 mod 23

53 10510

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

Page 17: 공개키 암호

(c) Byoungcheon Lee, Joongbu Univ. 17

^ 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 1

3 3 18

12 8 6 6 8 1

218 3 1

3 2 16 9 4 1

3 8 4 18

10 9 2

1 6 16

11

20 3 1

2 7 17 2 1

413 5 1

915

22

4 16

12 3 4 8 9 2 6 1

813

13

18 6 2 9 8 4 3 1

216 1

5 9 13

12

20 2 1

716 8 1

9 5 18 4 1

5 7 6 21 3 1

110

14

22

6 18

16 2 8 1

2 4 13 3 6 9 9 6 3 1

3 4 12 8 2 1

618 1

7 13 2 8 1

7 3 5 12 4 1

4 7 16 9 1

911

18

20 6 1

521

10

22

8 3 6 9 16

18

12 4 1

3 2 8 8 2 13 4 1

218

16 9 6 3 1

9 6 18

13

11

16

15 9 2 2

019 4 3 2

114 8 7 1

210 5 1

722

10

12 8 6 9 4 1

3 3 18

16 2 2 1

618 3 1

3 4 9 6 8 12 1

11 1 1 1 2

2 1 22 1 1 2

222 1 1 2

222 1 2

2 1 22

22

22

22

12 2 3 4 1

8 6 16 8 9 1

312

12

13 9 8 1

6 6 18 4 3 2 1

13 4 9 1

621

13

20

18

12

15

17 6 8 1

1 5 3 10 2 7 1

419

22

14 8 4 1

813 9 2 6 1

612 3 3 1

216 6 2 9 1

318 4 8 1

15

16

12 3 1

9 8 14 2 6 5 1

013

18

17

21 9 1

5 4 20

11 7 2

216 9 1

312 3 2 6 1

6 8 4 18

18 4 8 1

6 6 2 3 12

13 9 1

17

18

16 2 1

512

19

13 3 1

714 9 6 2

010 4 1

1 8 21 7 5 2

218

13 2 8 6 3 1

812 4 9 1

616 9 4 1

218 3 6 8 2 1

3 1

19 3 6 9 7 1

811 4 1

321

15 8 2 1

019

12 5 1

614

17

20

22

20 6 1

813

12

16 8 9 2 3 4 4 3 2 9 8 1

612

13

18 6 1

21

12 8 6 1

4 4 10 3 1

8 7 21 2 1

6 5 20

13

19 9 1

715

11

22

22 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Page 18: 공개키 암호

(c) Byoungcheon Lee, Joongbu Univ. 18

ElGamal ElGamal 암호 방식 암호 방식 (( 계속계속 )) 암호화

k RZp (p : 소수 ) K yB

k (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

Page 19: 공개키 암호

(c) Byoungcheon Lee, Joongbu Univ. 19

ElGamal ElGamal 암호 방식 암호 방식 (( 계속계속 ))

ElGamal 암호 방식의 구성

가입자 A 공개정보 g , p, yA, yB

가입자 B

y A gXA mod pk R Zp – 1

K yBk mod p

C1 gk mod p C2 KM mod p C = C1 || C2

yB gXB mod p

K C1XB mod p

M C2 /K mod p

C

Page 20: 공개키 암호

(c) Byoungcheon Lee, Joongbu Univ. 20

ElGamal ElGamal 암호 방식암호 방식

ElGamal 암호 방식 예

송신자 A공개정보

p = 23, g = 7 , yA = 17, yB = 15

수신자 B

X A = 5y A gXA = 75 17 mod

23r = 3 R Z22

K yBr = 153 17 mod

23C1 gr = 73 21 mod

23M = 20

C2 KM = 17 20 18 mod 23 C = (C1 , C2) = (21, 18)

XB = 9yB gXB = 79 15 mod

23C1 = 21C2 = 18

K C1XB 219

17 mod 23M C2 /K = C2 K –1

18 19 20 mod 23

C = (21, 18)