±à¼ÍƼö: |
ÎÄÕÂÖ÷Òª½éÉÜÁËÇø¿éÁ´µÄÊý¾Ý½á¹¹£¬MerkleÊ÷½á¹¹£¬¹þÏ£º¯ÊýÒÔ¼°Ò»Ð©¼ÓÃÜËã·¨µÈ£¬Ï£Íû¶ÔÄúÄÜÓÐËù°ïÖú¡£
±¾ÎÄÀ´×ÔÓÚjianshu£¬ÓÉ»ðÁú¹ûÈí¼þLuca±à¼¡¢ÍƼö¡£ |
|
Êý¾Ý²ãÊÇ×îµ×²ãµÄ¼¼Êõ£¬Ö÷ҪʵÏÖÁËÁ½¸ö¹¦ÄÜ£ºÊý¾Ý´æ´¢¡¢ÕË»§ºÍ½»Ò×µÄʵÏÖÓ밲ȫ¡£Êý¾Ý´æ´¢Ö÷Òª»ùÓÚMerkleÊ÷£¬Í¨¹ýÇø¿éµÄ·½Ê½ºÍÁ´Ê½½á¹¹ÊµÏÖ£¬´ó¶àÒÔKVÊý¾Ý¿âµÄ·½Ê½ÊµÏֳ־û¯£¬±ÈÈç±ÈÌØ±ÒºÍÒÔÌ«·»²ÉÓõÄleveldb¡£ÕË»§ºÍ½»Ò×µÄʵÏÖÓ밲ȫÕâ¸ö¹¦ÄÜ»ùÓÚÊý×ÖÇ©Ãû¡¢¹þÏ£º¯ÊýºÍ·Ç¶Ô³Æ¼ÓÃܼ¼ÊõµÈ¶àÖÖÃÜÂëѧËã·¨ºÍ¼¼Êõ£¬±£Ö¤Á˽»Ò×ÔÚÈ¥ÖÐÐÄ»¯µÄÇé¿öÏÂÄܹ»°²È«µÄ½øÐС£
Êý¾Ý²ãµÄϵͳģÐÍÓкܶ࣬±ÈÈç±ÈÌØ±ÒµÄUTXO Ä£ÐÍ¡¢Ñ¸À×Á´µÄÕË»§Ä£Ð͵ȡ£
(1) Êý¾Ý´æ´¢ÏµÍ³--Êý¾Ý¿â
Êý¾Ý²ãµÄÒ»´ó¹¦ÄÜÊÇ´æ´¢£¬´æ´¢ÏµÍ³µÄÑ¡ÔñÔÔòÊÇÐÔÄܺÍÒ×ÓÃÐÔ¡£Ò»¸öÍøÂçϵͳµÄÕûÌåÐÔÄÜ£¬Ö÷Ҫȡ¾öÓÚÍøÂç»ò±¾µØÊý¾Ý´æ´¢ÏµÍ³µÄI/OÐÔÄÜ£¬±ÈÈç±ÈÌØ±ÒÓõÄÊǹȸèµÄLevelDB£¬¾Ý˵Õâ¸öÊý¾Ý¿â¶ÁдÐÔÄܺܺ㬵«ÊǺܶ๦ÄÜÐèÒª¿ª·¢Õß×Ô¼ºÊµÏÖ¡£
Êý¾Ý¿âµÄÀúÊ·£ºÔÚIT½ç£¬Æäʵһ¸öÌØ±ð¹ÅÀϵÄÑо¿ÁìÓò¡£´Ó×î³õµÄÎļþϵͳ£¬µ½ºóÀ´µÄERʵÌå¹ØÏµÄ£ÐÍ¡£ÊµÌå¹ØÏµÄ£Ð͵ÄÌá³ö´ßÉúÁËһϵÁÐΰ´óµÄÊý¾Ý¿â¹«Ë¾ºÍÈí¼þ£¬ÀýÈçIBMµÄDB2£¬
Sybase£¬Oracle£¬Î¢ÈíµÄSQLServer£¬MySQLµÈµÈ¡£ÒÔ¼°£¬ÓÉ´ËÒý·¢ÁË´«Í³Êý¾Ý¿âµÄÈý´ó³É¾Í£¬¹ØÏµÄ£ÐÍ¡¢ÊÂÎñ´¦Àí¡¢²éѯÓÅ»¯¡£ÔÙµ½ºóÀ´Ëæ×Å»¥ÁªÍøµÄÊ¢ÐУ¬MangoDBΪµäÐÍ´ú±íµÄNOSQLÊý¾Ý¿âáÈÆð¡£Êý¾Ý¿â¼¼Êõ±¾ÉíÔÚ²»Í£µÄÑݽø£¬ÇÒÒ»Ö±ÊÇÈÈÃŵķ½Ïò£¬Ò²°üÀ¨XMLΪ´ú±íµÄ°ë½á¹¹»¯£¬»ùÓÚÎı¾¡¢ÓïÒôºÍͼÏñµÄ·Ç½á¹¹»¯Êý¾Ý´¦ÀíµÈ¡£
°éËæ×ÅÏÖʵµÄÐèÇó²»¶ÏÉý¼¶£¬Êý¾Ý¿âÒ²ÔÚ²»¶Ï·¢Õ¹µÄ£¬ÎÒÃÇͨ¹ýERʵÌå¹ØÏµÄ£ÐÍ¡¢Í¨¹ýNOSQL£¬ÄܺܺõĽâ¾öÊý¾Ý´æ´¢ºÍÊý¾Ý·ÃÎʵÄScalabilityÎÊÌâ¡£ÎÒÃÇͨ¹ýNOSQLÊý¾Ý¿â¡¢ÔÆ´æ´¢µÈ¼¼Êõ½â¾öÁË»¥ÁªÍøº£Á¿Êý¾ÝµÄ´¦ÀíÎÊÌâºó£¬ÏÂÒ»¸öÎÊÌâ½Óõà¶øÖÁ¡£ÄǾÍÊÇÈçºÎÒÔÒ»ÖÖ¹æÄ£»¯µÄ·½Ê½½â¾öÊý¾ÝÕæÊµÐÔºÍÓÐЧÐÔµÄÎÊÌâ¡£
Çø¿éÁ´µÄÊý¾Ý¿âºÍ´«Í³·Ö²¼Ê½Êý¾Ý¿âµÄ±È½Ï¡£

