공개키 암호
DESCRIPTION
공개키 암호. 중부대학교 정보보호학과 이병천 교수. 공개키 암호의 도입. “ New directions in cryptography ” ; Diffie, Hellman 공개키 암호 방식 이론 발표, 1976년 RSA 공개키 암호 방식 ; Rivest, Shamir, Adleman 소인수분해 문제 이용, 1978년 MH 공개키 암호 방식 ; Merkle, Hellman Knapsack 문제 이용. 공개키 암호 방식. 암호문 C. 평문 M. 평문 M. E 암호화. D 복호화. - PowerPoint PPT PresentationTRANSCRIPT
(c) Byoungcheon Lee, Joongbu Univ. 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
공개키 암호 방식공개키 암호 방식
E암호화
D복호화
암호문 C 평문 M 가입자 A 가입자 B
seed공개목록KeB
KeB
키생성
KdB
공중통신망
평문 M
(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
(c) Byoungcheon Lee, Joongbu Univ. 5
대칭키 암호방식과 공개키 암호방식의 비교대칭키 암호방식과 공개키 암호방식의 비교
대칭키 암호 방식 공개키 암호방식암호키 관계 암호화키 =
복호화키암호화키 복호화키
암호화 키 비밀 공개복호화 키 비밀 비밀
암호 알고리즘 비밀 / 공개 공개비밀키 수 nC2 2n
안전한 인증 곤란 용이암호화 속도 고속 저속
(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
(c) Byoungcheon Lee, Joongbu Univ. 7
어려운 수학적 문제어려운 수학적 문제 쉬운 문제 : 다항식 문제 (P 문제 ) 어려운 문제 : 지수식 문제 (NP 문제 )
소인수분해 문제 n = p q p, q : 소수
이산대수 문제 y g x mod p
Knapsack 문제
(c) Byoungcheon Lee, Joongbu Univ. 8
소인수분해 문제소인수분해 문제
소인수분해 문제 (factorization problem) 큰 두 소수의 곱을 구하기는 쉽지만 , 큰 두 소수의
곱인 합성수의 소인수 분해가 어려운 점을 이용하는 이론
예 : RSA, Rabin, LUC 등
135979115979 135979x115979=15770708441
f : 135979 x 115979easy
? 15770708441f -1
difficult
(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
(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 : 비밀 복호화 키
(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
(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
(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
(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
(c) Byoungcheon Lee, Joongbu Univ. 15
ElGamal ElGamal 암호 방식암호 방식 이산대수 문제의 어려움 이용
y gx mod pg : 원시원소p : 소수
y 가 주어졌을 때 x 를 구하는 문제
(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
(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
(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
(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
(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)