1. 정보보호 개론(2)
목 차 1. 해쉬 함수 2. 메시지 인증 3. 전자서명 2
1.1 해쉬함수 모델 3
1.2 해쉬함수 종류 전용 해쉬 함수 블록 암호 기반 해쉬 함수-DES 기반 모듈러 연산에 기반 해쉬 함수 MD4, MD5, SHA, SHA-1, RIPEMD-128/160, HAS-160 블록 암호 기반 해쉬 함수-DES 기반 Single length MDCs ※ Matyas-Meyer-Oseas, Davies-Meyer, Miyaguchi-Preneel MDC-2 MDC-4 모듈러 연산에 기반 해쉬 함수 MASH-1, MASH-2 4
1.3 전용 해쉬 알고리즘 MD5 SHA-1 RIPEMD-128/160 HAS-160 5
MD5 알고리즘 6
MD5 알고리즘 (계속) fF , ABCD, Yq, T [1-16] 16회 fG , ABCD, Yq, T [17-32] 16회 HMD5 처리 과정 CVq 128 Yq 512 A B C D fF , ABCD, Yq, T [1-16] 16회 A B C D fG , ABCD, Yq, T [17-32] 16회 A B C D fH , ABCD, Yq, T [33-48] 16회 A B C D fI , ABCD, Yq, T [49-64] 16회 mod 232 CVq+1 7
MD5 알고리즘 (계속) MD5 초기값 A = 0x 0 1 2 3 4 5 6 7 B = 0x 8 9 A B C D E F C = 0x F E D C B A 9 8 D = 0x 7 6 5 4 3 2 1 0 8
MD5 알고리즘 (계속) MD5의 HMD5 상수 T [i]의 값 T [i] = 232 * ABS (sin(i)) 정수부분; i는 라디안 T[1] = D76AA478 T[17] = F61E2562 T[33] = FFFA3942 T[49] = F4292244 T[2] = E8C7B756 T[18] = C040B340 T[34] = 8771F681 T[50] = 432AFF97 T[3] = 242070DB T[19] = 265E5A51 T[35] = 699D6122 T[51] = AB9423A7 T[4] = C1BDCEEE T[20] = E9B6C7AA T[36] = FDE5380C T[52] = FC93A039 T[5] = F57C0FAF T[21] = D62F105D T[37] = A4BEEA44 T[53] = 655B59C3 T[6] = 4787C62A T[22] = 02441453 T[38] = 4BDECFA9 T[54] = 8F0CCC92 T[7] = A8304613 T[23] = D8A1E681 T[39] = F6BB4B60 T[55] = FFEFF47D T[8] = FD469501 T[24] = E7D3FBC8 T[40] = BEBFBC70 T[56] = 85845DD1 T[9] = 698098D8 T[25] = 21E1CDE6 T[41] = 289B7EC6 T[57] = 6FA87E4F T[10] = 8B44F7AF T[26] = C33707D6 T[42] = EAA127FA T[58] = FE2CE6E0 T[11] = FFFF5BB1 T[27] = F4D50D87 T[43] = D4EF3085 T[59] = A3014314 T[12] = 895CD7BE T[28] = 455A14ED T[44] = 04881D039 T[60] = 4E0811A1 T[13] = 6B901122 T[29] = A9E3E905 T[45] = D9D4D039 T[61] = F7537E82 T[14] = FD987193 T[30] = FCEFA3F8 T[46] = E6DB99E5 T[62] = BD3AF235 T[15] = A679438E T[31] = 676F02D9 T[47] = 1FA27CF8 T[63] = 2AD7D2BB T[16] = 49B40821 T[32] = 8D2A4C8A T[48] = C4AC5665 T[64] = EB86D391 9
MD5 알고리즘 (계속) MD5의 HMD5 의 기본 동작 g X[K] T [i] CLSS CLSS A B C D A B C D g : 기약 함수 F, G, H, I 중의 하나 CLSS=<<<s :32 비트 순환 좌측 쉬프트(로테이션) X[k] : 메시지의 q번째 512비트 블록 중에서 k번째 단어(32비트) T[i] : 행렬 T에서 i번째 단어(32비트) : 법 232 의 덧셈 A B C D g X[K] T [i] CLSS CLSS 라운드 기약함수 g g(b,c,d) 1 F(B,C,D) (BC)+(B D) 2 G(B,C,D) (BD)+(CD) 3 H(B,C,D) BCD 4 I(B,C,D) C(B+D) A B C D 10
SHA-1 알고리즘 Secure Hash Algorithm NIST(National Institute of Standards and Technology)에서 개발 1993년에 표준으로 발표 (FIPS 180) 1995년에 개선된 버전 발표 (FIPS 180-1) SHA-1 해쉬길이: 160 비트(5개의 32 비트 워드) 입력: 264 비트 보다 작은 임의의 크기의 입력 512비트 단위로 적용 전체 입력의 크기가 512 비트의 배수가 아니면 padding을 한다. 마지막 64 비트에는 실제 크기를 기록한다. 11
SHA-1 알고리즘 (계속) L512비트=N 32비트 서명문 M 100 0 64 서명문 M 100 0 64 서명문 형식 패딩 패턴 : 1000 64비트 : 서명문 길이 표시 상위 32비트와 하위 32비트 교환 L512비트=N 32비트 서명문 M 100 0 64 서명문 M 100 0 64 448 mod 512 12
SHA-1 알고리즘 (계속) 512 비트 입력은 80개의 32비트 블록으로 확장 Wt = Mt, t = 0,…,15 Wt = (Wt-3 . Wt-8 . Wt-14 . Wt-16) <<< 1, t = 16,…,79 <<<: circular left shift 4 라운드 라운드 당 20 단계 5 개의 32 비트 초기 값을 사용 A = 0x67452301 B = 0xefcdab89 C = 0x98badcfe D = 0x10325476 E = 0xc3d2e1f0 13
SHA-1 알고리즘 (계속) 14
SHA-1 알고리즘 (계속) 15
RIPEMD–160 알고리즘 L512비트=N 32비트 서명문 M 100 0 64 서명문 M 100 0 64 서명문 형식 패딩 패턴 : 1000 64비트 : 서명문 길이 표시 상위 32비트와 하위 32비트 교환 L512비트=N 32비트 서명문 M 100 0 64 서명문 M 100 0 64 448 mod 512 16
RIPEMD–160 알고리즘 (계속) Y0 Y1 Yq YL–1 CV0= IV CV1 CVq CVL–1 CVL 512비트 512비트 512비트 512비트 Y0 Y1 Yq YL–1 512 512 512 512 160 160 160 160 160 HRIP-160 HRIP-160 HRIP-160 HRIP-160 ABCDE CV0= IV CV1 CVq CVL–1 CVL 17
RIPEMD–160 알고리즘 (계속) RIPEMD 초기값 A = 0 1 2 3 4 5 6 7 B = 8 9 A B C D E F C = F E D C B A 9 8 D = 7 6 5 4 3 2 1 0 E = 0 F E 1 D 2 C 3 18
RIPEMD–160 알고리즘 (계속) CVq+1 f1, K1, Xi 16 steps A B C D E f2, K2, X(i) : mod 232 Yq 19
RIPEMD–160 알고리즘 (계속) RIPEMD의 HRIP–160 상수 j = 0 ~ 15 K1 = 00000000 K1´ = 50A28BE6 j = 16 ~ 31 K2 = 5A827999 K2´ = 5C4DD124 j = 32 ~ 47 K3 = 6ED9EBA1 K3´ = 6D703EF3 j = 48 ~ 63 K4 = 8F1BBCDC K4´ = 7A6D76E9 j = 64 ~ 79 K5 = A953FD4E K5´ = 00000000 20
RIPEMD–160 알고리즘 (계속) RIPEMD의 논리함수 21
RIPEMD–160 알고리즘 (계속) HRIP–160 기본 동작 A, B, C, D, E = 32비트 버퍼 j = 스텝 수 (0≤j≤79) rols(j) = rotation(회전) Xj = 512비트 입력 값에서 선택된 32비트 Kj = 상수 22
HAS-160 알고리즘 HAS-160 한국 디지탈 서명 표준인 KCDSA에서 사용할 목적으로 개발 160비트의 해쉬 값 512비트 단위로 입력 값 패딩 규칙은 SHA-1과 동일하다. 23
HAS-160 알고리즘 (계속) 초 기 화 값 각 라운드 상수 값 24
HAS-160 알고리즘 (계속) 기 본 동 작 A, B, C, D, E = 32비트 버퍼 t = 라운드 수 (0≤t≤79) Ft = 라운드 함수 CLS(1)S/CLS(2)s = 32비트에서 s비트 순환 좌측 쉬프트 X[t] =512비트 입력 값에서 선택된 32비트, Kt : 상수 값 기 본 동 작 25
해쉬 함수 요약 전용 해쉬 함수 요약 26
2. 메시지 인증 메시지 인증 일반 모델 만일 수신된 MAC과 계산된 MAC이 일치한다면 수신자는 메시지가 변경되지 않았다고 확신할 수 있음 수신자는 합법적 송신자로부터 메시지가 왔다고 확신함 M | | C Compare K CK(M) Source Destination K 27
2. 메시지 인증 2.1 메시지 암호화 2.2 메시지 인증 코드 2.3 해쉬 함수 28
2.1 메시지 암호화 1) 관용 암호 방식의 이용 기밀성 제공 A와 B 만이 K를 공유하고 암/복호화 가능 단순한 인증 제공 K를 아는 A만이 해당 암호문 작성 가능 서명 제공 불가 수신자가 메시지 위조 가능; 송신자가 메시지 부인 그림 11.1(b) 29
2.1 메시지 암호화 (계속) 2) 단순 공개키 암호 방식의 이용 기밀성 제공: 메시지를 복호화할 수 있는 사용자는 B 뿐임 인증은 제공하지 못함: 아무나 B의 공개키를 이용할 수 있음 E M D KU KR EKU (M) b 그림 11.1(b) 30
2.1 메시지 암호화 (계속) 3) 단순 공개키 암호 방식의 이용(2) 인증과 디지털 서명은 제공하나 기밀성은 제공하지 않음 기밀성 제공 누구나 A의 공개키를 가질 수 있고 복호화가 가능 인증과 디지털 서명 제공 A 만이 메시지를 생성할 수 있음 B도 암호문의 구성은 할 수 없음 E M D KR a KU EKR (M) 그림 11.1(c) 31
2.1 메시지 암호화 (계속) 4) 공개키 암호방식의 2중 적용 M E D 인증과 디지털 서명 제공 KUa 로 복호화 될 수 있는 암호문은 KRa 소유자만 작성 가능 기밀성 제공 KUb로 암호화된 이미지는 KRb 소유자만 복호화 가능 M E D KR a EKR (M) KU b EKU [EKR (M)] 그림 11.1(d) 32
2.2 메시지 인증 코드 암호학적 점검 값인 MAC을 메시지에 추가하는 방식 암호학적 점검값 비밀키를 사용하여 생성된 작은 크기의 데이터 블록 메시지와 키의 함수 : MAC = Ck(M) 메시지+MAC을 전송하고 수신측에서는 계산한 MAC 과 수신한 MAC을 비교하여 인증 수신자는 메시지 변경이 없음을 확신함 수신자는 합법적인 송신자로부터 메시지가 왔음을 확신함 메시지 내에 순서번호가 있는 경우 수신자는 합법적 순서를 확신함 송수신자 같은 키를 사용하므로 디지털 서명 기능은 제공하지 못함 33
2.2 메시지 인증 코드 (계속) 1) 암호학적 점검값 사용(1) 메시지 내용 인증 K를 모르는 공격자가 메시지와 대응되는 점검값 구성 불가 출처 인증 K를 아는 A 만이 올바른 점검값 작성하여 전송 가능 M | | C Compare K CK(M) Source Destination 34
2.2 메시지 인증 코드 (계속) 2) 암호학적 점검값 사용(2) 평문+인증: 평문 즉시 사용 가능, 인증은 필요시 수행 인증 제공 : A와 B만이 K1을 공유 기밀성 제공 : A와 B만이 K2를 공유 평문+인증: 평문 즉시 사용 가능, 인증은 필요시 수행 M | | C Compare K1 Source Destination E D K2 EK [M||CK (M)] 1 2 CK (M) 35
2.2 메시지 인증 코드 (계속) 3) 암호학적 점검값 사용(3) 인증 제공 : A와 B만이 K1을 공유 기밀성 제공 : A와 B만이 K2를 공유 암호문+인증:복호화후 평문 사용가능,인증을 위해서는 암호문 필요 C K1 M | | E K2 Compare D EK [M] 2 CK (EK [M]) 1 36
2.3 해쉬 함수 1) 해쉬 함수 사용 (1) 인증 제공 H(M)을 관용키 암호화 방식으로 보호함 기밀성 제공 A와 B만이 K를 공유 M | | H Compare Destination E D K EK[M||H(M)] H(M) Source (a) 37
2.3 해쉬 함수 (계속) 2) 해쉬 함수 사용(2) 인증 제공 H(M)만을 관용키 방식으로 암호학적 보호 메시지 내용 무결성 보장 기밀성을 요구하지 않는 응용에서 처리 부하 경감 M | | H E K EK[H(M)] D Compare 38
2.3 해쉬 함수 (계속) 3) 해쉬 함수 사용(3) 인증 제공 H(M)을 공개키 암호 방식으로 보호 디지털 서명 A만이 EKRa[H(M)]을 생성 가능 Destination Source M | | H E KR EKR [H(M)] D KU Compare a 39
2.3 해쉬 함수 (계속) 4) 해쉬 함수 사용(4) 인증(디지털 서명) 제공 공개키 방식 사용, EKRa[H(M)] 기밀성 제공 메시지도 암호화, A와 B만이 K를 공유 M | | H Compare KRa KUa E D K EK[M||EKR [H(M)]] a EKR H(M) 40
2.3 해쉬 함수 (계속) 5) 해쉬 함수 + 비밀값 사용(1) s M | | H S : A 와 B 공통의 비밀값 인증 제공: A와 B만이 S를 공유 암호화 회피 이유 암호화 소프트웨어는 느리고, 하드웨어는 비용 증대 아주 작은 데이터 블록에도 동일한 암호화 절차 필요 s M | | H Compare H(M||S) 41
2.3 해쉬 함수 (계속) 6) 해쉬 함수 + 비밀값 사용(2) s M | | E D 인증 제공 A와 B만이 S를 공유 기밀성 제공 A와 B만이 암/복호키 K를 공유 M | | H s E D K EK[M||H(M||S)] Compare H(M||S) 42
전자기록매체의 물리적 특성으로 위•변조 식별불가능 3. 전자 서명 전자서명(디지털서명)의 정의 서명자를 확인하고 서명자가 당해 전자문서에 서명하였음을 나타내는데 이용하기 위하여 당해 전자문서에 첨부되거나 논리적으로 결합된 전자적 형태의 정보 (전자서명법 제 2조) 전자문서의 특성 구 분 종이문서 전자문서 기록매체 전달방법 안전•신뢰성 출처 증명 종이 우편, 인편 위•변조가 비교적 어려움 종이의 물리적 특성으로 위•변조 식별 가능 수기서명, 날인 전자기록 매체 네트워크를 통한 전송 위•변조가 용이함 전자기록매체의 물리적 특성으로 위•변조 식별불가능 전자서명 43
3. 전자 서명 (계속) 전자 서명의 요구 조건 서명은 메시지에 의존하는 비트 형태이어야 함 위조와 부인 방지 위해, 송신자의 유일한 정보 비트를 이용해야 함 서명문을 만들기가 쉬워야 함 서명문을 인식, 확인 하기가 쉬워야 함 서명문을 위조하는 것이 계산적으로 실행 불가능 기억장소에 서명문의 복사본을 유지하는 것이 실용적이어야 함 44
3.1 전자 서명 접근방식 45
3.1 전자 서명 접근방식 (계속) RSA 접근 방식 DSS 접근 방식 M : 메시지 H : 해쉬 함수 E : 공개키 암호 함수 EKRa[H(M)] : 메시지 M의 해쉬값을 A의 개인키로 암호화 DSS 접근 방식 s, r : 서명 k : 난수 KUG : 전역적 공개키 Sig : 서명 함수, Ver : 확인 함수 46
3.2 전자 서명 알고리즘 1) 서명 준비 과정 사용자 집단에 공통적이며, 공개되는 3개의 매개 변수 160 비트 길이의 소수 q 512~1024 비트 사이의 소수 p ⇒ (p-1)이 q로 나누어짐 h (p-1)/q mod p 형태의 g(1 < h < (p - 1)) 각 사용자는 개인키를 선택하고 공개키를 생성 랜덤 개인키 x 선택 (1 ≤ x ≤ q-1) 개인키 x 로부터 공개키 y 계산 y = gx mod p 47
3.2 전자 서명 알고리즘 (계속) 1) 서명 생성 과정 2) 서명 검증 과정 메시지별로 고유한 정수 k를 랜덤하게 생성(0 < k < q) 서명 r = (gk mod p) mod q : 메시지의 함수가 아님 s = [k-1 (H(M)+xr)] mod q Signature = (r, s) 2) 서명 검증 과정 수신한 r’과 s’으로부터 계산한 v를 r’과 비교하여 검증 w = s-1 mod q u1 =[(H(M)w)] mod q u2 = rw mod q v = [(gu1 yu2 ) mod p] mod q, y : 사용자 공개키 48
3.2 전자 서명 알고리즘 (계속) 49
3.3 특수 전자서명 전자서명일반 전자서명+특수 전자서명 특수 전자서명: 전자서명의 목적과 기능을 고려한 서명 부인 방지 서명 의뢰 부인 방지 서명 수신자 지정 서명 은닉 서명 대리 서명 위임 서명 다중 서명 50
부인 방지 서명 부인 방지 서명 구성 서명의 확인 과정 서명의 부인 과정 서명자의 도움 없이 서명 진위 확인 불가 서명자는 서명 사실 부인 불가 51
부인 방지 서명 (계속) 이산대수 문제 이용 y g X mod p 부인 방지 서명 M : 서명문 S M X mod p : 서명 52
부인 방지 서명 (계속) 확인 과정 서명자 A 공개 정보 yA, p, g 검증자 B yA gXA mod p S M XA mod p q R Zp – 1 D1 Tgq mod p D2 D1XA mod p T Ma gb mod p T 확인 q 전송 a, b R Zp – 1 a, b 전송 D2 Sa yAb+q mod p M, S T D1, D2 a, b q 53
부인 방지 서명 (계속) 확인 과정의 검증 과정 D1 Tgq mod p 확인 D2 Sa yAb+q mod p 확인 Sa gXAb gXAq mod p MXAa gXA b gXA q mod p (Ma gb) XA (gq)XA mod p TXA (gq) XA mod p (Tgq) XA mod p D1XA mod p 54
부인 방지 서명 (계속) 부인 과정 서명자 A 공개 정보 yA, p, g 검증자 B k 계산 q R Zp – 1 Q g kq mod p T1, T2 확인 q 전송 a R Zp – 1 k {0, 1, 2, , Z – 1} T1 Mk ga mod p T2 (S ) k yAa mod p a 전송 Q (gk ) q mod p T1, T2 Q a q 55
부인 방지 서명 (계속) k의 계산 서명자 A 자신이 서명한 경우에는, T1XA / T2가 1이 되어 k를 구할 수 없다. 가 성립하는 k에 1, 2, , Z–1을 대입하여 k값을 결정한다. 56
부인 방지 서명 (계속) 확인 과정 예 M = 13, S = 3 T = 7 D1 = 9, D2 = 2 a = 4, b = 7 공개 정보 yA = 11, p = 23, g = 5 검증자 B yA gXA mod p 59 11 mod 23 S M XA mod p 139 3 mod 23 q R Zp – 1 q = 13 D1 Tgq mod p 7 513 9 mod 23 D2 D1XA mod p 99 2 mod 23 T Ma gb mod p 확인 q 전송 a, b R Zp – 1 a = 4, b = 7 T Ma gb mod p 134 57 7 mod 23 a, b 전송 D1 Tgq mod 확인 Tgq 7 513 9 mod 23 D2 Sa yAb+q mod p 34 1113 + 7 2 mod 23 M = 13, S = 3 T = 7 D1 = 9, D2 = 2 a = 4, b = 7 q = 13 57
부인 방지 서명 (계속) 부인 과정 예 T1 = 6, T2 = 3 Q = 9 a = 6 q = 8 서명자 A 공개 정보 yA = 11, p = 23, g = 5 검증자 B k = 0, 1, 2, , k = 4 q R Zp – 1, q = 8 Q g k q mod p 54 8 9 mod 23 T1, T2 확인 q = 8 a R Zp – 1, a = 6 k {0, 1, 2, , Z – 1} T1 Mk ga mod p 134 56 6 mod 23 T2 (S ) k yAa mod p (17)4 116 3 mod 23 a 전송 Q (gk ) q mod p (54) 8 9 mod 23 확인 T1 = 6, T2 = 3 Q = 9 a = 6 q = 8 58
수신자 지정 서명 특정 수신자만 검증 가능 서명자도 검증 불가능 특정 수신자는 필요 시 제삼자에게 서명의 정당성 확인 가능 59
수신자 지정 서명 (계속) 수신자 지정 서명 구성 서명자 A 공개 정보 yA, yB, g, p, q 검증자 B yA gXA mod p r, R RZp K gR – r mod p D yBR mod p e = h (yB, K, D, M) S r – XAe mod p yB gXB mod p e = h (yB, K, D, M) D (gS yAe K) XB mod p M, K, D, S 60
수신자 지정 서명 (계속) 수신자 지정 서명 검증 과정 D (gSyAeK) XB mod p S r – XAe mod p K g R – r mod p yA gXA mod p (gr g –XAe gXAe gR g – r) XB mod p gXB R mod p yB gXB mod p yBR mod p D yBR mod p D mod p 61
수신자 지정 서명 (계속) 지정 검증자 확인 t1 , t2 b Z 지정 검증자 B 공개 정보 yB, p, q, g 제삼자 C r RZq t1 gr mod p t2 (gSyAe K) r+XB mod p b = 0이면 Z r mod q b = 1이면 Z r + XB mod q b R {0, 1} t1 gZ mod p t2 (gSyAe K) Z D mod p 확인 gZ t1 yB mod p t2 (gSyAe K) Z mod p t1 , t2 b Z 62
은닉 서명 은닉 서명 서명자가 서명문 확인 불가 은닉 서명 응용 전자화폐에 이용 S M X M : 서명문 63
은닉 서명 (계속) 은닉 서명 구성 mod n 제공자 A 공개 정보 n, e 서명자 B r R Zn 서명문 M K1 re M mod n Md mod n n = p q gcd (e, (n)) = 1 e d 1 mod (n) K2 K1d mod n rMd mod n K1 K2 mod n 64
은닉 서명 (계속) 은닉 서명 구성 예 제공자 A 공개 정보 n= 55, e = 7 서명자 B r R Zn r = 6 K1 reM mod n 67 5 40 mod 55 15 mod 55 n = p q = 11 5 = 55 (n) = (55) = 40 gcd (e, (55)) = 1 e d 1 mod (n) d = 23 K2 K1d mod n 4023 35 mod 55 K1 = 40 Md mod 55 K2 = 35 65
대리 서명 본인 부재시 대리 서명 본인을 대신하여 제삼자가 서명 검증자는 대리 서명으로부터 서명자의 위임 사실을 확인할 수 있음. 위임 서명 완전 위임(full delegation) : 자신의 비밀정보를 직접 전달 부분 위임(partial delegation) : 자신의 비밀정보로부터 별도로 다른 비밀정보를 만들어 전달 보증 위임(warrant delegation) : 위임 사실 증명서를 제공 66
대리 서명 (계속) 부분 위임 서명 , K 비밀 전송 위임 서명자 A 공개 정보 p, g, yA 대리 서명자 B yA gXA mod p k RZp – 1 K gk mod p XA + kK mod p – 1 g yA KK mod p 확인 , K 비밀 전송 67
대리 서명 (계속) 부분 위임 검증 g yA KK mod p 증명 g gXAgkK gXA (gk) K yA KK mod p 68
대리 서명 (계속) 부분 위임 서명 (위임서명 생성 예) , K 비밀 전송 서명자 A 공개 정보 P=23, g=6, yA=3 위임 서명자 B yA gXA mod p 67 mod 23 3 mod 23 K=5 RZp – 1 K gk mod p 65 mod 23 2 mod 23 XA + kK mod p – 1 7+5 2 mod 22 17 mod 22 g yA KK mod p g 617 mod 23 12 mod 23 yA KK 3 22 mod 23 12 mod 23 , K 비밀 전송 69
대리 서명 (계속) 부분 위임 대리 서명 K, S, R, M 대리 서명자 B 공개 정보 yA, p, q, g 검증자 C r RZq R gr mod p mod q H h (M) S r – R H mod q v yA KK mod p R gSvRH mod p mod q K, S, R, M 70
대리 서명 (계속) 부분 위임 대리 서명 검증 과정 R g S vRH mod p mod q v yA KK mod p R g S vRH mod p mod q gr – RH (gXA gkK)RH mod p mod q gr g – RHXA g – RHkK gXARH gRHkK mod p mod q gr mod p mod q R mod p mod q 71
대리 서명 (계속) 부분 위임 대리 서명의 예 (서명 및 검증) K, S, R, M 대리 서명자 B 공개 정보 yA=3, p=23, q=11, g=6 검증자 C r =9 RZq R gr mod p mod q 69 mod 23 mod 11 5 mod 23 mod 11 H h (M) H=M=5 S r – R H mod q 9-5175 mod 11 2 mod 11 v yA KK mod p 322 mod 23 12 mod 23 R 5 mod 23 mod 11 gSvRH mod p mod q 62 1255 mod 23 mod 11 13 3 mod 23 mod 11 5 mod 23 mod 11 K, S, R, M 72
대리 서명 (계속) 위임 서명자 보호 대리 서명 mw , , K 비밀 전송 대리 서명 정보 서명자 A 공개 정보 p, g, yA 대리 서명자 B yA gXA mod p k R Zp – 1 K gk mod p e = h (mw || K) eXA + k mod p – 1 e = h (mw|| K) g yAe K mod p 확인 p + eXB mod p – 1 대리 서명 정보 생성 mw , , K 비밀 전송 mw는 위임 서명기간 73
대리 서명 (계속) 대리 서명자 보호 대리 서명 – 대리 서명 정보 검증 g yA e K mod p 증명 g g e XA g k g XA e g k mod p 74
대리 서명 (계속) 대리 서명자 보호 대리 서명 Sp , R, M, mw , K 대리 서명 절차 대리 서명자 B 공개 정보 p, q, g, yA , yB 검증자 C r R Zq R gr mod p mod q mw H h (M) Sp r – R p H mod q e = h (mw || K) vp (yAyB ) e K mod p R g Sp vpRH mod p mod q Sp , R, M, mw , K 75
대리 서명 (계속) 대리 서명자 보호 대리 서명 대리 서명자 보호 대리 서명 검증 vp (yA yB) e K mod p R g Sp vpRH mod p mod q g ( r – RHp ) ((yA yB) e K)RH mod p mod q g r g – RHp yA RHe yBRHe KRH mod p mod q g r g – RH(+XB e) gXARHe gXBRHe gkRH mod p mod q g r g – RH g – RHXB e gXARHe gXBRHe gkRH mod p mod q g r g – RH (XA e +k) g – RHXB e gXARHe gXBRHe gkRH mod p mod q g r g – RH XA e g – RH k g – RHXB e gXARHe gXBRHe gkRH mod p mod q g r 76
다중 서명 다중 서명 동시에 여러 서명자가 서명하는 방식 동시 다중 서명 순차 다중 서명 77
다중 서명 (계속) 다중 서명 순차 다중 서명 서명자1 공개정보 E1,n1,r1 서명자i Ei,ni,ri 서명자j M : 서명문 Idx: 서명자 모록 h(M)=H S1=Hd1 mod n1 Si-1,M, IDi-1 Si=(Si-1)di mod ni Si,M, IDi Sj=(Si)dj mod nj S1,M, ID1 Si,M, IDi H=h(M) H ((((Si-1)ei-1 mod ni-1)ei-2 mod ni-2)…)e1 mod n1 78
특수서명 요약 79