´ÓͼÖпÉÒÔ¿´³ö£¬Çø¿éÁ´µÄÊý¾Ý¿âʹÓü¼Êõ»¹ÊÇÊý¾Ý¿â£¬ÖªÊ¶ÔÚ¹ÜÀíȨÏÞ¡¢Êý¾Ý½Úµã·Ö²¼¡¢È¥ÖÐÐÄ»¯µÈ²¿·ÖÓвîÒì¡£Çø¿éÁ´µÄ²»¿É´Û¸ÄÊý¾Ý£¬±ØÈ»°éËæ×ÅÊý¾Ý´æ´¢µÄÅòÕÍ£¬Õâ¸ö»á²»»áÊÇÒ»¸öÎÊÌâÄØ£¿
(2) Çø¿éÊý¾Ý£¨Block£©
Çø¿éÊý¾ÝÖ÷ÒªÊDZ£´æ½»Ò×Êý¾Ý£¬²»Í¬µÄϵͳ²ÉÓõĽṹ²»Í¬£¬ÏÂÃæÒÔ±ÈÌØ±ÒµÄÇø¿é½á¹¹ÎªÀý×ö½éÉÜ¡£
±ÈÌØ±ÒµÄ½»Ò׼Ǽ»á±£´æÔÚÊý¾ÝÇø¿éÖ®ÖУ¬±ÈÌØ±ÒϵͳÖдóԼÿ10·ÖÖÓ»á²úÉúÒ»¸öÇø¿é£¬Ã¿¸öÊý¾ÝÇø¿éÒ»°ã°üº¬Çø¿éÍ·£¨Header£©ºÍÇø¿éÌ壨Body£©Á½²¿·Ö£¬Èçͼ2-1Ëùʾ¡£

Çø¿é½á¹¹£º

Çø¿éÍ·µÄ½á¹¹ËµÃ÷£º

Çø¿éÁ´µÄÊý¾Ý½á¹¹³ÉÔ±·ÖÉ¢´æ´¢ÔڵײãÊý¾Ý¿â£¬×îÖÕ´æ´¢ÐÎʽÊÇ[k,v]¼üÖµ¶Ô£¬Ê¹ÓõÄ[k,v]Ð͵ײãÊý¾Ý¿âÊÇLevelDB£»Óë½»ÒײÙ×÷Ïà¹ØµÄÊý¾Ý£¬Æä³ÊÏֵļ¯ºÏÐÎʽÊÇBlock£»Èç¹ûÒÔBlockΪµ¥Î»Á´½ÓÆðÀ´£¬Ôò¹¹³É¸ü´óÁ£¶ÈµÄBlockChain¡£
(3) Á´Ê½½á¹¹£¨chain£©
´ÓÉÏÃæµÄÇø¿é½á¹¹ÖпÉÒÔ¿´µ½£¬Ã¿Ò»¸öÇø¿é¶¼±£´æÁËÉÏÒ»¸öÇø¿éµÄhashÖµ£¬ÕâÑù¾Í½«ÕâÐ©Çø¿éÁ¬½ÓÆðÀ´¡£

(4) MerkleÊ÷
Ĭ¿Ë¶ûÊ÷£¨Merkle tree£¬MT£©ÊÇÒ»ÖÖ¹þÏ£¶þ²æÊ÷£¬1979ÄêÓÉRalph Merkle·¢Ã÷¡£ÔÚ¼ÆËã»ú¿ÆÑ§ÖУ¬¶þ²æÊ÷ÊÇÿ¸ö½Úµã×î¶àÓÐÁ½¸ö×ÓÊ÷µÄÊ÷½á¹¹£¬Ã¿¸ö½Úµã´ú±íÒ»Ìõ½á¹¹»¯Êý¾Ý¡£Í¨³£×ÓÊ÷±»³Æ×÷¡°×ó×ÓÊ÷¡±£¨left
subtree£©ºÍ¡°ÓÒ×ÓÊ÷¡±£¨right subtree£©¡£¶þ²æÊ÷³£±»ÓÃÓÚʵÏÖÊý¾Ý¿ìËÙ²éѯ¡£¶þ²æÊ÷ÈçÏÂͼËùʾ¡£

A¡¢MerkleÊ÷½á¹¹
ÓÉÒ»¸ö¸ù½Úµã£¨root£©¡¢Ò»×éÖмä½ÚµãºÍÒ»×éÒ¶½Úµã£¨leaf£©×é³É¡£Ò¶½Úµã£¨leaf£©°üº¬´æ´¢Êý¾Ý»òÆä¹þÏ£Öµ£¬Öмä½ÚµãÊÇËüµÄÁ½¸öº¢×Ó½ÚµãÄÚÈݵĹþÏ£Öµ£¬¸ù½ÚµãÒ²ÊÇÓÉËüµÄÁ½¸ö×Ó½ÚµãÄÚÈݵĹþÏ£Öµ×é³É¡£ËùÒÔMerkleÊ÷Ò²³Æ¹þÏ£Ê÷¡£
B¡¢¹þÏ£Ê÷µÄÌØµã
Ò¶½Úµã´æ´¢µÄÊÇÊý¾ÝÎļþ£¬¶ø·ÇÒ¶½Úµã´æ´¢µÄÊÇÆä×Ó½ÚµãµÄ¹þÏ£Öµ£¨Hash£¬Í¨¹ýSHA1¡¢SHA256µÈ¹þÏ£Ëã·¨¼ÆËã¶øÀ´£©£¬ÕâЩ·ÇÒ¶×Ó½ÚµãµÄHash±»³Æ×÷·¾¶¹þÏ£Öµ£¨¿ÉÒÔ¾ÝÆäÈ·¶¨Ä³¸öÒ¶½Úµãµ½¸ù½ÚµãµÄ·¾¶£©,
Ò¶½ÚµãµÄHashÖµÊÇÕæÊµÊý¾ÝµÄHashÖµ¡£ÒòΪʹÓÃÁËÊ÷Ðνṹ, Æä²éѯµÄʱ¼ä¸´ÔÓ¶ÈΪ O(logn)£¬nÊǽڵãÊýÁ¿¡£

