X

ÍÆ¼ö¸øºÃÓÑ ÉÏһƪ | ÏÂһƪ

¹þÏ£Ëã·¨µÄǰÊÀ£¬½ñÉúºÍδÀ´

µ¼¶Á£º µ±ÐÂÈËÔÚÑ§Çø¿éÁ´¼¼ÊõµÄʱºò£¬¶¼»áÌýµ½¹þÏ£ºÍ¹þÏ£Ëã·¨£¬ÕâËÆºõÊÇÎÞ´¦²»ÔڵݲȫÐÔ±£Ö¤¡£ÀýÈç±ÈÌØ±Ò»òÕßÒÔÌ«·»ÕâÖÖÔËÐÐÈ¥ÖÐÐÄ»¯ÍøÂçºÍ¹²Ê¶µÄ»úÆ÷£¬¶¼»áÓÐÉÏÍò¸ö½Úµãͨ¹ýP2PÁ¬½Ó£¬²¢ÇÒÐèÒª¡°ÎÞÐè¿ÉÐÅ¡±ºÍ¿ÉÑéÖ¤µÄЧÂÊ¡£

µ±ÐÂÈËÔÚÑ§Çø¿éÁ´¼¼ÊõµÄʱºò£¬¶¼»áÌýµ½¹þÏ£ºÍ¹þÏ£Ëã·¨£¬ÕâËÆºõÊÇÎÞ´¦²»ÔڵݲȫÐÔ±£Ö¤¡£ÀýÈç±ÈÌØ±Ò»òÕßÒÔÌ«·»ÕâÖÖÔËÐÐÈ¥ÖÐÐÄ»¯ÍøÂçºÍ¹²Ê¶µÄ»úÆ÷£¬¶¼»áÓÐÉÏÍò¸ö½Úµãͨ¹ýP2PÁ¬½Ó£¬²¢ÇÒÐèÒª¡°ÎÞÐè¿ÉÐÅ¡±ºÍ¿ÉÑéÖ¤µÄЧÂÊ¡£ÕâЩϵͳÐèÒª½«ÐÅϢдÈë½ô´ÕµÄ¸ñʽ£¬´Ó¶øÍ¨¹ý²ÎÓëÕß½øÐб£Ö¤°²È«ºÍ¿ìËÙÑéÖ¤¡£

±ÈÌØ±ÒºÍÒÔÌ«·»Ö÷ÒªµÄprimitiveÊÇÇø¿éµÄnotion£¬ÕâÊǰüº¬×ªÕËÐÅÏ¢£¬Ê±¼ä´ÁºÍÆäËûÖØÒªÊý¾ÝµÄÊý¾Ý½á¹¹¡£ËûÃǰ²È«ÐÔµÄÖØÒª²¿¼þ£¬¾ÍÊÇÄܹ»Ñ¹ËõÍøÂçÈ«²¿µÄ״̬ÐÅÏ¢£¬±ä³ÉºÜ¶Ì£¬²¢ÇÒ±ê×¼µÄÐÅÏ¢£¬ÔÚÐèÒªµÄʱºò¿ÉÒÔ½øÐÐÓÐЧÑéÖ¤£¬Õâ¾Í±»³ÆÖ®Îª¹þÏ£¡£

image.png

µ½´¦¶¼»áʹÓüÓÃܹþÏ££¬´ÓÃÜÂë´æ´¢µ½ÎļþÑé֤ϵͳ¡£Ê¹ÓÃÈ·¶¨ÐÔËã·¨µÄ»ù±¾Ô­Àí£¬¾ÍÊÇʹÓÃÒ»¸öÊäÈ룬²¢ÇÒÿ´Î¶¼²úÉúÒ»¸ö¹Ì¶¨³¤¶ÈµÄ×Ö·û´®¡£Ò²¾ÍÊÇ˵£¬Ê¹ÓÃͬÑùµÄÊäÈë×ÜÊǻᵼÖÂͬÑùµÄÊä³ö¡£

È·¶¨ÐÔ²»½ö¶Ô¹þÏ£ºÜÖØÒª£¬¶øÇÒ¿ÉÒԸıäÊäÈëµÄµ¥¸ö×Ö·û»á²úÉúÍêÈ«²»Í¬µÄ¹þÏ£¡£

