LinuxÒÁµéÔ°ÂÛ̳'s Archiver

Roc.Ken ·¢±íÓÚ 2005-11-19 12:46

¡¾ÍƼö¡¿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Ë㷨ȴ×÷²»µ½¡£

Roc.Ken ·¢±íÓÚ 2005-11-19 13:09

È«²¿¼ÓΪ¾«»ª°É£¬ ÓÐÊÂûÊ¿ÉÒÔ¶à¿´¿´ :)

Ò³: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.