Ĭ¿Ë¶ûÊ÷µÄÁíÒ»¸öÌØµãÊÇ£¬µ×²ãÊý¾ÝµÄÈκα䶯£¬¶¼»á´«µÝµ½Æä¸¸½Úµã£¬Ò»Ö±µ½Ê÷¸ù¡£
C¡¢Ó¦ÓÃģʽ
Ĭ¿Ë¶ûÊ÷µÄµäÐÍÓ¦Óó¡¾°°üÀ¨£º
l ¿ìËٱȽϴóÁ¿Êý¾Ý£ºµ±Á½¸öĬ¿Ë¶ûÊ÷¸ùÏàͬʱ£¬ÔòÒâζ×ÅËù´ú±íµÄÊý¾Ý±ØÈ»Ïàͬ£¨¹þÏ£Ëã·¨¾ö¶¨µÄ£©¡£
l ¿ìËÙ¶¨Î»Ð޸ģºÀýÈçÉÏÀýÖУ¬Èç¹û D1 ÖÐÊý¾Ý±»Ð޸쬻áÓ°Ïìµ½Hash0-0£¬Hash0 ºÍ Root¡£Òò´Ë£¬ÑØ×Å
Root --> 0 --> 0-0£¬¿ÉÒÔ¿ìËÙ¶¨Î»µ½·¢Éú¸Ä±äµÄ D1£»
l Áã֪ʶ֤Ã÷£ºÀýÈçÈçºÎÖ¤Ã÷ij¸öÊý¾Ý£¨D0¡¡D3£©ÖаüÀ¨¸ø¶¨ÄÚÈÝ D0£¬ºÜ¼òµ¥£¬¹¹ÔìÒ»¸öĬ¿Ë¶ûÊ÷£¬¹«²¼
N0£¬N1£¬N4£¬Root£¬D0ÓµÓÐÕß¿ÉÒÔºÜÈÝÒ×¼ì²â D0 ´æÔÚ£¬µ«²»ÖªµÀÆäËüÄÚÈÝ¡£
Ïà¶ÔÓÚ Hash List£¬MTµÄÃ÷ÏÔµÄÒ»¸öºÃ´¦ÊÇ¿ÉÒÔµ¥¶ÀÄóöÒ»¸ö·ÖÖ§À´£¨×÷Ϊһ¸öСÊ÷£©¶Ô²¿·ÖÊý¾Ý½øÐÐУÑ飬Õâ¸öºÜ¶àʹÓó¡ºÏ¾Í´øÀ´Á˹þÏ£ÁбíËù²»ÄܱÈÄâµÄ·½±ãºÍ¸ßЧ¡£ÕýÊÇÔ´ÓÚÕâЩÓŵ㣬MT³£ÓÃÓÚ·Ö²¼Ê½ÏµÍ³»ò·Ö²¼Ê½´æ´¢ÖÐ
D¡¢ÔÚ·Ö²¼Ê½´æ´¢ÏµÍ³ÖеÄÓ¦ÓÃÔÀí
ΪÁ˱£³ÖÊý¾ÝÒ»Ö£¬·Ö²¼ÏµÍ³¼äÊý¾ÝÐèҪͬ²½£¬Èç¹û¶Ô»úÆ÷ÉÏËùÓÐÊý¾Ý¶¼½øÐбȶԵϰ£¬Êý¾Ý´«ÊäÁ¿¾Í»áºÜ´ó£¬´Ó¶øÔì³É¡°ÍøÂçÓµ¼·¡±¡£ÎªÁ˽â¾öÕâ¸öÎÊÌ⣬¿ÉÒÔÔÚÿ̨»úÆ÷ÉϹ¹ÔìÒ»¿ÃMerkle
Tree£¬ÕâÑù£¬ÔÚÁ½Ì¨»úÆ÷¼ä½øÐÐÊý¾Ý±È¶Ôʱ£¬´ÓMerkle TreeµÄ¸ù½Úµã¿ªÊ¼½øÐбȶԣ¬Èç¹û¸ù½ÚµãÒ»Ñù£¬Ôò±íʾÁ½¸ö¸±±¾Ä¿Ç°ÊÇÒ»Öµģ¬²»ÔÙÐèÒªÈκδ¦Àí£»Èç¹û²»Ò»Ñù£¬ÔòÑØ×ÅhashÖµ²»Í¬µÄ½Úµã·¾¶²éѯ£¬ºÜ¿ì¾ÍÄܶ¨Î»µ½Êý¾Ý²»Ò»ÖµÄÒ¶½Úµã£¬Ö»ÓðѲ»Ò»ÖµÄÊý¾Ýͬ²½¼´¿É£¬ÕâÑù´ó´ó½ÚÊ¡Á˱ȶÔʱ¼äÒÔ¼°Êý¾ÝµÄ´«ÊäÁ¿¡£
E¡¢±ÈÌØ±ÒÖеÄMerkle Tree
±ÈÌØ±ÒÇø¿éÁ´ÏµÍ³ÖеIJÉÓõÄÊÇMerkle¶þ²æÊ÷£¬ËüµÄ×÷ÓÃÖ÷ÒªÊÇ¿ìËÙ¹éÄɺÍУÑéÇø¿éÊý¾ÝµÄÍêÕûÐÔ£¬Ëü»á½«Çø¿éÁ´ÖеÄÊý¾Ý·Ö×é½øÐйþÏ£ÔËË㣬ÏòÉϲ»¶ÏµÝ¹éÔËËã²úÉúеĹþÏ£½Úµã£¬×îÖÕֻʣÏÂÒ»¸öMerkle¸ù´æÈëÇø¿éÍ·ÖУ¬Ã¿¸ö¹þÏ£½Úµã×ÜÊǰüº¬Á½¸öÏàÁÚµÄÊý¾Ý¿é»òÆä¹þÏ£Öµ¡£
ÔÚ±ÈÌØ±ÒϵͳÖÐʹÓÃMerkleÊ÷ÓÐÖî¶àÓŵ㣺Ê×ÏÈÊǼ«´óµØÌá¸ßÁËÇø¿éÁ´µÄÔËÐÐЧÂʺͿÉÀ©Õ¹ÐÔ£¬Ê¹µÃÇø¿éÍ·Ö»Ðè°üº¬¸ù¹þÏ£Öµ¶ø²»±Ø·â×°ËùÓеײãÊý¾Ý£¬ÕâʹµÃ¹þÏ£ÔËËã¿ÉÒÔ¸ßЧµØÔËÐÐÔÚÖÇÄÜÊÖ»úÉõÖÁÎïÁªÍøÉ豸ÉÏ£»Æä´ÎÊÇMerkleÊ÷¿ÉÖ§³Ö¡°¼ò»¯Ö§¸¶ÑéÖ¤ÐÒ顱£¨SPV£©£¬¼´ÔÚ²»ÔËÐÐÍêÕûÇø¿éÁ´ÍøÂç½ÚµãµÄÇé¿öÏ£¬Ò²Äܹ»¶Ô½»Ò×Êý¾Ý½øÐмìÑé¡£ËùÒÔ£¬ÔÚÇø¿éÁ´ÖÐʹÓÃMerkleÊ÷ÕâÖÖÊý¾Ý½á¹¹ÊǷdz£¾ßÓÐÒâÒåµÄ¡£