¹þÏ£Ëã·¨µÄÎÊÌâÊÇÅöײ£¨collisions£©µÄ±ØÈ»ÐÔ¡£¹þÏ£Êǹ̶¨µÄ×Ö·û´®£¬Òâζ×ŶÔÓÚÿ¸öÊäÈ룬²»Í¬µÄÊäÈë¶¼»á²úÉúͬÑùµÄÊä³ö¡£Åöײ£¨collisions£©ÊDz»ºÃµÄ¡£ÕâÒâζ×ÅÈç¹ûÓй¥»÷ÕßÄܹ»¸ù¾ÝÐèÇó´´½¨ÕâÖÖcollisions£¬ÄÇôËû¾Í¿ÉÒÔÈÃÆÛÕ©Îļþ»òÕßÊý¾Ý¿´ÆðÀ´ÏñÕýÈ·µÄ£¬ºÏÊʵĹþÏ££¬²¢ÇÒð³äºÏ·¨¡£ÓÅÖʹþÏ£¹¦ÄܵÄÄ¿±êÊÇÈù¥»÷ÕߺÜÄÑÕÒµ½£¬»ñµÃÊäÈëÊý¾ÝµÄ·½·¨¡£

¼ÆËã¹þÏ£²»Ó¦¸ÃÌ«¼òµ¥£¬ÒòΪÕâ»áÈöÔÓÚ¹¥»÷ÕßÀ´Ëµ£¬¼ÆËãcollisionsÒ²±äµÃºÜÈÝÒס£¹þÏ£Ëã·¨ÐèÒª¶Ô¡°Ô¤¹¥»÷¡±Óеֿ¹ÐÔ¡£Ò²¾ÍÊÇ˵£¬¸ø¶¨¹þÏ££¬Ó¦¸ÃºÜÄѼÆËã×·ËÝÈ·¶¨ÐԵIJ½ÖèÀ´ÖØÐ²úÉúÓɹþÏ£´´½¨µÄÊýÖµ¡£

Given s£½ hash£¨x£©£¬ finding x should be near impossible£®

¸ÅÀ¨À´¿´£¬¡°ºÃµÄ¡±¹þÏ£Ëã·¨»áÓÐÒÔÏÂ3ÖÖÌØÐÔ£º

£­ÔÚÊäÈëÖиıäÒ»¸ö×Ö·û£¬Ó¦¸Ã»á´´½¨Ñ©±ÀЧӦ£¬´Ó¶øµ¼ÖÂÍêÈ«²»Í¬µÄ¹þÏ£

£­ºÜµÍµÄ¸ÅÂÊ»á²úÉúcollisions

£­Ìá¸ßЧÂÊ£¬µ«ÊDz»»áÎþÉücollisionµÄ¶Ô¿¹ÐÔ

ÆÆÉ¢¹þÏ£

ÆäÖÐÒ»¸ö³õʼ¹þÏ£Ëã·¨±ê×¼ÊÇMD5¹þÏ££¬ÕâÊDZ»¹ã·ºÓÃÀ´½øÐÐÎļþÕûºÏÑéÖ¤£¬¶øÇÒ´æ´¢¹þÏ£ÃÜÂëÔÚÍøÒ³Ó¦ÓÃÊý¾Ý¿â¡£Õâ¸ö¹¦Äܷdz£¼òµ¥£¬ÒòΪÊä³öÊǹ̶¨µÄ£¬128¸ö×Ö·û´®¶ÔÓÚÿ¸öÊäÈ룬²¢ÇÒʹÓü¸ÂÖ΢²»×ãµÀµÄµ¥ÏòÔËËãÀ´¼ÆËãÆäÈ·¶¨ÐÔÊä³ö¡£ËüµÄÊä³ö³¤¶È¶Ì£¬²Ù×÷¼òµ¥£¬Ê¹µÃMD5³¹µ×Ò×Ë飬±»³ÆÎªÉúÈÕ¹¥»÷¡£

¡°ÉúÈÕ¹¥»÷¡±ÊÇʲô£¿

ÎÒÃÇÔø¾­Ìý¹ý£¬Èç¹ûÄã°Ñ23¸öÈË·ÅÔÚÒ»¸ö·¿¼ä£¬¾Í»áÓÐ50£¥µÄ¸ÅÂÊ£¬ÆäÖеÄ2ÈË»áÓÐͬÑùµÄÉúÈÕ£¿½«Õâ¸öÊý×ÖÌáÉýµ½70ÈËÔÚÒ»¸ö·¿¼ä£¬¾Í»áÓÐ99£®9£¥µÄ¸ÅÂÊ¡£Õâ¾ÍÊÇÎÒÃÇËù˵µÄ¸ë³²Ô­Àí£¬Ò²¾Í˵Èç¹û°Ñ100¸ö¸÷×Էŵ½99¸öÏä×Ó£¬Äã¾Í±ØÐëÔÚ1¸öºÐ×ÓÀïÃæ·Å2¸ö¸ë×Ó¡£»»¾ä»°Ëµ£¬¹Ì¶¨µÄÊä³öÒâζ×Åcollisions ¿ÉÄÜ»áÕÒµ½¹Ì¶¨µÄÅÅÐò¡£

