Khác biệt giữa các bản “Giải thuật ký số”

n
sửa nhỏ
n (sửa nhỏ)
* Tạo 1 số ngẫu nhiên với mỗi thông điệp, giá trị ''k'' thỏa mãn 0 < ''k'' < ''q''
* Tính ''r'' = (''g''<sup>''k''</sup> mod ''p'') mod ''q''
* Tính ''s'' = (''k''<sup>-1</sup>(SHA-1(''m'') + ''x''*''r'')) mod ''q'', ở đây SHA-1(''m'') là [http://en.wikipedia.org/wiki/SHA-1[hàm SHA-1băm mã hoá]] [[cryptographic hash function|Hàm bămSHA-1]] áp dụng cho thông điệp ''m''
* Tính toán lại chữ ký trong trường hợp không chắc chắn khi ''r''=0 hoặc ''s''=0
* Chữ ký là (''r'',''s'')
 
[[Giải thuật [[extendedEuclid Euclideanmở algorithmrộng]] có thể được sử dụng để tính toán biểu thức ''k''<sup>-1</sup> mod q.
 
==Xác nhận==
* Chữ ký là có hiệu lực nếu ''v'' = ''r''
 
DSA tương tự với [http://en.wikipedia.org/wiki/ElGamal_signature_scheme [Lược đồ ký số ElGamal]].
 
==Sự đúng đắn của giải thuật==
 
Từ ''g'' = ''h<sup>z</sup>'' mod ''p'' suy ra
''g<sup>q</sup>'' &equiv; ''h''<sup>''qz''</sup> &equiv; ''h''<sup>''p''-1</sup> &equiv; 1 (mod p) bởi [http://en.wikipedia.org/wiki/Fermat%27s_little_theorem Định[định lý Fermat nhỏ]]. Bởi vì ''g''>1 và ''q'' là số nguyên tố suy ra ''g'' có bậc ''q''.
 
Người ký tính
 
==Xem thêm==
*[[Giải thuật ký số đường cong elip]
[http://en.wikipedia.org/wiki/Elliptic_Curve_DSA Elliptic Curve DSA]
 
==Liên kết ngoài==
35.527

lần sửa đổi