(5) ¹þÏ£º¯Êý
Hash£¬Ò»°ã·Òë×ö¡°É¢ÁС±£¬Ò²ÓÐÖ±½ÓÒôÒëΪ¡°¹þÏ£¡±µÄ£¬¾ÍÊǰÑÈÎÒⳤ¶ÈµÄÊäÈ루ÓÖ½Ð×öÔ¤Ó³Éäpre-image£©Í¨¹ýÉ¢ÁÐËã·¨±ä»»³É¹Ì¶¨³¤¶ÈµÄÊä³ö£¬¸ÃÊä³ö¾ÍÊÇÉ¢ÁÐÖµ¡£ÕâÖÖת»»ÊÇÒ»ÖÖѹËõÓ³É䣬Ҳ¾ÍÊÇ£¬É¢ÁÐÖµµÄ¿Õ¼äͨ³£Ô¶Ð¡ÓÚÊäÈëµÄ¿Õ¼ä£¬²»Í¬µÄÊäÈë¿ÉÄÜ»áÉ¢ÁгÉÏàͬµÄÊä³ö£¬ËùÒÔ²»¿ÉÄÜ´ÓÉ¢ÁÐÖµÀ´È·¶¨Î¨Ò»µÄÊäÈëÖµ¡£¼òµ¥µÄ˵¾ÍÊÇÒ»ÖÖ½«ÈÎÒⳤ¶ÈµÄÏûϢѹËõµ½Ä³Ò»¹Ì¶¨³¤¶ÈµÄÏûÏ¢ÕªÒªµÄº¯Êý¡£
¹þÏ£Äܹ»ÊµÏÖÊý¾Ý´ÓÒ»¸öά¶ÈÏòÁíÒ»¸öά¶ÈµÄÓ³É䣬ͨ³£Ê¹ÓùþÏ£º¯ÊýʵÏÖÕâÖÖÓ³É䡣ͨ³£Òµ½çʹÓÃy = hash(x)µÄ·½Ê½½øÐбíʾ£¬¸Ã¹þÏ£º¯ÊýʵÏÖ¶Ôx½øÐÐÔËËã¼ÆËã³öÒ»¸ö¹þÏ£Öµy¡£
A¡¢¹þÏ£Ëã·¨µÄÌØµã
l ¹þÏ£Ëã·¨½ÓÊÜÒ»¶ÎÃ÷Îĺó£¬ÒÔÒ»ÖÖ²»¿ÉÄæµÄ·½Ê½£¬½«Æäת»¯ÎªÒ»¶Î³¤¶È½Ï¶Ì¡¢Î»Êý¹Ì¶¨µÄÉ¢ÁÐÊý¾Ý£¬¼ÆËã¸ßЧ¡£
l collision-free ¼´³åÍ»¸ÅÂÊС£¬Èç¹ûÁ½¸ö¹þÏ£ÖµÊDz»ÏàͬµÄ£¨¸ù¾Ýͬһº¯Êý£©£¬ÄÇôÕâÁ½¸ö¹þÏ£ÖµµÄÔʼÊäÈëÒ²ÊDz»ÏàͬµÄ£»Èç¹ûÁ½¸ö¹þÏ£ÖµÏàͬ£¬Á½¸öÊäÈëÖµºÜ¿ÉÄÜÊÇÏàͬµÄ£¬µ«²»¾ø¶Ô¿Ï¶¨¶þÕßÒ»¶¨ÏàµÈ£¨¿ÉÄܳöÏÖ¹þÏ£Åöײ£©¡£
l Äܹ»Òþ²ØÔʼÐÅÏ¢£ºÀýÈçÇø¿éÁ´Öи÷¸ö½ÚµãÖ®¼ä¶Ô½»Ò×µÄÑéÖ¤Ö»ÐèÒªÑéÖ¤½»Ò×µÄÐÅÏ¢ìØ£¬¶ø²»ÐèÒª¶ÔÔʼÐÅÏ¢½øÐбȶԣ¬½Úµã¼ä²»ÐèÒª´«Êä½»Ò×µÄÔʼÊý¾ÝÖ»´«Êä½»Ò׵ĹþÏ£¼´¿É£¬³£¼ûËã·¨ÓÐSHAϵÁкÍMD5µÈËã·¨¡£
l ¼ÓÃܹý³Ì²»¿ÉÄæ£¬¼´ÎÞ·¨Í¨¹ýÊä³öµÄÉ¢ÁÐÊý¾Ýµ¹ÍÆÔ±¾µÄÃ÷ÎÄÊÇʲô¡£
l ÊäÈëµÄÃ÷ÎÄÓëÊä³öµÄÉ¢ÁÐÊý¾ÝÒ»Ò»¶ÔÓ¦£¬ÈκÎÒ»¸öÊäÈëÐÅÏ¢µÄ±ä»¯£¬¶¼±Ø½«µ¼ÖÂ×îÖÕÊä³öµÄÉ¢ÁÐÊý¾ÝµÄ±ä»¯£¬³åÍ»µÄ¸ÅÂʷdz£Ð¡¡£
B¡¢¹þÏ£µÄÓ÷¨
¹þÏ£ÔÚÇø¿éÁ´ÖÐÓô¦¹ã·º£¬ÆäÒ»ÎÒÃdzÆÖ®Îª¹þÏ£Ö¸Õ루Hash Pointer£©£¬¹þÏ£Ö¸ÕëÊÇÖ¸¸Ã±äÁ¿µÄÖµÊÇͨ¹ýʵ¼ÊÊý¾Ý¼ÆËã³öÀ´µÄÇÒÖ¸Ïòʵ¼ÊµÄÊý¾ÝËùÔÚλÖ㬼´Æä¼È¿ÉÒÔ±íʾʵ¼ÊÊý¾ÝÄÚÈÝÓÖ¿ÉÒÔ±íʾʵ¼ÊÊý¾ÝµÄ´æ´¢Î»Öá£ÈçÏÂͼËùʾ£º