image.png

Æäʵ£¬MD5¶ÔÓÚcollisionµÄµÖ¿¹ÊǺܴàÈõµÄ£¬¼ÒͥʹÓõÄ2£®4GHz´¦ÀíÆ÷¾Í¿ÉÒÔÔÚ¼¸ÃëÖÓËã³ö¹þÏ£collision¡£¶øÇÒ£¬¶ÔÓÚÏÖÔÚÍøÒ³µÄÔçÆÚʹÓ㬻¹¿ÉÒÔÔÚÍøÂçÉÏ´´½¨ºÜ¶àMD5µÄԤͼÐΣ¬Èç¹ûËÑË÷¹þÏ££¬¾Í¿ÉÒÔÔڹȸèÉϺÜÈÝÒ×ÕÒµ½¡£

¹þÏ£Ëã·¨µÄ¶àÑù»¯ºÍ¸ïÐÂ

¿ªÊ¼£ºSHA1 £¦SHA2

NAS±»³ÆÎª¹þÏ£Ëã·¨±ê×¼µÄÏÈÇý£¬×î³õµÄÏë·¨Êǰ²È«¹þÏ£Ëã·¨»òÕßSHA1£¬´´½¨ÁË160¹Ì¶¨³¤¶ÈµÄÊä³ö¡£²»ÐÒµØÊÇ£¬SHA1ͨ¹ýÔö¼ÓÁËÊä³ö³¤¶È£¬µ¥Ïò²Ù×÷µÄÊýÁ¿£¬»¹Óе¥Ïò²Ù×÷µÄ¸´ÔÓÐÔ£¬´Ó¶øÐγÉÁËMD5Ëã·¨£¬µ«ÊÇÕâ²»»áÌṩÈκλù´¡µÄÌáÉý£¬À´¶Ô¿¹¸üÓÐÁ¦Á¿µÄ»úÆ÷À´³¢ÊÔ²»Í¬µÄ¹¥»÷¡£

ÎÒÃÇÔõô²ÅÄÜ×öµÃ¸üºÃÄØ£¿


½øÈëSHA3ʱ´ú

ÔÚ2006Ä꣬¹ú¼Ò±ê×¼ºÍ¼¼ÊõÑо¿ÔºÌá³öÁËÒ»¸ö±ÈÈü£¬À´ÕÒµ½SHA2µÄÌæ´ú£¬ÕâÔÚ±¾ÖÊÉϾŲ»Í¬£¬´Ó¶øÐγÉÁ˱ê×¼¡£Òò´Ë£¬SHA3×÷ΪÏÖÔÚËùÖªµÄKECCAK¹þÏ£Ëã·¨Ò»²¿·Ö£¬¾ÍÕâÑùµ®ÉúÁË¡£

¾¡¹Ü±íÃæ¿´ÆðÀ´ÊÇÏàͬµÄ£¬SHA3ͨ¹ýÒ»¸ö±»³ÆÎªº£Ãà½á¹¹µÄ»úÖÆ£¬ÈÃÄÚ²¿±äµÃ·Ç³£²»Í¬£¬ÕâʹÓÃÁËËæ»úµÄÅÅÁÐÀ´ÊäÈëºÍÊä³öÊý¾Ý£¬Í¬Ê±Ò²ÎªÎ´À´µÄÊäÈëÌṩÁËËæ»úµÄÀ´Ô´£¬Õâ»á½øÈëµ½¹þÏ£Ëã·¨ÖС£

image.png

SHA3ά³ÖÁËÄÚ²¿µÄ״̬²¢ÇÒÓкÍÊä³öÏà¹ØµÄ¸ü¶àÐÅÏ¢£¬Õâ¿ÉÒÔ·Àֹ֮ǰËã·¨µÄÏÞÖÆ¡£ÔÚ2015Ä꣬ͨ¹ýNIST³ÉΪÁ˱ê×¼¡£

¹þÏ£Ëã·¨ºÍ¹¤×÷Á¿Ö¤Ã÷

