¡¡ ¡¡SSLµÄ¹¤×÷¹ý³Ì ¹ØÓÚÃÜÔ¿µÄ¼ò½é ÕâÆªÎÄÕ½éÉÜÁËNETSCAPEÈçºÎÔËÓÃRSA¹«ÓÃÃÜԿϵͳÀ´½â¾öINTERNETµÄ°²È«Ð﵀ ÎÊÌâ¡£NETSCAPEÖеÄSSL£¨Secure Sockets Layer£©Ð­ÒéµÄ°²×°ÆôÓý«»áʹÓñ¾ ÎÄÐðÊöµÄ¼¼Êõ¡£ RSA ¹«ÓÃÃÜԿϵͳ±»¹ã·ºÓ¦ÓÃÓÚµçÄÔ¹¤ÒµµÄÉí·ÝÈÏÖ¤ºÍ¼ÓÃÜ¡£ ¹«ÓÃÔ¿³×¼ÓÃÜÊÇÒ»ÖÖÔËÓÃÒ»¶Ô²»¶Ô³ÆµÄÔ¿³×½øÐмÓÃܺͽâÃܵļ¼Êõ¡£Ã¿¶ÔÔ¿³× Óɹ«ÓÃÃÜÔ¿ºÍ˽ÓÃÃÜÔ¿×é³É¡£¹«ÓÃÃÜÔ¿ÊÇÌṩ¸ø´ó¼ÒµÄ£¬ÊÇ¿ÉÒÔ¹«¿ªµÄ£¬¶øË½ ÓÃÃÜÔ¿È´´ÓÀ´²»¹«²¼£¬×ÜÊDZ£Ãܵģ¬Ö»ÔÊÐí˽ÈËÓµÓС£ ¾­¹ý¹«ÓÃÃÜÔ¿¼ÓÃܵÄÊý¾ÝÖ»ÄÜÓÃ˽ÓÃÃÜÔ¿À´½âÃÜ¡£Ïà·´µÄ£¬¾­¹ý˽ÓÃÃÜÔ¿¼ÓÃÜ µÄÊý¾ÝÖ»ÄÜÓù«ÓÃÃÜÔ¿À´½âÃÜ¡£ÕâÖÖ²»¶Ô³ÆÐÔʹµÃ¹«ÓÃÃÜÔ¿·Ç³£ÓÐÓᣡ¡¡¡ Ó¦Óù«ÓÃÃÜԿϵͳÈÏÖ¤Éí·Ý ÈÏÖ¤ÊDzéÑéÉí·ÝµÄ¹ý³Ì£¬Òò´ËÎÒÃÇ¿ÉÒÔ´ÓÒ»¸ö±ê¼Ç¶ÏÑÔÒ»¸öʵÌåÊÇʲô¡£ÏÂÃæ ¾ÙÀý˵Ã÷£¬ÀýÈçAlice ºÍ BobÖ®¼ä½øÐб£ÃÜͨÐÅ¡£ÔÚÕâ¸öÀý×ÓÀï¿ÉÒÔ¿´µ½ºÜÈÝ Ò×ÔËÓù«ÓÃÃÜÔ¿À´ÑéÖ¤Éí·Ý¡£ ×¢ÊÍ:{something}key±íʾÓÃkey¼ÓÃÜ»ò½âÃÜsomething¡£ ¼ÙÈçAliceÏëÈÏÖ¤ BobµÄÉí·Ý. BobÓÐÒ»¶ÔÔ¿³×£¬Ò»¸öÊǹ«Óõģ¬ÁíÒ»¸öÊÇ˽Óà µÄ¡£BobÏò Alice͸¶ËûµÄ¹«ÓÃÃÜÔ¿£¨Ò»»áÎÒÃǻὲµ½ÈçºÎ×öµ½ÕâÒ»µã£©¡£ AliceÏò Bob·¢ËÍÒ»¶ÎËæ»úÐÅÏ¢£º A->B random-message BobÓÃËûµÄ˽ÓÐÃÜÔ¿¼ÓÃÜÕâ¶ÎÐÅÏ¢£¬È»ºó°Ñ¼ÓÃܺóµÄÐÎʽËͻظøAlice: B->A {random-message}bobs-private-key Alice ÊÕµ½Õâ¶ÎÐÅÏ¢ºó£¬Óà BobµÄÔ¤Ïȸø³öµÄ¹«ÓÃÃÜÔ¿½øÐнâÃÜ¡£°Ñ¾­¹ý½âÃÜ ºóµÄÐÅÏ¢ÓëËýÔ­À´·¢Ë͸øBobµÄÐÅÏ¢Ïà±È½Ï£¬Èç¹ûÏàͬ£¬ÄÇô¾ÍÊÇBob·¢»ØµÄЊϢ¡£Ò»¸öðÃû¶¥ÌæÕßÊDz»»áÓÐBobµÄ˽ÓÃÃÜÔ¿µÄ£¬Òò´ËËû²»ÄܶÔÕâ¶ÎÐÅÏ¢½øÐÐ ÕýÈ·µÄ¼ÓÃÜÈÃAliceÀ´¼ì²é¡£¡¡¡¡ ÐÅÏ¢ÕªÒªÓëµç×ÓÇ©Ãû ³ý·ÇÄãºÜÈ·ÇеÄÖªµÀÄãÕýÔÚ¼ÓÃÜʲô£¬·ñÔòÓÃÄãµÄ˽ÓÃÃÜÔ¿¼ÓÃܺó·¢Ë͸ø±ðÈË ²¢²»ºÃ¡£ÒòΪÄãÒª¶Ô¼ÓÃܺóµÄÊý¾Ý¸ºÔð£¨Ö»ÓÐÓµÓÐÕâÖÖ˽ÓÐÃÜÔ¿µÄÄã²ÅÄܽøÐÐ ¼ÓÃÜ£©¡£ Òò´Ë£¬Bob²¢²»ÐèÒª¼ÓÃÜËùÓÐAliceÔ­À´·¢ËÍÀ´µÄÐÅÏ¢£¬¶øÖ»Òª¼ÓÃÜÐÅÏ¢µÄÕªÒª ¼´¿É¡£ÐÅÏ¢µÄÕªÒªÊÇ´ÓÐÅÏ¢ÖÐËæ»ú¼ÆËãµÃµ½µÄ£¬²¢ÇÒ¾ßÓÐÈçϺÜÓÐÓõÄÊôÐÔ£º *´ÓÕªÒªºÜÄÑ·´ÍƳöÔ­ÎÄ¡£Èç¹ûÓÐÈËÏëð³äBob£¬ËûÒ²²»ÄÜ´ÓÕªÒªµÃ³öÔ­ÎÄ¡£ *ðÃûÕߺÜÄÑÕÒ³öÁíÍâÒ»¶Î¾­¹ý¼ÆËãµÃ³öÏàͬ½á¹ûµÄÐÅÏ¢¡£ ʹÓÃÕªÒª£¬Bob¿ÉÒÔ±£»¤×Ô¼º·¢³öµÄÐÅÏ¢²»Êܴܸġ£Ëû´ÓAlice·¢Ë͹ýÀ´µÄÐÅÏ¢ ÖÐËæ»ú¼ÆËãµÃµ½ÕªÒª£¬È»ºóÔÙ¼ÓÃÜÕªÒª¡£Ëû°Ñ¾­¹ý¼ÓÃܵÄÕªÒªËͻظøAlice¡£ Alice ¿ÉÒÔÔËÓÃÏàͬµÄËã·¨´ÓÔ­ÎÄÖмÆËãµÃ³öÕªÒª£¬²¢ÇÒ½âÃÜËÍÀ´µÄժҪȻºó ͨ¹ý±È½ÏÕâÁ½ÖÖ½á¹ûÀ´ÈÏÖ¤BobµÄÉí·Ý¡£¡¡¡¡ Ôö¼Ó±£ÃÜÐÔ Ç°Ãæ½²µÄ¼¼Êõ¾ÍÊÇÊý×ÖÇ©Ãû¡£BobÔÚÓÉAlice·¢À´µÄÐÅÏ¢ÉÏÇ©Ãû£¬ÕâºÍËû¼ÓÃÜÓÉ Alice µÄԭʼÐÅÏ¢Ëæ»ú¼ÆËãµÃµ½µÄ½á¹ûÒ»Ñù°²È«¿É¿¿¡£ËùÒÔ£¬ÎÒÃǵÄÈÏ֤ЭÒé ±ØÐèÁíÒ»Ìõ¼þ£ºBob²úÉúһЩ£¨»òÕßËùÓУ©µÄÊý¾Ý¡£ A->B¡¡¡¡¡¡¡¡¡¡¡¡ B->A hello, are you bob?¡¡¡¡¡¡¡¡¡¡¡¡ Alice, This Is bob¡¡¡¡¡¡¡¡¡¡¡¡ { digest[Alice, This Is Bob] } bobs-private-key µ±BobʹÓÃÕâÖÖЭÒéʱ£¬ËûºÜÇå³þËûÔÚÏòAlice·¢ËÍʲôÐÅÏ¢£¬ËùÒÔËû²»½éÒâÔÚ ÉÏÃæÇ©Ãû¡£ËûÊ×ÏÈ·¢ËÍûÓÐûÓмÓÃܵÄÐÅÏ¢£¬"Alice,This is Bob".½Ó×Å£¬Ëû ·¢Ë;­¹ý¼ÓÃܵÄÐÅÏ¢ÕªÒª¡£Alice¾ÍºÜÈÝÒ×Ö¤Ã÷ÕâÊÇ Bob,¶ø±ðÈËÒ²²»ÄÜð³ä BObµÄÇ©Ãû ¡£¡¡ ¡¡ ¡¡¡¡¡¡ ·¢Ë͹«ÓÃÃÜÔ¿ BobÔõôÑù°²È«ÓÐЧµÄ·¢ËÍËûµÄ¹«ÓÃÃÜÔ¿ÄØ£¿ ÎÒÃÇÀ´¿´¿´ÏÂÃæÕâÖÖÈÏ֤ЭÒ飺 A->B¡¡¡¡¡¡¡¡¡¡¡¡ B->A¡¡¡¡¡¡¡¡¡¡¡¡ A->B¡¡¡¡¡¡¡¡¡¡¡¡ B->A hello¡¡¡¡¡¡¡¡¡¡¡¡ Hi, I'm Bob, bobs-public-key¡¡¡¡¡¡¡¡¡¡¡¡ prove it¡¡¡¡¡¡¡¡¡¡¡¡ Alice, This Is bob¡¡¡¡¡¡¡¡¡¡¡¡ { digest[Alice, This Is Bob] } bobs-private-key ¸ù¾ÝÕâÖÖЭÒ飬ֻҪӵÓÐÒ»¶Ô¹«ÓúÍ˽ÓõÄÃÜÔ¿£¬ÈκÎÈ˶¼Äܹ»Ã°³äBob¡£Äã ¿ÉÒÔÏòAliceÈö»Ñ˵ÄãÊÇ Bob,È»ºóÄãÓÃ×Ô¼ºµÄ¹«ÓÃÃÜÔ¿´úÌæBobµÄ¡£ÕâÑùÒ»À´ £¬Äã¾Í¿ÉÒÔÓÃ×Ô¼ºµÄ˽ÓÃÃÜÔ¿¼ÓÃÜһЩÐÅÏ¢ºó·¢»Ø¸øAlice£¬ËýÓÃÄã·¢ËÍÀ´µÄ ¹«ÓÃÃÜÔ¿½øÐнâÃÜ£¬·¢ÏÖÄܹ»½âÂ룬ÕâÑùAlice¾Í²»»áÖªµÀÄã²»ÊÇBob¡£ ΪÁ˽â¾öÕâ¸öÎÊÌ⣬±ê×¼×éÖ¯·¢Ã÷ÁËÒ»ÖÖÈÏÖ¤Ö¤Êé¡£ÕâÖÖÖ¤ÊéÓÐÈçϵÄÄÚÈÝ£º Ö¤Êé°ä·¢ÕßµÄÃû×Ö Ö¤Êé½ÓÊÜÕßµÄÐÕÃû Ö÷Ì⹫ÓÃÃÜÔ¿ ÓÐЧÆÚ °ä·¢ÕßÔÚÕâ·ÝÖ¤ÊéÉÏÓÃ˽ÓÃÃÜÔ¿Ç©Ãû,¶øÈκÎÈ˶¼ÖªµÀ°ä·¢ÕߵĹ«ÓÃÃÜÔ¿£¨Ò² ¾ÍÊÇ˵£¬´ó¼Ò¶¼¿ÉÒÔ¼ìÑé°ä·¢µÄÖ¤ÊéµÄÕæÊµÐÔ£¬..£©¡£Ö¤ÊéÊÇΪÓû§ÃÜ·â´« Ë͹«ÓÃÃÜÔ¿µÄÒ»ÖÖ±ê×¼·½·¨¡£ ¡¡ Ó¦ÓÃÕâÖÖÖ¤Êé¼¼Êõ£¬ÈκÎÈ˶¼Äܹ»¼ì²éBobµÄÖ¤ÊéÊÇ·ñÊÇαÔìµÄ¡£¼Ù¶¨BobºÃ ºÃµÄ±£¹ÜËûµÄ˽ÓÐÃÜÔ¿,²¢ÇÒÊÇËûµÃµ½ÁËÖ¤Ê飬ÄÇÒ»Çж¼Ã»ÎÊÌâÁË¡£ÏÂÃæÊÇÐÞ ¶©Á˵ÄЭÒé: A->B¡¡¡¡¡¡¡¡¡¡¡¡ B->A¡¡¡¡¡¡¡¡¡¡¡¡ A->B¡¡¡¡¡¡¡¡¡¡¡¡ B->A hello¡¡¡¡¡¡¡¡¡¡¡¡ Hi, I'm Bob, bobs-certificate¡¡¡¡¡¡¡¡¡¡¡¡ prove it¡¡¡¡¡¡¡¡¡¡¡¡ Alice, This Is bob¡¡¡¡¡¡¡¡¡¡¡¡ { digest[Alice, This Is Bob] } bobs-private-key ÏÖÔÚµ±AliceÊÕµ½ BobµÚÒ»´ÎËÍÀ´µÄÐÅÏ¢£¬Ëý¿ÉÒÔ¼ì²éÖ¤Ê飬Ñé֤ǩÃû£¨ÈçÉÏ ËùÊö£¬Ê¹Óù«ÓÃÃÜÔ¿½âÃÜÐÅÏ¢ÕªÒª£©£¬È»ºó²éÑéÖ÷Ì壨¾ÍÊÇ£¬BobµÄÃû×Ö£©£¬ ÕâÑù¾ÍÖªµÀÕæµÄÊÇ BobµÄÖ¤Êé¡£ÄÇôËý¾Í¿ÉÒÔÏàÐÅÕâ¸ö¹«ÓÃÃÜÔ¿ÊÇBobµÄ£¬È» ºóËý¾Í·¢ËÍÐÅÏ¢¸ø Bob,²¢ÒªÇóBob·µ»ØÐÅÏ¢ÒÔÖ¤Ã÷ËûµÄÉí·Ý¡£Bob¾­¹ýÇ°ÃæËù ˵µÄ¹ý³Ì£¬±ê¼ÇÐÅÏ¢µÄժҪȻºó·µÇ©ÁËÃûµÄÐÅÏ¢ ¸øAlice¡£ AliceÔËÓÃÖ¤Êé ÖеĹ«ÓÃÃÜÔ¿À´À´¶Ô BobµÄÐÅÏ¢ÕªÒª½øÐнâÃÜ£¬²¢ÇÒÑéÖ¤½á¹û¡£ . ÓÐÒ»¸ö»µ¼Ò»ïMallet£¬Ëû·¢ËÍÐÅÏ¢¸øAlice£º A->M¡¡¡¡¡¡¡¡¡¡¡¡ M->A¡¡¡¡¡¡¡¡¡¡¡¡ A->M¡¡¡¡¡¡¡¡¡¡¡¡ M->A hello¡¡¡¡¡¡¡¡¡¡¡¡ Hi, I'm Bob, bobs-certificate¡¡¡¡¡¡¡¡¡¡¡¡ prove it¡¡¡¡¡¡¡¡¡¡¡¡ ???? µ«ÊÇMalletÐÅϢȴ²»ÄÜÁîAliceÂúÒâ ¡£MalletûÓÐBobµÄ˽ÓÃÃÜÔ¿£¬Òò´ËËû²» ÄÜ´´Á¢Ò»·ÝÐÅÏ¢£¬ÈÃAliceÏàÐÅÊÇBob·¢À´µÄ¡£¡¡ ¡ ½»»»ÃØÃÜÐÅÏ¢ Ò»µ© AliceÈÏÖ¤ÁËBob, Ëý¾Í¿ÉÒÔ¸øBob·¢ËÍÒ»·ÝÖ»ÓÐ BobÄܽâÂëµÄÐÅÏ¢£º A->B ¡¡ {secret}bobs-public-key Ö»ÓÐÓ¦ÓÃBobµÄ˽ÓÐÃÜÔ¿½âÃÜ£¬²ÅÄܵõ½Ô­À´µÄÃØÃÜÐÅÏ¢¡£»¥»»ÃØÃÜÐÅÏ¢ÊÇ¶Ô ¹«ÓÃÃÜÔ¿¼ÓÃÜϵͳµÄÒ»ÖÖºÜÓÐЧµÄÓ¦Ó᣼´Ê¹Alice ºÍBobÖ®¼äµÄͨÐÅÊǹ«¿ª µÄ£¬µ«ÊÇÖ»ÓÐBobÄÜ»ñµÃÕâ·ÝÃØÃÜÐÅÏ¢¡££  ¼ÓÃÜÃØÃÜÐÅÏ¢µÄÕâÖÖ¼¼Êõ¼ÓÇ¿ÁËInternet µÄ°²È«¿É¿¿ÐÔ£¬µ«Õâ´ÎÓõÄÃÜÔ¿ÊÇ ¸ù¾Ý¶Ô³ÆÔËËã·¨Ôò½¨Á¢µÄ¡£AliceÖªµÀÕâ·ÝÃØÃÜÐÅÏ¢£¬ÒòΪÊÇÓÉËý´´Á¢²¢·¢ËÍ ¸øBobµÄ¡£¶øBobÒ²ÖªµÀÕâ·ÝÃØÃÜÐÅÏ¢£¬ÒòΪËûÓµÓÐ˽ÓÃÃÜÔ¿£¬ÄܽâÃÜAliceËÍ À´µÄÐÅÏ¢¡£ÓÉÓÚËûÃÇÁ½¸ö¶¼ÖªµÀÃØÃÜÐÅÏ¢£¬ËûÃÇ¿ÉÒÔÔÚ¿ªÊ¼Ê±³õʼ»¯Ò»¸ö¶Ô ³ÆµÄÔËËã·¨Ôò£¬È»ºóÓÃÕâ¸ö·¨Ôò¼ÓÃÜÒª·¢Ë͵ÄÐÅÏ¢¡£ÏÂÃæÊÇÐÞ¶©Á˵ÄЭÒ飺 A->B¡¡¡¡¡¡¡¡¡¡¡¡ B->A¡¡¡¡¡¡¡¡¡¡¡¡ A->B¡¡¡¡¡¡¡¡¡¡¡¡ B->A¡¡¡¡¡¡¡¡¡¡¡¡ A->B¡¡¡¡¡¡¡¡¡¡¡¡ B->A hello¡¡¡¡¡¡¡¡¡¡¡¡ Hi, I'm Bob, bobs-certificate¡¡¡¡¡¡¡¡¡¡¡¡ prove it¡¡¡¡¡¡¡¡¡¡¡¡ Alice, This Is bob¡¡¡¡¡¡¡¡¡¡¡¡ { digest[Alice, This Is Bob] } bobs-private-key¡¡¡¡¡¡¡¡¡¡¡¡ ok bob, here is a secret {secret} bobs-public-key¡¡¡¡¡¡¡¡¡¡¡¡ {some message}secret-key ÃØÃÜÐÅÏ¢µÄÃÜÔ¿ÔõÑù¼ÆËãÈ¡¾öÓÚЭÒéµÄ¶¨Ò壬µ«ÊǼòµ¥µØ£¬ËüÒ²¿ÉÒÔÊÇÃØÃÜ ÐÅÏ¢µÄ¿½±´¡£¡¡ ·ÀֹПÉÈÅ MalletºÜϲ»¶¸ãЩ¶ñ×÷¾ç¡£¾¡¹Ü Mallet²»Äܹ»·¢ÏÖ AliceºÍ Bob »¥»»µÄÃØ ÃÜÐÅÏ¢£¬µ«Ëû¿ÉÒÔ¸ÉÈÅËûÃǵÄͨÐÅ¡£ÀýÈ磺 Mallet´¦ÓÚAlice ºÍBobÖ®¼ä£¬Ëû²»¸Ä±äËûÃÇÖ®¼ä´«Ë͵Ĵ󲿷ÖÐÅÏ¢£¬¶øÖ» ÊÇÆÆ»µÄ³Ð©ÐÅÏ¢£¨Õâ¶ÔËûÀ´ËµºÜÈÝÒ××öµ½£¬ÒòΪAliceºÍ BobÖ®¼äµÄͨÐÅЭ Ò飩£º A->M¡¡¡¡¡¡¡¡¡¡¡¡ M->B¡¡¡¡¡¡¡¡¡¡¡¡ B->M¡¡¡¡¡¡¡¡¡¡¡¡ M->A¡¡¡¡¡¡¡¡¡¡¡¡ A->M¡¡¡¡¡¡¡¡¡¡¡¡ M->B¡¡¡¡¡¡¡¡¡¡¡¡ B->M¡¡¡¡¡¡¡¡¡¡¡¡ M->A¡¡¡¡¡¡¡¡¡¡¡¡ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡ A->M¡¡¡¡¡¡¡¡¡¡¡¡ M->B¡¡¡¡¡¡¡¡¡¡¡¡ B->M¡¡¡¡¡¡¡¡¡¡¡¡ M->A hello¡¡¡¡¡¡¡¡¡¡¡¡ hello¡¡¡¡¡¡¡¡¡¡¡¡ Hi, I'm Bob, bobs-certificate¡¡¡¡¡¡¡¡¡¡¡¡ Hi, I'm Bob, bobs-certificate¡¡¡¡¡¡¡¡¡¡¡¡ prove it¡¡¡¡¡¡¡¡¡¡¡¡ prove it¡¡¡¡¡¡¡¡¡¡¡¡ Alice, This Is bob¡¡¡¡¡¡¡¡¡¡¡¡ { digest[Alice, This Is Bob] } bobs-private-key¡¡¡¡¡¡¡¡¡¡¡¡ Alice, This Is bob¡¡¡¡¡¡¡¡¡¡¡¡ { digest[Alice, This Is Bob] } bobs-private-key¡¡¡¡¡¡¡¡¡¡¡¡ ok bob, here is a secret {secret} bobs-public-key¡¡¡¡¡¡¡¡¡¡¡¡ ok bob, here is a secret {secret} bobs-public-key¡¡¡¡¡¡¡¡¡¡¡¡ {some message}secret-key¡¡¡¡¡¡¡¡¡¡¡¡ Garble[ {some message}secret-key ] µ±AliceºÍBobÖ®¼ä»¥»»ÃØÃÜÐÅÏ¢µÄʱºò,Mallet¾ÍÐÞ¸ÄËûÃǵÄÊý¾Ý,ÕâÑùËû¾Í´Ü ¸ÄÁËBob·¢Ë͸øAliceµÄÐÅÏ¢ÁË¡£¶øÕâʱAliceÊÇÐÅÈÎ BobµÄ,Ëý¾Í»áÏàÐŴܸÄÁË µÄÐÅÏ¢,È»ºó°´ ÕÕËÍÀ´µÄÐÅÏ¢¹¤×÷¡£×¢Òâ,Mallet²¢²»ÖªµÀ´«Ë͵ÄÃØÃÜÐÅÏ¢¡£ Mallet²»Äܸù¾ÝЭÒéÖÆÔìÓÐЧÐÅÏ¢£¬ËûËù×öµÄÖ»ÊÇÆÆ»µ¾­¹ý¼ÓÃܵÄÃØÃÜÐÅÏ¢¡£ µ«ÊÇ,ËûÓÖÒ»´Î¶ñ×÷¾ç³É¹¦¡£ ΪÁË×èÖ¹ÕâÀàµÄÆÆ»µ, Alice ºÍBob¿ÉÒÔÔÚËûÃǵÄЭÒéÖÐÊäÈëÐÅÏ¢ÈÏÖ¤Âë(MAC)¡£ ÐÅÏ¢ÈÏÖ¤ÂëÓÃÃØÃÜÐÅÏ¢ºÍһЩÖÊÊýÀ´¼ÆËãËùµÃµÄÒ»ÐòÁÐÊý¾Ý¡£Ç°ÃæËù˵µÄÐÅÏ¢ ÕªÒªµÄÕýÊÇΪÁË·ÀÎÀMalletÕâÀàÈËÆÆ»µ¶ø½¨Á¢µÄÒ»ÖÖMAC¹¦ÄÜ: MAC := Digest[ some message, secret ] ¡¡ ÒòΪMallet²»ÖªµÀÃØÃÜÐÅÏ¢,ËùÒÔËû¼ÆËã³öÕýÈ·µÄ½á¹û¡£¼´Ê¹MalletËæ»úµÄÆÆ»µ ÐÅÏ¢,µ«Èç¹ûÐÅÏ¢ÕªÒªÊý¾Ý·Ç³£¾Þ´óËûºÜ¿ÉÄܻ᲻³É¹¦¡£Èç:ʹÓÃMD5(RSA·¢Ã÷µÄ Ò»ÖÖÓÅÐãµÄ¼ÓÃÜÐÅÏ¢ÕªÒªµÄ¼ÆËã·¨Ôò),Alice ºÍ BobÄÜ´«128-bitËÍ´ø×ÅËûÃÇµÄ ÐÅÏ¢µÄMACÂë¡£MlletÄܲµ½ÕýÈ·µÄMACÂëµÄ¼¸ÂÊÊÇ18,446,744,073,709,551,616 ·ÖÖ®Ò»¡£Êµ¼ÊÉÏ,ÕâÏ൱ÓÚ²»¿ÉÄÜ¡£ ÏÂÃæÊÇÖØÐÂÐÞ¶©Á˵ÄЭÒéÐÎʽ: A->B¡¡¡¡¡¡¡¡¡¡¡¡ B->A¡¡¡¡¡¡¡¡¡¡¡¡ A->B¡¡¡¡¡¡¡¡¡¡¡¡ B->A hello¡¡¡¡¡¡¡¡¡¡¡¡ Hi, I'm Bob, bobs-certificate¡¡¡¡¡¡¡¡¡¡¡¡ prove it¡¡¡¡¡¡¡¡¡¡¡¡ Alice, This Is bob¡¡¡¡¡¡¡¡¡¡¡¡ { digest[Alice, This Is Bob] } bobs-private-key¡¡¡¡¡¡¡¡¡¡¡¡ ok bob, here is a secret {secret} bobs-public-key¡¡¡¡¡¡¡¡¡¡¡¡ {some message,MAC}secret-key Mallet ÏÖÔھͺÜÂé·³ÁË¡£Ëû¿ÉÒÔÆÆ»µËùÓÐËûÏëÆÆ»µµÄÐÅÏ¢£¬µ«MAC Â뽫»áÏÔʾ ³öµÄËûµÄÆÛÆ­¡£Alice »òBob·¢ÏÖ¼ÙµÄMAC½á¹ûºóÁ¢¿Ì̸ֹͣ»°¡£Mallet¾ÍÔÙÒ² ²»ÄܼٽèBobµÄ¿ÚÀ´Ëµ»°ÁË¡£¡¡¡¡ ÐÅÏ¢µÄʱ¼äÐÔ ×îºó(µ«²¢²»ÊÇ×î²»ÖØÒª)µÄÒ»µãÊÇÒª·ÀÖ¹MalletµÄѧÉà¡£Èç¹û Mallet ¼ÏÂ̸»° ,ËäÈ»Ëû²»ÄÜÀí½âËûÃǵÄÐÅÏ¢,µ«ÊÇÄܹ»Öظ´ËûÃǵÄÐÅÏ¢¡£.ÊÂʵÉÏ, Mallet´¦ÓÚ Alice ºÍ BobÖ®¼äÕæµÄ¿ÉÒÔ¸ÉһЩ¶ñÁÓµÄÊÂÇé¡£½â¾öµÄ·½·¨ÊǻỰµÄË«·½¶¼ÊäÈë Ëæ»úµÄÐÅÏ¢¡£¡¡