HashPointerÔÚÇø¿éÁ´ÖÐÖ÷ÒªÓÐÁ½´¦Ê¹Ó㬵ÚÒ»¸ö¾ÍÊǹ¹½¨Çø¿éÁ´Êý¾Ý½á¹¹£¬´ÓÉÏÃæµÄÇø¿éÊý¾Ý½á¹¹ÖоͿÉÒÔÖªµÀ£¬Ã¿¸öÇø¿é¶¼°üº¬ÁËÉÏÒ»¸öÇø¿éµÄhashÖµ£¨¼´hash
pointer£©£¬ÕâÑùµÄºÃ´¦ÔÚÓÚºóÃæÇø¿é¿ÉÒÔ²éÕÒÇ°ÃæËùÓÐÇø¿éÖеÄÐÅÏ¢£¬¶øÇÒÇø¿éµÄHashPointerµÄ¼ÆËã°üº¬ÁËÇ°ÃæÇø¿éµÄÐÅÏ¢´Ó¶øÒ»¶¨³Ì¶ÈÉϱ£Ö¤ÁËÇø¿éÁ´µÄ²»Ò״۸ĵÄÌØÐÔ¡£µÚ¶þ¸ö¾ÍÊÇÓÃÓÚ¹¹½¨Merkle
Tree.£¬Merkle TreeµÄ¸÷¸ö½ÚµãʹÓÃHashPointer½øÐй¹½¨¡£
¹þÏ£»¹ÔÚÆäËû¼¼ÊõÖÐÓÐËùÓ¦ÓÃÀýÈç:½»Ò×ÑéÖ¤ÒÔ¼°Êý×ÖÇ©ÃûµÈµÈ¡£
(6) ¼ÓÃÜËã·¨
¼ÓÃܾÍÊÇͨ¹ýÒ»ÖÖËã·¨½«ÔʼÐÅÏ¢½øÐÐת»»£¬½ÓÊÕÕßÄܹ»Í¨¹ýÃÜÔ¿¶ÔÃÜÎĽøÐнâÃÜ»¹Ô³ÉÔÎĵĹý³Ì¡£¼ÓÃÜËã·¨µÄµäÐÍ×é¼þÓмӽâÃÜËã·¨¡¢¼ÓÃÜÃÜÔ¿ºÍ½âÃÜÃÜÔ¿¡£ÆäÖмӽâÃÜËã·¨Êǹ̶¨²»±äºÍ¹«¿ª¿É¼ûµÄ£»ÃÜÔ¿Ôò²»¹Ì¶¨¶øÇÒÐèÒª±£»¤ÆðÀ´£¬Ò»°ãÀ´Ëµ£¬¶ÔͬһÖÖËã·¨£¬ÃÜÔ¿³¤¶ÈÔ½³¤£¬Ôò¼ÓÃÜÇ¿¶ÈÔ½´ó¡£
¼ÓÃܹý³Ì¼´Í¨¹ý¼ÓÃÜËã·¨ºÍ¼ÓÃÜÃÜÔ¿£¬¶ÔÃ÷ÎĽøÐмÓÃÜ£¬»ñµÃÃÜÎÄ¡£
½âÃܹý³Ì¼´Í¨¹ý½âÃÜËã·¨ºÍ½âÃÜÃÜÔ¿£¬¶ÔÃÜÎĽøÐнâÃÜ£¬»ñµÃÃ÷ÎÄ¡£
¸ù¾Ý¼Ó½âÃܵÄÃÜÔ¿ÊÇ·ñÏàͬ£¬Ëã·¨¿ÉÒÔ·ÖΪ¶Ô³Æ¼ÓÃÜ£¨symmetric cryptography£¬Óֳƹ«¹²ÃÜÔ¿¼ÓÃÜ£¬common-key
cryptography£©ºÍ·Ç¶Ô³Æ¼ÓÃÜ£¨asymmetric cryptography£¬Óֳƹ«Ô¿¼ÓÃÜ£¬public-key
cryptography£©¡£Á½ÖÖģʽÊÊÓÃÓÚ²»Í¬µÄÐèÇó£¬Ç¡ºÃÐγɻ¥²¹£¬ºÜ¶àʱºòÒ²¿ÉÒÔ×éºÏʹÓã¬ÐγɻìºÏ¼ÓÃÜ»úÖÆ¡£
²¢·ÇËùÓмÓÃÜËã·¨µÄÇ¿¶È¶¼¿ÉÒÔ´ÓÊýѧÉϽøÐÐÖ¤Ã÷¡£¹«ÈϵĸßÇ¿¶È¼ÓÃÜËã·¨ÊÇÔÚ¾¹ý³¤Ê±¼ä¸÷·½ÃæÊµ¼ùÂÛÖ¤ºó£¬±»´ó¼ÒËùÈϿɣ¬²»´ú±íÆä²»´æÔÚ©¶´¡£µ«ÈκÎʱºò£¬×ÔÐз¢Ã÷¼ÓÃÜËã·¨¶¼ÊÇÒ»ÖÖ²»Ì«Ã÷ÖǵÄÐÐΪ¡£
A¡¢¶Ô³Æ¼ÓÃÜ
ÓÃÏàͬµÄÃÜÔ¿À´¼ÓÃܺͽâÃÜ£¬¶Ô³Æ¼ÓÃܵÄÓŵãÊǼӽâÃÜЧÂʸߣ¨Ëٶȿ죬¿Õ¼äÕ¼ÓÃС£©£¬¼ÓÃÜÇ¿¶È¸ß¡£È±µãÊDzÎÓë¶à·½¶¼ÐèÒª³ÖÓÐÃÜÔ¿£¬Ò»µ©ÓÐÈËй¶Ôò°²È«ÐÔ±»ÆÆ»µ£¬ÈçºÎÔÚ²»°²È«Í¨µÀÏ·ַ¢ÃÜÔ¿ÊǹؼüÎÊÌâ¡£
¼ÓÃܹý³Ì£ºÔÎÄ+ÃÜÔ¿=¡·ÃÜÎÄ£»½âÃܹý³Ì£ºÃÜÎÄ-ÃÜÔ¿=¡·ÔÎÄ¡£

