Đang tải... (xem toàn văn)
SƠ ĐỒ CHỮ KÝ TRÊN ĐỪỜNG CONG ELLIPTIC Đường cong elliptic được xây dựng trên các trường hữu hạn. Có hai trường hữu hạn thường được sử dụng: trường hữu hạn Fq với q là số nguyên tố hoặc q là 2m (m là số nguyên). Tùy thuộc vào trường hữu hạn Fq, với mỗi bậc của q, tồn tại nhiều đường cong elliptic. Do đó, với một trường hữu hạn cố định có q phần tử và q lớn, có nhiều sự lựa chọn nhóm đường cong elliptic.
Mục Lục 1. ĐƯỜNG CONG ELLIPTIC 2 1.1. 2 1.2. Đường cong Elliptic trên trường Galois 2 1.3. 3 1.4. 3 2. NHÚNG BẢN RÕ VÀO ĐƯỜNG CONG ELLIPTIC 3 2.1. !"#$% 3 2.2. Phép mặt nạ (mask) 4 3. SINH VÀ XÁC NHẬN CHỮ KÝ ECDSA 4 3.1. &'()*&+ 4 3.2. Xác nhận chữ ký ECDSA 5 3.2.1. Chuyển đổi giữa các loại dữ liệu 5 3.2.2. Chứng nhận khóa công khai 5 3.2.3. Cơ sở cho kiểm tra r và s trong xác minh chữ ký 6 3.2.4. So sánh DSA và ECDSA 6 3.3. Đánh giá về chuẩn chữ ký số ECDSA 6 4. XÂY DỰNG CHƯƠNG TRÌNH 7 1 SƠ ĐỒ CHỮ KÝ TRÊN ĐỪỜNG CONG ELLIPTIC 1. ĐƯỜNG CONG ELLIPTIC 1.1. Đường cong Elliptic theo công thức Weierstrass ,-./012134 .$56y 2 +a 1 xy+a 3 y = x 3 +a 2 x 2 +a 4 x+a 6 718 9.0 :;<0=>/?%@/A1 1.2. Đường cong Elliptic trên trường Galois B8#, 7$ C12$5D? E F GEG$#%/HIJEK0)D57$D' L#/ MN/M#O1A'P6Q F GRS$ R #%TI0 2 1.3. Đường cong Elliptic trên trường hữu hạn 12EL%UD0)8 12V%@6W/HWX WR # # 0 YZ>/ W 7/H#[$C\W7]A1 0*187/H#>138W^V/WH78 AUU-8#10 1.4. Đường cong elliptic trên trường F P (p là số nguyên tố) )_F 7)7$9Q F GRS$ R TI 0=>1 12134$`D #/$ #>C2DXD3E7 E79 M 6 R aE F GEG$0 Z/H#>1b#cd-1b#/U0&21b#\ e M13(:6 p G< - R p J e E F p J p +<G R p 2. NHÚNG BẢN RÕ VÀO ĐƯỜNG CONG ELLIPTIC B"$fgE$b%h$fg18D1b#E7 188bUP12D?DE0)8#>ND1b UP/P0Y188RND?i"jEmbeding /i#Xjmask 0 2.1. Phép nhúng (Embeding) Cách 1: b"#k /H7l9F#%Q 0 ,fVk 12$`N;6 R aE F GE R G$/fV# f#O6IJ#Jm<IIIn<0 Y#F/#12EM#O6<III#JEJ<III#G< K 0)"o$pD'D1q';#12E 3 rE aE F GEG$#>?Nk//HrE a R #% M#OT<#%0 b# # 12'"#6 # aE7rE )8b%h%'@#s9k $5D$MF #\-1>E\1b# # 0 Cách 2: Bước 1: &V%@$fD]#B'(U0)$fgD' 81>%13l7D'(U121D6I7t7Bd<0=>'/u$f wZ/HDIJE w ≤ B l 0Y#>DE6 Wa I < 00 ln< vwa I B ln< G < B lnR GtG lnR B G ln< 7IJE w JB Bước 2: )-#>D3k ?2'B l KW0wH#[x^ V\ W ?'E y Gx0z{1b# y 1^#-1>E|'E y 7x|I7/?%@6 w a'E w Gx7} 9 W Bước 3: .@'$fgsy$5D?E w a~Em'• 2.2. Phép mặt nạ (mask) b$b%h$fg%#<7#R D1b##8b D%@ND#'$5DL#</#R/HD-1>E7 \D1b#0,fV81b#,98-1>E,7, ;#a #<E,7#R, 0 3. SINH VÀ XÁC NHẬN CHỮ KÝ ECDSA ^#fD\@1b/ED#'(V%@)*&+0 3.1. Sinh chữ ký ECDSA b'(P#>1Pm7#>UbA /H/Z#D = (q, FR,a,b,G,n,h)/X'8'q(d,Q)?6 1. )-€Xf€ 0 4 2. Y?kG = (x1,y1)/b1px1s 3. Y?r = x1 mod n0Bqr = 0 ;W$H<0 4. Y?k -1 mod n. 5. Y?&:+n<(m)/b1p[$e 6. Y?s = k-1(e + dr)mod n.Bqs = 0;W$H<0 7. )'(\1Pm(r,s) 3.2. Xác nhận chữ ký ECDSA bED##>'(\A (r,s)m0•812#>$fED U\+/Z#D = (q, FR,a,b,G,n,h)/'q'8 '‚08'qD5•ƒ8EDCDD3*/‚E# „0Q/…0R 0•12UP6 1. vD#5/D'f~<7n<•0 2. Y?&:+n<(m)/b1p[$e 3. Y?w =s -1 mod n0 4. Y?u1 = ew mod n và u2 = rw mod n. 5. Y?X = u1G + u2Q. 6. BqX= 7;s'(0B27b1pEd$5E< \vs 7/? 7. YsC'(q/†qv = r Bằng chứng xác thực làm việc chữ ký số: Bq#'(a (r, s) 1Pm12$`+7;s = k -1 (e + dr) mod n012‡Eq6 B/C7u1G + u2Q = (u1 + u2d)G = kG//Cv = r^q0 5 3.2.1. Chuyển đổi giữa các loại dữ liệu +B&ˆv‰0…RED13#>ND1bb1pD^V fD0B8V%@1bb1p^Vx1s $HRf^'(/$H…\^EDC '(H'?Dx1 mod n0+B&ˆv‰0…RED13Nb1p [$D0B8V%@b1p1^e\&:+n< H'V%@?D#%$H„\ ^'(/$HR\^EDC'(0 3.2.2. Chứng nhận khóa công khai YH'ED#'(+1P7•^812#>$f \+/Z#*/W1q'8'‚0+B&ˆ v‰0…R'†3#>Nq1b1121A0YUq7EDU '8'12LW{C0) C'8'\$]##>[DED13%{ +/?%@+/13† 7`1L#A#*Bq1L'f 12$q1qs>% 7`1L'8'‚/#>NWED C'()+ D0•8bV%@$fEDU'8 '\)+1bED#+1O12EDC7%18812#>$f EDU'8'4\+0 3.2.3. Cơ sở cho kiểm tra r và s trong xác minh chữ ký •H<\/P'b#EDC'(r/sfD 'f[1, n-1]0B'b#8b12UP{PWf7/ $PDC-1A'PDD\D>{ 12$q1qD1ADW1q'(,#'U PD'b#/?%@D>{/C7E#•$ ~<R• 0&1LU2({)*&+q'b#r ≠ 0/8 7 'bUP0,fV+V%@1 $C 7`1L$%$C\#%p/ fV+V%@1b#N` \$Cn082( #{fDUb8bU-#>1b#N`I-1>E1bf# b$C\'?H\D#A 0=>21b#$L8 bf##>'(+1P#\U-?D+a&:+n <# 0B88b%h%'b#{faI7a '(2Ps#0 6 3.2.4. So sánh DSA và ECDSA. .DP#7)*&+†1Nf12s*&+$5Dq L8#U$C q\ $Hq/HL8#\ D1b#112$`,0&U'D$P1D'b %{)*&+/*&+12r0*&+UP1A $5D#^V€ //Pf##%q7 8112'f[1 , q-1].)*&+'f [1, n-1]UP1A-1>E\U-€1b#kG/ /Pf#modulo n0 3.3. Đánh giá về chuẩn chữ ký số ECDSA )DP#OD11^12D#u#<‰Š„ $`B.$‹/w=0YN1]'()*&+%& w1u#<‰‰R712{CŒˆ&c/u#<‰‰Š7 Œ+B&ˆ/u#<‰‰‰7/Œˆ/u#RIII0 >\N1]'()*&+%U$D1 0)1q1>\DP#OD1 1O12†{/PWf0/H$D 1;8ACDf80Y8C D81>?D10 YCDf$D1{P CD%•Ž7$fq'qH?D 0Y18/H8#1{/8#D?Z? D;f#{ mR0!D0 =X'D1OL?/†5/HP#OD%U$ D18Z1>$f#C/HP#OD %U$DL?Ds Ž&+ ;1>%'D\P#OD%U18A %'D‡N{A0)l/HP#ODŽ&+8A% 'D<IRQ$;P#OD$51†^1>%'D <…F$o81>$f#CN1N0w%18/P?DDq; 1/HDP#OD1N{A0 4. XÂY DỰNG CHƯƠNG TRÌNH 7 Ý tưởng xây dựng chương trình: vL%U#>%P%Z18%Z8bV %@'(#>DCP0 BV8b%Z^#A#1b-/u$f^'(7${#/"'( 1b'(V%@'8$?#C%N; 0&18V/u$f1O '(/H'8'10 BC'C12/u$f8b%Z^#A#1b'b# '(81"\V'7/8/•'0 Xây dựng chương trình: )N;12/q$5•/&y75#`$#@ %\N;0 8 . minh chữ ký 6 3.2.4. So sánh DSA và ECDSA 6 3.3. Đánh giá về chuẩn chữ ký số ECDSA 6 4. XÂY DỰNG CHƯƠNG TRÌNH 7 1 SƠ ĐỒ CHỮ KÝ TRÊN ĐỪỜNG CONG ELLIPTIC 1. ĐƯỜNG CONG ELLIPTIC 1.1. Đường cong Elliptic. RÕ VÀO ĐƯỜNG CONG ELLIPTIC 3 2.1. !"#$% 3 2.2. Phép mặt nạ (mask) 4 3. SINH VÀ XÁC NHẬN CHỮ KÝ ECDSA 4 3.1. &'()*&+ 4 3.2. Xác nhận chữ ký ECDSA 5 3.2.1 Mục Lục 1. ĐƯỜNG CONG ELLIPTIC 2 1.1. 2 1.2. Đường cong Elliptic trên trường Galois 2 1.3.