µ±¿¼Âǵ½ÕûºÏ¹þÏ£Ëã·¨µ½Çø¿éÁ´Ð­ÒéÖеÄʱºò£¬±ÈÌØ±ÒʹÓÃÁ˱ȽϾɵÄSHA256Ëã·¨£¬µ«ÊÇÒÔÌ«·»Ê¹ÓÃÁËÐ޸ĺóµÄSHA3Ëã·¨£¬×÷Ϊ¹¤×÷Á¿Ö¤Ã÷µÄËã·¨¡£Ñ¡Ôñ¹¤×÷Á¿Ö¤Ã÷Çø¿éÁ´µÄ¹þÏ£¹¦ÄÜÊǺÜÖØÒªµÄ²¿·Ö£¬µ«ÊǼÆËãµÄЧÂʳÆÎª¹þÏ£¡£

±ÈÌØ±ÒSHA256Ë㷨ͨ¹ýÌØ¶¨µÄÓ²¼þASIC£¬½øÐÐÓÐЧ¼ÆËã¡£ÔÚ¿ó³ØÖУ¬ºÜ¶à¶¼ÊÇÔÚASICÉÏдÈëµÄËã·¨£¬µ«ÊÇÕâÒ²»áʹµÃÕû¸öЭÒéÍùÖÐÐÄ»¯¼ÆËã·¢Õ¹¡£Ò²¾ÍÊÇ˵£¬¹¤×÷Á¿Ö¤Ã÷¼¤ÀøÁËÓÐЧ¼ÆËã»úÆ÷À´¾Û¼¯³É¿ó³Ø£¬Í¬Ê±Ò²Ôö¼ÓÁ˹þÏ£Á¦¡£»òÕßÒ»ÖÖ»úÆ÷¿ÉÒÔ¼ÆËãÿ¸öʱ¼ä¼ä¸ôµÄ¹þÏ£ÊýÁ¿¡£

ÒÔÌ«·»£¬Ê¹ÓõÄÊDZ»³ÆÎªKECCAK256µÄ¸Ä½øSHA3¡£¶øÇÒ£¬ÒÔÌ«·»µÄ¹¤×÷Á¿Ö¤Ã÷Ëã·¨£¬Dagger£­HashimotoÒâζ×ÅÒâζ×ÅÄÚ´æÄÑÒÔ¼ÆËãÓ²¼þ¡£

image.png

Ϊʲô±ÈÌØ±ÒʹÓÃË«ÖØSHA256Ëã·¨£¿

±ÈÌØ±Òͨ¹ýSHA256Ëã·¨£¬»áÓкÜÓÐȤµÄ·½Ê½À´»ñµÃ¹þÏ£Êý¾Ý£¬ÒòΪËü»áÔÚЭÒéÖÐÔËÐÐËã·¨µÄ2´Îµü´ú¡£ÐèҪעÒâµØÊÇ£¬Õâ²¢²»ÊÇÉúÈÕ¹¥»÷µÄ¶Ô²ß£¬ÒòΪºÜÃ÷ÏÔÈç¹ûhash£¨x£© £½ hash£¨y£©£¬ÄÇôhash£¨hash£¨x£©£© £½ hash£¨hash£¨y£©£©¡£µ«ÊÇ£¬Ë«ÖØSHA256Ëã·¨ÊDZ»Ê¹ÓÃÀ´¼õÇ᳤¶ÈÀ©Õ¹¹¥»÷¡£

±¾ÖÊÉÏÀ´Ëµ£¬ÕâÀ๥»÷°üÀ¨£¬¶ñÒâÆÛÕ©µÄÈËÖªµÀ¹þÏ£ÊäÈëµÄ³¤¶È£¬¿ÉÒÔÓÃÀ´ÆÛÆ­¹þÏ£À´¿ªÊ¼ÄÚ²¿×´Ì¬µÄij¸ö²¿·Ö£¬Í¨¹ý¸½¼ÓÒ»¸ö˽ÃÜ×Ö·û´®µ½¹þÏ£Öµ¡£SHA256£¬ÊÇSHA2Ëã·¨´ó¼ÒÍ¥ÖеÄÒ»¸ö£¬ÌÓÀëÕâ¸öÏÝÚ壬±ÈÌØ±Òͨ¹ý¼ÆËã¹þÏ£Á½´ÎÀ´¼õÇáËü¡£

ÒÔÌ«·»2£®0ºÍBLAKEËã·¨