¶Ô³ÆÃÜÂë´ÓʵÏÖÔÀíÉÏ¿ÉÒÔ·ÖΪÁ½ÖÖ£º·Ö×éÃÜÂëºÍÐòÁÐÃÜÂ롣ǰÕß½«Ã÷ÎÄÇзÖΪ¶¨³¤Êý¾Ý¿é×÷Ϊ¼ÓÃܵ¥Î»£¬Ó¦ÓÃ×îΪ¹ã·º¡£ºóÕßÔòÖ»¶ÔÒ»¸ö×Ö½Ú½øÐмÓÃÜ£¬ÇÒÃÜÂë²»¶Ï±ä»¯£¬Ö»ÓÃÔÚÒ»Ð©ÌØ¶¨ÁìÓò£¬ÈçÊý×Öý½éµÄ¼ÓÃܵȡ£
´ú±íËã·¨°üÀ¨£º
l DES£¨Data Encryption Standard£©£º¾µäµÄ·Ö×é¼ÓÃÜËã·¨£¬1977ÄêÓÉÃÀ¹úÁª°îÐÅÏ¢´¦Àí±ê×¼£¨FIPS£©Ëù²ÉÓÃFIPS-46-3£¬½«64λÃ÷ÎļÓÃÜΪ64λµÄÃÜÎÄ£¬ÆäÃÜÔ¿³¤¶ÈΪ56λ+8λУÑé¡£ÏÖÔÚÒѾºÜÈÝÒ×±»±©Á¦ÆÆ½â¡£
l 3DES£ºÈýÖØDES²Ù×÷£º¼ÓÃܽâÃܼÓÃÜ£¬´¦Àí¹ý³ÌºÍ¼ÓÃÜÇ¿¶ÈÓÅÓÚDES£¬µ«ÏÖÔÚÒ²±»ÈÏΪ²»¹»°²È«¡£
l AES£¨Advanced Encryption Standard£©£ºÃÀ¹ú¹ú¼Ò±ê×¼Ñо¿Ëù£¨NIST£©²ÉÓÃÈ¡´úDES³ÉΪ¶Ô³Æ¼ÓÃÜʵÏֵıê×¼£¬1997~2000ÄêNIST´Ó15¸öºòÑ¡Ëã·¨ÖÐÆÀÑ¡RijndaelËã·¨£¨ÓɱÈÀûʱÃÜÂëѧ¼ÒJoan
DaemonºÍVicent Rijmen·¢Ã÷£©×÷ΪAES£¬±ê׼ΪFIPS-197¡£AESÒ²ÊÇ·Ö×éËã·¨£¬·Ö×鳤¶ÈΪ128¡¢192¡¢256λÈýÖÖ¡£AESµÄÓÅÊÆÔÚÓÚ´¦ÀíËٶȿ죬Õû¸ö¹ý³Ì¿ÉÒÔÊýѧ»¯ÃèÊö£¬Ä¿Ç°ÉÐδÓÐÓÐЧµÄÆÆ½âÊֶΡ£
ÊÊÓÃÓÚ´óÁ¿Êý¾ÝµÄ¼Ó½âÃÜ£»²»ÄÜÓÃÓÚÇ©Ãû³¡¾°£»ÐèÒªÌáǰ·Ö·¢ÃÜÔ¿¡£ÆäÖзÖ×é¼ÓÃÜÿ´ÎÖ»ÄÜ´¦Àí¹Ì¶¨³¤¶ÈµÄÃ÷ÎÄ£¬Òò´Ë¹ý³¤µÄÄÚÈÝÐèÒª²ÉÓÃÒ»¶¨Ä£Ê½½øÐмÓÃÜ£¬¡¶Ê¹ÓÃÃÜÂëѧ¡·ÖÐÍÆ¼öʹÓÃÃÜÎÄ·Ö×éÁ´½Ó£¨Cipher
Block Chain,CBC£©¡¢¼ÆÊýÆ÷£¨Counter,CTR£©Ä£Ê½¡£
B¡¢·Ç¶Ô³Æ¼ÓÃÜ
·Ç¶Ô³Æ¼ÓÃÜÊÇÏÖ´úÃÜÂëѧÀúÊ·ÉÏ×îΪΰ´óµÄ·¢Ã÷£¬¿ÉÒԺܺõĽâ¾ö¶Ô³Æ¼ÓÃÜÐèÒªµÄÌáǰ·Ö·¢ÃÜÔ¿ÎÊÌâ¡£¼ÓÃÜÃÜÔ¿ºÍ½âÃÜÃÜÔ¿ÊDz»Í¬µÄ£¬·Ö±ð³ÆÎª¹«Ô¿ºÍ˽Կ¡£¹«Ô¿Ò»°ãÊǹ«¿ªµÄ£¬ÈËÈ˿ɻñÈ¡µÄ£¬Ë½Ô¿Ò»°ãÊǸöÈË×Ô¼º³ÖÓУ¬²»Äܱ»ËûÈË»ñÈ¡¡£¹«Ô¿ÓÃÓÚ¼ÓÃÜ£¬Ë½Ô¿ÓÃÓÚ½âÃÜ¡£¹«Ô¿ÓÉ˽ԿÉú³É£¬Ë½Ô¿¿ÉÒÔÍÆµ¼³ö¹«Ô¿£¬´Ó¹«Ô¿ÎÞ·¨ÍƵ¼³ö˽Կ¡£

ËüµÄÓŵãÊǹ«Ë½Ô¿·Ö¿ª£¬²»°²È«Í¨µÀÒ²¿ÉÒÔʹÓá£È±µãÊǼӽâÃÜËÙ¶ÈÂý£¬Ò»°ã±È¶Ô³Æ¼Ó½âÃÜËã·¨Âý2µ½3¸öÊýÁ¿¼¶£»Í¬Ê±¼ÓÃÜÇ¿¶ÈÏà±È¶Ô³Æ¼ÓÃÜÒª²î¡£
¼ÓÃܹý³Ì£ºÔÎÄ+½ÓÊÕ·½¹«Ô¿=¡·ÃÜÎÄ£»½âÃܹý³Ì£ºÃÜÎÄ+½ÓÊÕ·½Ë½Ô¿=¡·ÔÎÄ

·Ç¶Ô³Æ¼ÓÃÜËã·¨µÄ°²È«ÐÔÍùÍùÐèÒª»ùÓÚÊýѧÎÊÌâÀ´±£ÕÏ£¬Ä¿Ç°Ö÷ÒªÓлùÓÚ´óÊýÖÊÒò×ӷֽ⡢ÀëÉ¢¶ÔÊý¡¢ÍÖÔ²ÇúÏߵȼ¸ÖÖ˼·¡£
´ú±íËã·¨°üÀ¨£º
l RSA£º¾µäµÄ¹«Ô¿Ëã·¨£¬1978ÄêÌá³ö¡£Ëã·¨ÀûÓÃÁ˶ԴóÊý½øÐÐÖÊÒò×Ó·Ö½âÀ§ÄѵÄÌØÐÔ£¬µ«Ä¿Ç°»¹Ã»ÓÐÊýѧ֤Ã÷Á½ÕßÄѶȵȼۣ¬»òÐí´æÔÚδ֪Ëã·¨ÔÚ²»½øÐдóÊý·Ö½âµÄǰÌáϽâÃÜ¡£
l Diffie-HellmanÃÜÔ¿½»»»£º»ùÓÚÀëÉ¢¶ÔÊýÎÞ·¨¿ìËÙÇó½â£¬¿ÉÒÔÔÚ²»°²È«µÄͨµÀÉÏ£¬Ë«·½ÐÉÌÒ»¸ö¹«¹²ÃÜÔ¿¡£
l ElGamal£ºÀûÓÃÁËÄ£ÔËËãÏÂÇóÀëÉ¢¶ÔÊýÀ§ÄѵÄÌØÐÔ¡£±»Ó¦ÓÃÔÚPGPµÈ°²È«¹¤¾ßÖС£
l ÍÖÔ²ÇúÏßËã·¨£¨Elliptic curve cryptography,ECC£©£ºÏÖ´ú±¸ÊܹØ×¢µÄË㷨ϵÁУ¬»ùÓÚ¶ÔÍÖÔ²ÇúÏßÉÏÌØ¶¨µã½øÐÐÌØÊâ³Ë·¨ÄæÔËËãÄÑÒÔ¼ÆËãµÄÌØÐÔ¡£×îÔçÔÚ1985ÄêÌá³ö¡£ECCϵÁÐËã·¨Ò»°ã±»ÈÏΪ¾ß±¸½Ï¸ßµÄ°²È«ÐÔ£¬µ«¼Ó½âÃܼÆËã¹ý³ÌÍùÍù±È½Ï·Ñʱ¡£
Ò»°ãÊÊÓÃÓÚÇ©Ãû³¡¾°»òÃÜÔ¿ÐÉÌ£¬²»ÊÊÓÚ´óÁ¿Êý¾ÝµÄ¼Ó½âÃÜ¡£ ÆäÖÐRSAËã·¨µÈÒѱ»ÈÏΪ²»¹»°²È«£¬Ò»°ãÍÆ¼ö²ÉÓÃÍÖÔ²ÇúÏßϵÁÐËã·¨¡£
C¡¢»ìºÏ¼ÓÃÜ»úÖÆ
ÕâÖÖ·½Ê½½«¼ÓÃܹý³Ì·ÖΪÁ½¸ö½×¶Î£¬½×¶ÎһʹÓ÷ǶԳƼÓÃܽøÐÐÃØÔ¿µÄ·Ö·¢Ê¹µÃ¶Ô·½°²È«µØµÃµ½¶Ô³Æ¼ÓÃܵÄÃØÔ¿£¬½×¶Î¶þʹÓöԳƼÓÃܶÔÔÎĽøÐмӽâÃÜ£¬ÈçÏÂͼËùʾ¡£

