Public key

19
수수수 수수수 ([email protected]) PUBLIC KEY

Transcript of Public key

Page 1: Public key

수학과 탁범준 ([email protected])

PUBLIC KEY

Page 2: Public key

키를 저장할 공간이 필요하다 , 한 사람당 1 개의 키 암호 , 복호속도가 빠르다 . => 1 : 1 통신에 유리

SYMMETRIC

Page 3: Public key

1 개의 키를 여러 명에게 사용해도 안전하다 .

하나의 키로 여러 명과 암호화 통신을 할 수 있다 . => 1 : n 통신에 유리

PUBLIC

Page 4: Public key

왜 비대칭키 ?

Page 5: Public key

1

DataEncryptionStandard노잼

Page 6: Public key

** 공개 키의 기본이 되는 아이디어

단점 : Man In The Middle Attack 에 취약하다

DIFFIE-HELLMAN

Page 7: Public key

Kgen

1. Choose large prime p, g (p!=q)

2. n=p*q

3. Choose e such that , gcd(

4. Compute d such that d=

Enc

Dec

** 암호화 과정을 가볍게 하기 위하여 e 를 작게 고정시키는 경우도 있다 .

(3 or 2^16+1)

(TEXT BOOK) RSA

Page 8: Public key

CORRECTNESS

Page 9: Public key

RSA

Q1. N 을 빠른 시간 내에 인수분해를 할 수 있느냐Q2. 숫자가 소수인지 아닌지 판별 할 수 있느냐

Page 10: Public key

1. Fermat Primality Test : 페르마 소정리를 이용한 소수 판별기법

단점 : Carmichael number 라는 예외가 존재 (ex. p=561)

2. Miller Rabin Test :

단점 : p 가 소수일 확률은

소수 판별기법

Page 11: Public key

Kgen : n=pgChoose e such that

ed=1 mod

Enc :

Dec :

RSA - CRT

Page 12: Public key

BREAK TIME

Page 13: Public key

1. The group operation * is closed. That is, for all a,b, G, it holds that a*b=c

2. The group operation is associative.

3. There is a identity element and inverse element.

4. The group should be abelian group.

5. Cyclic group : .

GROUP

Page 14: Public key

Kgen

1. Choose x as a private key

2. Choose a group as a public key(=take p)

3. Compute as a public key

Enc

Take random number r, and compute

Dec

/ = m

** r : session key

ELGAMAL

Page 15: Public key

POINT OF INFINITY

Page 16: Public key

Kgen

1. Take a elliptic curve (ex : )

2. Choose random number r as a private key.

3. Let r*p and group of elliptic curve be public key

Enc, Dec = Same with Elgamal

ELLIPTIC CURVE

Page 17: Public key
Page 18: Public key

1. P+Q :

2. P+P :

3. P+

4. P+(-P)=

5. + =

CALC

Page 19: Public key

(0,2)+(2,1)=(2,4)

CALC