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.