µäÐ͵ij¡¾°ÊÇÏÖÔÚ´ó¼Ò³£ÓõÄHTTPS»úÖÆ¡£
½¨Á¢°²È«Á¬½Ó¾ßÌå²½ÖèÈçÏ£º
l ¿Í»§¶Ëä¯ÀÀÆ÷·¢ËÍÐÅÏ¢µ½·þÎñÆ÷£¬°üÀ¨Ëæ»úÊýR1£¬Ö§³ÖµÄ¼ÓÃÜËã·¨ÀàÐÍ¡¢ÐÒé°æ±¾¡¢Ñ¹ËõËã·¨µÈ¡£×¢Òâ¸Ã¹ý³ÌΪÃ÷ÎÄ¡£
l ·þÎñ¶Ë·µ»ØÐÅÏ¢£¬°üÀ¨Ëæ»úÊýR2¡¢Ñ¡¶¨¼ÓÃÜËã·¨ÀàÐÍ¡¢ÐÒé°æ±¾£¬ÒÔ¼°·þÎñÆ÷Ö¤Êé¡£×¢Òâ¸Ã¹ý³ÌΪÃ÷ÎÄ¡£
l ä¯ÀÀÆ÷¼ì²é´øÓиÃÍøÕ¾¹«Ô¿µÄÖ¤Êé¡£¸ÃÖ¤ÊéÐèÒªÓɵÚÈý·½CAÀ´Ç©·¢£¬ä¯ÀÀÆ÷ºÍ²Ù×÷ϵͳ»áÔ¤ÖÃȨÍþCAµÄ¸ùÖ¤Êé¡£Èç¹ûÖ¤Êé±»´Û¸Ä×÷¼Ù£¨ÖмäÈ˹¥»÷£©£¬ºÜÈÝÒ×ͨ¹ýCAµÄÖ¤ÊéÑéÖ¤³öÀ´¡£
l Èç¹ûÖ¤ÊéûÎÊÌ⣬ÔòÓÃÖ¤ÊéÖй«Ô¿¼ÓÃÜËæ»úÊýR3£¬·¢Ë͸ø·þÎñÆ÷¡£´Ëʱ£¬Ö»Óпͻ§¶ËºÍ·þÎñÆ÷¶¼ÓµÓÐR1¡¢R2ºÍR3ÐÅÏ¢£¬»ùÓÚR1¡¢R2ºÍR3£¬Éú³É¶Ô³ÆµÄ»á»°ÃÜÔ¿£¨ÈçAESËã·¨£©¡£ºóÐøÍ¨ÐŶ¼Í¨¹ý¶Ô³Æ¼ÓÃܽøÐб£»¤¡£
D¡¢³£¼û¼ÓÃÜËã·¨µÄ¶Ô±È

E¡¢±ÈÌØ±ÒÖмÓÃÜËã·¨µÄʹÓÃ
±ÈÌØ±ÒϵͳÖÐʹÓõľÍÊÇÒ»Öַdz£µäÐ͵ķǶԳƼÓÃÜËã·¨¡ª¡ªÍÖÔ²ÇúÏß¼ÓÃÜËã·¨£¨ECC£©¡£±ÈÌØ±Òϵͳһ°ã´Ó²Ù×÷ϵͳµ×²ãµÄÒ»¸öÃÜÂëѧ°²È«µÄËæ»úÔ´ÖÐÈ¡³öÒ»¸ö256Î»Ëæ»úÊý×÷Ϊ˽Կ£¬Ë½Ô¿×ÜÊýΪ2256
¸ö£¬ËùÒÔºÜÄÑͨ¹ý±éÀúËùÓпÉÄܵÄ˽ԿµÃ³öÓ빫ԿµÄ¶ÔÓ¦µÄ˽Կ¡£Óû§Ê¹ÓõÄ˽Կ»¹»áͨ¹ýSHA256ºÍBase58ת»»³ÉÒ×ÊéдºÍʶ±ðµÄ50볤¶ÈµÄ˽Կ£¬¹«Ô¿ÔòÊ×ÏÈÓÉ˽ԿºÍSecp256k1ÍÖÔ²ÇúÏßËã·¨Éú³É65×Ö½Ú³¤¶ÈµÄËæ»úÊý¡£