SHA3²¢²»ÊÇÀ´×Ô2006ÄêNIST¹þÏ£±ÈÈüµÄÎ¨Ò»Í»ÆÆ¡£¾¡¹ÜSHA3»ñµÃʤÀû£¬³ÆÎªBLAKEµÄËã·¨»ñµÃµÚ¶þ¡£¶ÔÓÚÒÔÌ«·»2£®0·ÖƬ¼¼ÊõµÄ²¿Ê𣬸üÓÐЧµÄ¹þÏ£¼¸ºõÊǸöÌØÐÔÒªÇó£¬Ñо¿ÍŶӷdz£ÖØÊÓ¡£BLAKE2b¹þÏ£Ëã·¨£¬ÕâÊÇBLAKEµÄ¸üа汾£¬ÔÚºÍKECCAK256Ëã·¨Ïà±ÈµÄʱºò£¬ËüÓÉÓÚЧÂʺܸßÕýÔÚ±»¹ã·ºÊ¹Óã¬Í¬Ê±Ò²±£Ö¤Á˺ܸߵݲȫÐÔ¡£

BLAKE2bµÄ¼ÆËãËÙÂÊʵ¼ÊÉÏÊDZÈKECCAKÔÚÏÖ´úCPUÉÏÒª¿ì3±¶¡£

¹þÏ£Ëã·¨µÄδÀ´

²»ÂÛÎÒÃÇÔõô×ö£¬ÎÒÃÇÖ»ÄÜ£¨1£©Ìá¸ßÄÚ²¿¹þÏ£²Ù×÷µÄ¸´ÔÓÐÔ£¬»òÕߣ¨2£©Ìá¸ß¹þÏ£Êä³öµÄ³¤¶È£¬Ï£Íû¹¥»÷ÕߵļÆËã»ú²»»á×ã¹»¿ìµ½Äܹ»ÓÐЧµØ¼ÆËãcollision¡£

ÎÒÃÇÒÀÀµÓÚÍøÂ簲ȫµ¥Ïò²Ù×÷ǰͼÏñµÄÄ£ºýÐÔ¡£Ò²¾ÍÊÇ˵£¬¹þÏ£Ëã·¨µÄ°²È«Ä¿±êÊÇÈÃËùÓÐÈ˾¡¿ÉÄÜÀ§ÄѵØÕÒµ½Äܹ»»ñµÃͬÑù¹þÏ£Êä³öµÄÊýÖµ£¬¾¡¹Ü¶ÔÓÚ¿ÉÄܵÄcollision£¬ÆäÊýÖµÊÇÓÐÏ޵ġ£

δÀ´ÓÐÁ¿×Ó¼ÆËã»úÁË£¿¹þÏ£Ëã·¨»¹°²È«Âð£¿

¸ù¾ÝÏÖÔÚµÄÀí½â£¬´ð°¸Êǿ϶¨µÄ¡£¹þÏ£Ëã·¨½«¾­ÊÜÁ¿×Ó¼ÆËã»úµÄ¿¼Ñé¡£Á¿×Ó¼ÆËãÄܹ»´òÆÆµÄ¶«Î÷£¬ÊÇÑÏÃܵģ¬ÓÃÇÉÃîµÄ¼¼ÇɺÍÀíÂÛ½¨Á¢µÄµ×²ãÊýѧ¼Ü¹¹£¬ÀýÈçRSA¼ÓÃÜ¡£Áí¸ö·½ÃæÀ´¿´£¬¹þÏ£Ëã·¨ÔÚÄÚ²¿µÄ¿ò¼ÜÖУ¬ÓиüÉÙµÄÐÎʽ½á¹¹¡£

Á¿×Ó¼ÆËã»úȷʵ¼Ó¿ìÁ˼ÆËãµÄËÙ¶È£¬ÀýÈç¹þÏ£Ëã·¨£¬µ«ÊÇ×îºó£¬ËüÃÇÒ²»á±»ÀûÓÃÀ´½øÐÐÈçͬÏÖÔÚ¼ÆËã»úµÄ¹¥»÷¡£

²»ÂÛÎÒÃÇΪЭÒéÑ¡ÔñÁËʲôËã·¨£¬ºÜÇå³þµØÊÇÎÒÃǶ¼´¦ÓÚÓÐЧ¼ÆËãµÄδÀ´£¬¶øÇÒÎÒÃDZØÐëҪʹÓÃ×îºÃµÄ·½Ê½À´»ñµÃÕýÈ·µÄ¹¤¾ß£¬ÒÔ¼°ÄÇЩϣÍûÄܾ­ÊÜʱ¼ä¿¼ÑéµÄÈË¡£


 

ÆÀ·Ö£º0

ÎÒÀ´ËµÁ½¾ä