¡¾ÍƼö¡¿DSAËã·¨
DSAËã·¨¡¡¡¡Digital Signature Algorithm (DSA)ÊÇSchnorrºÍElGamalÇ©ÃûËã·¨µÄ±ä
ÖÖ£¬±»ÃÀ¹úNIST×÷ΪDSS(DigitalSignature Standard)¡£Ëã·¨ÖÐÓ¦ÓÃÁËÏÂÊö²ÎÊý£º
p£ºL bits³¤µÄËØÊý¡£LÊÇ64µÄ±¶Êý£¬·¶Î§ÊÇ512µ½1024£»
q£ºp - 1µÄ160bitsµÄËØÒò×Ó£»
g£ºg = h^((p-1)/q) mod p£¬hÂú×ãh < p - 1, h^((p-1)/q) mod p > 1£»
x£ºx < q£¬xΪ˽Կ £»
y£ºy = g^x mod p £¬( p, q, g, y )Ϊ¹«Ô¿£»
H( x )£ºOne-Way Hashº¯Êý¡£DSSÖÐÑ¡ÓÃSHA( Secure Hash Algorithm )¡£
p, q, g¿ÉÓÉÒ»×éÓû§¹²Ïí£¬µ«ÔÚʵ¼ÊÓ¦ÓÃÖУ¬Ê¹Óù«¹²Ä£Êý¿ÉÄÜ»á´øÀ´Ò»¶¨µÄ
Íþв¡£Ç©Ãû¼°ÑéÖ¤ÐÒéÈçÏ£º
1. P²úÉúËæ»úÊýk£¬k < q£»
2. P¼ÆËã r = ( g^k mod p ) mod q
s = ( k^(-1) (H(m) + xr)) mod q
Ç©Ãû½á¹ûÊÇ( m, r, s )¡£
3. Ñé֤ʱ¼ÆËã w = s^(-1)mod q
u1 = ( H( m ) * w ) mod q
u2 = ( r * w ) mod q
v = (( g^u1 * y^u2 ) mod p ) mod q
Èôv = r£¬ÔòÈÏΪǩÃûÓÐЧ¡£
¡¡¡¡DSAÊÇ»ùÓÚÕûÊýÓÐÏÞÓòÀëÉ¢¶ÔÊýÄÑÌâµÄ£¬Æä°²È«ÐÔÓëRSAÏà±È²î²»¶à¡£DSAµÄ
Ò»¸öÖØÒªÌØµãÊÇÁ½¸öËØÊý¹«¿ª£¬Õâ
Ñù£¬µ±Ê¹ÓñðÈ˵ÄpºÍqʱ£¬¼´Ê¹²»ÖªµÀ˽Կ£¬ÄãÒ²ÄÜÈ·ÈÏËüÃÇÊÇ·ñÊÇËæ»ú²úÉú
µÄ£¬»¹ÊÇ×÷ÁËÊֽš£RSAË㷨ȴ×÷²»µ½¡£ È«²¿¼ÓΪ¾«»ª°É£¬ ÓÐÊÂûÊ¿ÉÒÔ¶à¿´¿´ :)
Ò³:
[1]