(7) Êý×ÖÇ©Ãû
Êý×ÖÇ©ÃûÓÖ³ÆÖ®Îª¹«Ô¿Êý×ÖÇ©Ãû£¬ÊÇÒ»ÖÖÀàËÆÓÚдÔÚÖ½ÉϵÄÎïÀíÇ©Ãû¡£Êý×ÖÇ©ÃûÖ÷ÒªÓÃÓÚÊý¾Ý¸ü¸ÄµÄÇ©ÃûÕßÉí·Ýʶ±ðÒÔ¼°¿¹µÖÀµ¡£Êý×ÖÇ©Ãû°üº¬Èý¸öÖØÒªÌØÐÔ£º
l Ö»ÓÐ×Ô¼º¿ÉÒÔÇ©Êð×Ô¼ºµÄÊý×ÖÇ©Ãû£¬µ«ÊÇËûÈË¿ÉÒÔÑé֤ǩÃûÊÇ·ñÊÇÄãÇ©·¢£»
l Êý×ÖÇ©ÃûÐèÒªºÍ¾ßÌåµÄÊý×ÖÎĵµ°ó¶¨£¬¾ÍºÃ±ÈÏÖʵÖÐÄãµÄÇ©ÃûÓ¦¸ÃºÍÖ½ÖÊý½é°ó¶¨£»
l Êý×ÖÇ©Ãû²»¿ÉαÔ죻
ͨ¹ý·Ç¶Ô³Æ¼ÓÃÜ»úÖÆ¿ÉÒÔ½ÏÈÝÒ×ʵÏÖÉÏÊöÈýÖÖÌØÐÔ¡£Ê×ÏÈ£¬ÐèÒªÉú³É¸öÈ˵Ĺ«Ë½Ô¿¶Ô£º(sk, pk) :=
generateKeys(keysize)£¬sk˽ԿÓû§×Ô¼º±£Áô£¬pk¹«Ô¿¿ÉÒÔ·Ö·¢¸øÆäËûÈËÆä´Î£¬¿ÉÒÔͨ¹ýsk¶ÔÒ»¸ö¾ßÌåµÄmessage½øÐÐÇ©Ãû£ºsig
:= sign(sk, message) ÕâÑù¾ÍµÃµ½Á˾ßÌåµÄÇ©Ãûsig×îºó£¬ÓµÓиÃÇ©Ãû¹«Ô¿µÄÒ»·½Äܹ»½øÐÐÇ©ÃûµÄÑéÖ¤£ºisValid
:= verify(pk, message, sig)ÔÚÇø¿éÁ´ÌåϵÖÐÿһÌõÊý¾Ý½»Ò×¶¼ÐèҪǩÃû£¬ÔÚ±ÈÌØ±ÒµÄÉè¼Æ¹ý³ÌÖÐÖ±½Ó½«Óû§µÄ¹«Ô¿À´±íÕ÷Óû§µÄ±ÈÌØ±ÒµØÖ·¡£ÕâÑùÔÚÓû§·¢ÆðתÕ˵ȱÈÌØ±Ò½»Ò×ʱ¿ÉÒÔ·½±ãµÄ½øÐÐÓû§½»Ò׵ĺϷ¨ÐÔÑéÖ¤¡£
Êý×ÖÇ©Ãû¾ÍÊÇÔÚÐÅÏ¢ºóÃæ¼ÓÉÏÁíÒ»¶ÎÄÚÈÝ£¬×÷Ϊ·¢ËÍÕßµÄÖ¤Ã÷²¢ÇÒÖ¤Ã÷ÐÅϢûÓб»´Û¸Ä¡£Ò»°ãÊÇ·¢ËÍÕß½«ÐÅÏ¢ÓùþÏ£Ëã·¨´¦ÀíµÃ³öÒ»¸ö¹þÏ£Öµ£¬È»ºóÓÃ˽Կ¶Ô¸Ã¹þÏ£Öµ½øÐмÓÃÜ£¬µÃ³öÒ»¸öÇ©Ãû¡£È»ºó·¢ËÍÕßÔÙ½«ÐÅÏ¢ºÍÇ©ÃûÒ»Æð·¢Ë͸ø½ÓÊÕÕß¡£½ÓÊÕÕßʹÓ÷¢ËÍÕߵĹ«Ô¿¶ÔÇ©Ãû½øÐнâÃÜ£¬»¹Ô³ö¹þÏ£Öµ£¬ÔÙͨ¹ý¹þÏ£Ëã·¨À´ÑéÖ¤ÐÅÏ¢µÄ¹þÏ£ÖµºÍ½âÃÜÇ©Ãû»¹Ô³öÀ´µÄ¹þÏ£ÖµÊÇ·ñÒ»Ö£¬´Ó¶ø¿ÉÒÔ¼ø¶¨ÐÅÏ¢ÊÇ·ñÀ´×Ô·¢ËÍÕß»òÑéÖ¤ÐÅÏ¢ÊÇ·ñ±»´Û£¬ÈçÏÂͼËùʾ¡£

Ïà¹ØÖªÊ¶£ºÊý×ÖÖ¤ÊéºÍÈÏÖ¤ÖÐÐÄ
Êý×ÖÖ¤Ê飨Digital Certificate£©Óֳơ°Êý×ÖÉí·ÝÖ¤¡±¡¢¡°ÍøÂçÉí·ÝÖ¤¡±ÊǾÈÏÖ¤ÖÐÐÄÊÚȨ°ä·¢²¢¾ÈÏÖ¤ÖÐÐÄÊý×ÖÇ©ÃûµÄ°üº¬¹«¿ªÃØÔ¿ÓµÓÐÕß¼°¹«¿ªÃØÔ¿Ïà¹ØÐÅÏ¢µÄµç×ÓÎļþ£¬¿ÉÒÔÓÃÀ´ÅбðÊý×ÖÖ¤ÊéÓµÓÐÕßÉí·Ý¡£Êý×ÖÖ¤Êé°üº¬£º¹«Ô¿¡¢Ö¤ÊéÃû³ÆÐÅÏ¢¡¢Ç©·¢»ú¹¹¶ÔÖ¤ÊéµÄÊý×ÖÇ©ÃûÒÔ¼°Æ¥ÅäµÄ˽Կ֤Êé¿ÉÒÔ´æ´¢ÔÚÍøÂçÖеÄÊý¾Ý¿âÖС£Óû§¿ÉÒÔÀûÓÃÍøÂç±Ë´Ë½»»»Ö¤Êé¡£µ±Ö¤Êé³·Ïúºó£¬Ç©·¢´ËÖ¤ÊéµÄCAÈÔ±£Áô´ËÖ¤ÊéµÄ¸±±¾£¬ÒÔ±¸ÈÕºó½â
¾ö¿ÉÄÜÒýÆðµÄ¾À·×¡£
ÈÏÖ¤ÖÐÐÄ£¨Certificate Authority£© Ò»°ã¼ò³ÆCA, CAÒ»°ãÊÇÒ»¸ö¹«ÈÏ¿ÉÐŵĵÚÈý·½»ú¹¹£¬Æä×÷ÓÃÖ÷ÒªÊÇΪÿ¸öÓû§°ä·¢Ò»¸ö¶ÀÒ»ÎÞ¶þµÄ°üº¬Ãû³ÆºÍ¹«Ô¿µÄÊý×ÖÖ¤Êé¡£CA½â¾öÁ˵ç×ÓÉÌÎñÖй«Ô¿µÄ¿ÉÐŶÈÎÊÌ⣺¸ºÔðÖ¤Ã÷¡°ÎÒȷʵʼÎÒ¡±£¬CAÊÇÊÜÐÅǪµÄµÚÈý·½£¬¹«Ô¿µÄºÏ·¨ÐÔ¼ìÑ飬CAÖ¤ÊéÄÚÈݰüÀ¨£ºÖ¤Êé³ÖÓÐÈ˵Ĺ«Ô¿¡¢Ö¤ÊéÊÚȨÖÐÐÄÃû³Æ¡¢Ö¤ÊéÓÐЧÆÚ¡¢Ö¤ÊéÊÚȨÖÐÐĵÄÊý×ÖÇ©Ãû¡£
CAÖ¤ÊéÓÃÀý-Https·ÃÎÊÍøÕ¾£º
*¿Í»§¶Ëͨ¹ýhttpsÏò·þÎñÆ÷·¢°²È«Á´½ÓÇëÇó
*·þÎñÆ÷ÓÃ˽Կ¼ÓÃÜÍøÒ³ÄÚÈÝ£¬Í¬CAÖ¤ÊéÒ»²¢·¢¸ø¿Í»§¶Ë
*¿Í»§¶Ë»á¸ù¾ÝCAÖ¤ÊéÑéÖ¤ÊÇ·ñºÏ·¨£º
*Èç¹ûÑé֤ʧ°Ü£¬¿Í»§¶Ëµ¯³ö¾¯¸æÐÅÏ¢
*Èç¹ûÑé֤ͨ¹ý£¬¿Í»§¶ËʹÓÃCAÖ¤ÊéÖеĹ«Ô¿Ïò·þÎñÆ÷·¢ËͼÓÃÜÐÅÏ¢

|