оÊÖÒÕ | »ùÓÚQG¹Î¹ÎÀÖCPUµÄ¹úÃÜËã·¨Ó²¼þ¼ÓËÙ¼°Ó¦ÓÃÑо¿

Ðû²¼ÈÕÆÚ£º

2019-09-03

ȪԴ£º

1. СÐò


Ëæ×Å»¥ÁªÍø¡¢ÎïÁªÍøµÄ¿ìËÙÉú³¤ £¬ÍøÂçºÍÐÅÏ¢Çå¾²ÊÂÎñ²ã³ö²»Çî £¬Òò´ËÐÅÏ¢Çå¾²Ô½À´Ô½Êܵ½Ììϸ÷¹úÒÔ¼°¸÷¸öÐÐÒµµÄÆÕ±éÖØÊÓ ¡£ÌØÊâÊÇÔÚÕâ¸öÔÆÅÌËã¡¢´óÊý¾ÝµÈÐÂÊÖÒÕÓ¦ÓÿìËÙáÈÆðµÄʱ´ú £¬Í¨¹ýÊý¾ÝÍÚ¾òÊÖÒÕÍùÍù¿ÉÒÔ´Óº£Á¿Êý¾ÝÖлñȡҪº¦ÐÅÏ¢ £¬Õâ¶ÔÆóÒµºÍСÎÒ˽¼ÒµÄÐÅÏ¢Çå¾²¶¼±¬·¢ÁËÑÏÖØÍþв ¡£


ÃÜÂëѧËã·¨ÊÇÐÅÏ¢Çå¾²µÄ½¹µãÊÖÒպͻù´¡Ö§³Ö £¬¿ÉÒÔ˵ÊÇÕû¸öÐÅÏ¢Çå¾²µÄÁé»êËùÔÚ ¡£Ï°½üƽ×ÜÊé¼ÇÒ»¾­Ìá³ö¹ý£º¡°½¹µãÊÖÒÕÊǹúÖ®ÖØÆ÷ £¬±ØÐèÇÐʵÌá¸ßÎÒ¹úÒªº¦½¹µãÊÖÒÕÁ¢ÒìÄÜÁ¦ £¬°Ñ¿Æ¼¼Éú³¤×Ô¶¯È¨ÀÎÀÎÕÆÎÕÔÚ×Ô¼ºÊÖÀï £¬ÎªÎÒ¹úÉú³¤ÌṩÓÐÁ¦¿Æ¼¼°ü¹Ü ¡£¡± ÔÚÃÜÂëѧÁìÓò £¬ÎÒÃǹú¼ÒÒ²ÔÚÆð¾¢Éú³¤×ÔÁ¦×ÔÖ÷µÄÃÜÂëϵͳ £¬ÆäÖÐÓ¦ÓùæÄ£×îΪÆÕ±éµÄ¹ú²úÉÌÓÃÃÜÂ루¼ò³Æ¹úÃÜËã·¨£©¾ÍÊÇÎÒ¹úÃÜÂëϵͳÖеÄÖ÷ÒªÒ»»· ¡£


¾­ÓɶàÄêµÄÉú³¤ £¬ÏÖÔÚÖ§³Ö¹úÃÜËã·¨µÄ×°±¸ £¬´ÓСµ½TPM/TCMµÄÃÜÂëоƬ £¬µ½¼æ¹Ë±¾Ç®ÓëÐÔÄܵļÓÃÜ¿¨ £¬ÔÙµ½×¨ÓõļÓÃÜЧÀÍÆ÷ £¬¿ÉνÖÖÀà·±¶à ¡£¿ÉÊÇÕâЩװ±¸ÒÀÈ»±£´æ×ÅÐÔÄܽϲʹÓò»·óÎÞа»òÕß±¾Ç®½Ï¸ßµÈȱ·¦ ¡£


ÉϺ£QG¹Î¹ÎÀÖ£¨ÒÔϼò³ÆQG¹Î¹ÎÀÖ£©×÷Ϊ¹ú²úоƬ³§É̵ÄÖ÷ÒªÒ»Ô± £¬ÓÐÔðÈε£¸ºÆðÍÆ¹ã¹úÃÜËã·¨ £¬Î¬»¤¹ú¼ÒºÍÓû§ÐÅÏ¢Çå¾²µÄÖØÈΣ»Í¬Ê±Ò²ÎªÁË̽Ë÷¹úÃÜËã·¨Ó¦ÓõÄÐÂ;¾¶ £¬Á¢ÒìÓ¦ÓõÄÐÂģʽ £¬QG¹Î¹ÎÀÖʵÏÖÁË»ùÓÚCPUµÄÇå¾²¡¢ÎÞа¡¢¸ßЧµÄ¹úÃÜËã·¨¼ÓËÙÖ¸Á¡ªGMI(Guo Mi Instruction) ¡£±¾ÎÄÖ¼ÔÚÏÈÈÝQG¹Î¹ÎÀÖGMIÖ¸ÁîµÄģʽ¡¢Ìصã £¬²¢Ì½ÌÖһЩ»ùÓÚGMIµÄ¿ÉÄÜÓ¦Óó¡¾° ¡£


2. GMI ºÍÏà¹Ø¿´·¨ÏÈÈÝ


¹úÃÜËã·¨ÊÇÖ¸Óɹú¼ÒÃÜÂëÖÎÀí¾Ö¹«²¼µÄһϵÁÐÃÜÂëѧËã·¨±ê×¼ £¬°üÀ¨SM1¡¢SM2¡¢SM3¡¢SM4¡¢SM7¡¢SM9ÒÔ¼°×æ³åÖ®ÃÜÂëËã·¨£¨ZUC£©µÈһϵÁеÄÃÜÂëËã·¨ ¡£ÆäÖÐ £¬SM1¡¢SM4¡¢SM7ÒÔ¼°ZUCÊôÓڶԳƼÓÃÜËã·¨ £¬SM2¡¢ SM9ÊôÓڷǶԳÆÃÜÂëËã·¨ £¬¶øSM3ÊÇÃÜÂëÔÓ´ÕËã·¨ £¬Ò²¼´³£¼ûµÄ¹þÏ£Ëã·¨ ¡£


ÏÖÔÚÖ§³Ö¹úÃÜËã·¨µÄTPM/TCMµÈоƬÀà×°±¸ £¬ÍùÍùÊÜÏÞÓÚ±¾Ç®¶øÐÔÄܽϵÍ£»ÐÔÄܽϸߵļÓÃÜ¿¨ÐèÒª¸ßÐÔÄܵÄÅÌËã»úÀ´ÅäºÏ £¬¸øÓû§´øÀ´Á˲»Ð¡µÄ±¾Ç®Ñ¹Á¦ ¡£Óë´Ëͬʱ £¬¾­Óɼ¸´ú²úÆ·µÄÉú³¤ £¬QG¹Î¹ÎÀÖCPUµÄÐÔÄÜÓÐÁË´ó·ùµÄÌáÉý ¡£ÎªÌá¸ßÃÜÂëѧÏà¹ØÓ¦ÓõÄÐÔÄÜ £¬³ä·ÖʹÓÃCPUµÄÅÌËãÄÜÁ¦ £¬QG¹Î¹ÎÀÖÌá³öÁËʹÓÃCPUÖ¸ÁîÀ´ÊµÏÖ¹úÃÜËã·¨µÄ¹¹Ïë £¬ÓÉ´ËÉè¼ÆÊµÏÖÁËGMI ¡£


GMIÊÇQG¹Î¹ÎÀÖÒÀ¾ÝÒѾ­¹ûÕæµÄ¹úÃÜËã·¨±ê×¼¶ø×ÔÖ÷Éè¼ÆÊµÏÖµÄÒ»×éÓ²¼þ¼ÓËÙÖ¸Á ¡£ÏÖÔÚÒѾ­ÊµÏÖÁËÁ½ÌõCPUÖ¸Áî £¬»®·ÖÓÃÓÚ¼ÓËÙ¹úÃÜËã·¨SM3ºÍSM4 ¡£ÆäÖÐ £¬SM3³£ÓÃÓÚÅÌËãÐÂÎÅÕªÒª £¬ÑéÇ©Êý×ÖÊðÃû £¬ÌìÉúÓëÑéÖ¤ÐÂÎÅÈÏÖ¤ÂëÒÔ¼°±¬·¢Ëæ»úÊý £¬¿ÉÖª×ã¶àÖÖÃÜÂëÓ¦ÓõÄÇå¾²ÐèÇó ¡£SM4ÊÇ·Ö×éÃÜÂëËã·¨ £¬ÊÊÓÃÓڶԳƼӽâÃܵÈÃÜÂëÓ¦Óó¡¾° ¡£Æ¾Ö¤Ê¹Óó¡¾°µÄ²î±ð £¬SM4ÓÖ¿ÉÒÔÓÐÐí¶àµÄ²Ù×÷ģʽ £¬GMIÖ§³Ö³£¼ûµÄECB¡¢CBC¡¢CTR¡¢OFB¡¢CFBÎåÖÖģʽ ¡£


¹éÄÉ×ÛºÏÀ´Ëµ £¬µÃÒæÓÚCPUµÄ¸ßÐÔÄÜ £¬GMI¿ÉÒÔΪÓû§´øÀ´ÒÔÏÂÀûÒæ £¬»òÕß˵GMI¾ßÓÐÈçÏÂÌØÕ÷£º


A.Ò×ÓÃÐÔ


¹Å°åµÄ¹úÃÜËã·¨µÄʹÓ÷½·¨ÖÐ £¬½ÏÁ¿³£¼ûµÄ¾ÍÊÇͨ¹ýÈí¼þ±à³ÌµÄ·½·¨À´ÊµÏÖÏìÓ¦µÄÃÜÂëËã·¨ £¬Õâͨ³£¶¼ÐèÒª¾ÙÐдó×Ú¡¢ÖØ´óµÄ±à³Ì ¡£ÒÔOpenSSLΪÀý £¬ SM3¡¢SM4µÄ´úÂëÁ¿»òÐíÔÚ200~300ÐÐ×óÓÒ £¬¿ÉÊÇÔÚ½«ÕâЩÃÜÂëËã·¨¾ÙÐÐÓ²¼þÖ¸Áºó £¬Ô­±¾ÐèҪʹÓÃÊý°ÙÐÐÖØ´ó±àÂë²Å¿ÉÒÔʵÏÖµÄËã·¨ÏÖÔÚÖ»ÐèÒª¼òÆÓŲÓÃÒ»ÌõÓ²¼þÖ¸Áî¼´¿ÉÍê³ÉÏìÓ¦µÄ²Ù×÷ ¡£ÕâºÁÎÞÒÉÎÊ´ó´ó¼ò»¯Á˲Ù×÷µÄÖØÆ¯ºó £¬ÎªÓû§´øÀ´Á˼«´óµÄ±ãµ±ÐÔ ¡£GMI SM3/4µÄÏêϸָÁî´úÂëÈçϱíËùʾ£º


оÊÖÒÕ | »ùÓÚQG¹Î¹ÎÀÖCPUµÄ¹úÃÜËã·¨Ó²¼þ¼ÓËÙ¼°Ó¦ÓÃÑо¿


ͬʱ £¬QG¹Î¹ÎÀÖÒ²¶ÔGMIÖ¸Áî¾ÙÐÐÁË·â×° £¬ÌṩÊʺÏÉϲãÓ¦Óÿª·¢Ê¹ÓõÄAPIºÍ¿â £¬±ãÓÚÐèÒª¿ª·¢ÉϲãÓ¦ÓõÄÓû§Ê¹Óà ¡£


B.Çå¾²ÐÔ


ÖÚËùÖÜÖª £¬ÎÞÂÛÊÇÔÚÔËÐÐ֮ǰ £¬ÕÕ¾ÉÔÚÔËÐеÄÀú³ÌÖÐ, Èí¼þ×î³£Óöµ½µÄ¹¥»÷¾ÍÊDZ»²»·¨¸Ä¶¯ ¡£Ê¹ÓÃÈí¼þ±à³ÌʵÏÖµÄÃÜÂëË㷨ҲͬÑù»áÊܵ½ÕâÀàÍþв ¡£È»¶øÓ²¼þÔò²»»á±£´æ±»¸Ä¶¯µÄΣº¦, Òò´ËÔÚ½«ÃÜÂëËã·¨Ó²¼þ¹Ì»¯ºó, Ò²¾ÍÏû³ýÁËÃÜÂëËã·¨±»²»·¨¸Ä¶¯µÄΣº¦ £¬Áô¸ø¹¥»÷ÕߵĹ¥»÷ÃæÒ²ÏìÓ¦¼õС ¡£²¢ÇÒÔÚÃÜÂëË㷨ʵÏÖÓ²¼þ»¯ºó £¬²»Ö¹ÓÃÓÚʵÏÖËã·¨µÄ´úÂëÁ¿»á±äÉÙ £¬ÏìÓ¦µÄŲÓá¢Ê¹ÓÃÃÜÂëËã·¨µÄ´úÂëÁ¿Ò²»áËæ×ÅïÔÌ­ £¬ÕâÒ²¾ÍÒâζ×ÅÔÚ³ÌÐòÖÐÒýÈëbugµÄ¼¸ÂÊÒ²»áËæÖ®´ó´ó½µµÍ ¡£ÕâЩÎÞÒɶ¼´ó´óÔöÇ¿ÁËÓû§³ÌÐòµÄ½áʵÐÔ ¡£


C.¸ßЧÐÔ


½«ÃÜÂëËã·¨Ó²¼þ»¯ £¬Ê¡È¥ÁË´ó×ÚµÄÈí¼þŲÓõÈϵͳ¿ªÏú £¬¿ÉÒÔʹÃÜÂëËã·¨Ó¦ÓûñµÃ¼«´óµÄÐÔÄÜÌáÉý ¡£ÔÚ½«GMI¼¯³Éµ½OpenSSLºó £¬½èÖúÓÚOpenSSLµÄspeed ²âÊÔÏÂÁî £¬²âÊÔÁËʹÓÃGMIºÍδʹÓÃGMIÁ½ÖÖ·½·¨ÏµĹúÃÜËã·¨µÄÐÔÄÜ£¨µ¥Ị̈߳© £¬¶ÔºÃ±ÈÏ£º



оÊÖÒÕ | »ùÓÚQG¹Î¹ÎÀÖCPUµÄ¹úÃÜËã·¨Ó²¼þ¼ÓËÙ¼°Ó¦ÓÃÑо¿
ͼ1 SM3ÐÔÄܲâÊÔЧ¹û


оÊÖÒÕ | »ùÓÚQG¹Î¹ÎÀÖCPUµÄ¹úÃÜËã·¨Ó²¼þ¼ÓËÙ¼°Ó¦ÓÃÑо¿
ͼSM4-ECB ¼ÓÃÜÐÔÄܲâÊÔЧ¹û


¸Ã²âÊÔ»®·Ö¶Ô²î±ð³¤¶È(16~8192×Ö½Ú)µÄÊý¾Ý¿é¾ÙÐÐÁËSM3ÕªÒªÅÌËãºÍSM4-ECBģʽµÄ¼ÓÃÜÅÌËã ¡£´Ó²âÊÔЧ¹ûµÄ±ÈÕÕ¿ÉÒÔÏÔ×Å¿´³ö £¬Ê¹ÓÃÁËGMIÓ²¼þ¼ÓËÙÖ¸Áîºó £¬ SM3ºÍSM4µÄÐÔÄܽÏÖ®Èí¼þʵÏÖ¶¼ÓÐÁËÖØ´óÌáÉý £¬ÌØÊâÊÇÔÚ´¦Öóͷ£´óÊý¾Ý¿éʱ £¬ÌáÉýÓÈÆäÏÔÖø ¡£


3. GMIÓ¦ÓÃ


a) SM3µÄÓ¦ÓÃ


ʵÏÖÁËSM3µÄGMI¿ÉÓÃÓÚУÑéÎļþµÄÍêÕûÐÔ £¬È·±£Ê¹ÓõÄÎļþ»òÈí¼þÊÇûÓб»¹¥»÷Õ߸͝¹ýµÄ ¡£ÏÖÔÚ½ÏÁ¿³£¼ûµÄÎļþУÑéËã·¨ÓÐÆæÅ¼Ð£ÑéºÍCRCУÑé £¬¿ÉÊÇÕâÁ½ÖÖУÑé¶¼²»¾ßÓнÏÇ¿µÄ¿¹Êý¾Ý¸Ä¶¯µÄÄÜÁ¦ £¬¹ØÓÚÁè¼ÝÒ»¶¨Î»ÊýµÄ¸Ä¶¯¾ÍÎÞÁ¦Ð£ÑéÁË ¡£È»¶ø £¬ÓÉÓÚ¹þÏ£Ëã·¨µÄÌØµã £¬SM3Ôò¿ÉÒÔУÑé³öí§Òⳤ¶ÈµÄ¸Ä¶¯ £¬²¢ÇÒÓÉÓÚÆä±¬·¢µÄÊý¾ÝÕªÒªµÄ³¤¶ÈÒª¸ü³¤ £¬Òò´Ë¸üÄÑÒÔ±¬·¢Åöײ £¬Ò²¾ÍÔ½·¢Çå¾² ¡£Òò´Ë £¬Óû§Ö»ÐèҪŲÓÃGMIµÄSM3Ö¸ÁîÅÌËãËùÓõ½µÄÎļþ/Èí¼þµÄÕªÒªÖµ £¬ÓëÎļþ×Ô´øµÄУÑéÖµ¾ÙÐнÏÁ¿ £¬¾Í¿ÉÒÔÄ¥Á·³öÎļþÊÇ·ñ±»¸Ä¶¯¹ý £¬´Ó¶ø°ü¹ÜÁËËùÓÃÎļþ/Èí¼þµÄÍêÕûÐÔ ¡£


±ðµÄ £¬ÓÉÓÚÔÚÅÌËãÐÅϢժҪʱ, Óû§ËùÌåÌùµÄÖ÷ÒªÊÇÐÂÎŵÄÍêÕûÐÔ £¬¶ø²»ÊÇÉñÃØÐÔ £¬Òò´Ë £¬ÔÚʹÓÃÐÔÄܽϵ͵ÄÇ徲оƬ»òÕß¼ÓÃÜ¿¨Ê± £¬¿ÉÒÔ½«ÅÌËãÕªÒªÖµµÄÊÂÇé½»¸øGMIµÄSM3Ö¸ÁîÀ´Íê³É £¬ÒÔ»ñÈ¡¸ü¸ßµÄϵͳÐÔÄÜ ¡£


b) SM4µÄÓ¦ÓÃ


ÓëÆäËû¶Ô³Æ¼Ó½âÃÜËã·¨Ò»Ñù £¬SM4ͬÑù¿ÉÒÔÓÃÔÚ¾²Ì¬Êý¾Ý¼ÓÃÜ¡¢´«ÊäÊý¾Ý¼ÓÃÜÒÔ¼°Ó¦ÓòãµÄÊý¾Ý¼ÓÃÜ ¡£


i. ¾²Ì¬Êý¾Ý¼ÓÃÜ


È«´ÅÅ̼ÓÃÜÊǶԾ²Ì¬Êý¾Ý¼ÓÃܵÄÒ»¸öµä·¶Ó¦Óà ¡£¹ËÃû˼Òå £¬È«´ÅÅ̼ÓÃܾÍÊǶԴÅÅÌÉϵÄËùÓÐÊý¾Ý¶¼¾ÙÐмÓÃÜ´æ´¢ ¡£´æ´¢×ÅСÎÒ˽¼ÒÒþ˽»òÉÌÒµÉñÃØµÈÃô¸ÐÐÅÏ¢µÄÅÌËã»ú×°±¸É¥Ê§»òÕßÐèҪάÐÞʱ £¬ÈôÊÇʹÓÃÁËÈ«´ÅÅ̼ÓÃܵı£»¤ £¬¾Í¿ÉÒÔ×èÖ¹ÐÅϢй¶µÄΣº¦ ¡£ÌØÊâÊǹØÓÚÆóÒµÓû§À´Ëµ £¬ÔÚ×°±¸¸üÐÂʱ £¬ÈçÄÇÀïÖþÉÓ²ÅÌÉϵÄÃô¸ÐÊý¾ÝÊÇÒ»¸öÏàÊÊʱÈ˼¬ÊÖµÄÎÊÌâ £¬½èÖúÓÚÈ«´ÅÅ̼ÓÃÜ £¬Ö»ÐèÒª½«È«´ÅÅ̼ÓÃܵļӽâÃÜÃÜÔ¿Ïú»Ù £¬¼´¿ÉµÖ´ïÏú»Ù¾É´ÅÅÌÉÏÃô¸ÐÊý¾ÝµÄÄ¿µÄ ¡£Í¬Ê± £¬½èÖúÓÚGMIµÄ¼ÓËÙÌØÕ÷¿ÉÒÔÈÃÈ«´ÅÅ̼ÓÃܾßÓиü¸ßµÄÐÔÄÜ £¬´ó´ó¸ÄÉÆÁËÓû§µÄʹÓÃÌåÑé ¡£±ðµÄ £¬ÔÚÇå¾²¿É¿¿µÄÒªÇóÏ £¬ÓÐЩÐÐÒµ»á¶Ô¼Ó½âÃÜËã·¨ÓÐÒªÇó £¬ºÃ±ÈÒªÇóʹÓÃSM4Ëã·¨À´¼Ó½âÃÜϵͳÖеÄÊý¾Ý ¡£ÔÚÕâÖÖÇéÐÎÏ £¬¾Í¿ÉÒÔʹÓÃGMIµÄSM4Ö¸ÁîÌæ»»¹Å°åµÄ´¿Èí¼þʵÏÖ £¬´Ó¶ø²»µ«ÄܱÜÃâËã·¨±»¸Ä¶¯ £¬»¹ÄÜÌá¸ßÔËËãËÙÂÊ £¬Í¬Ê±»¹¿ÉÒÔÖª×ãÕþ²ß¹æÔòµÄºÏ¹æÒªÇó, ¿Éνһ¾ÙÈýµÃ ¡£


ii. ´«ÊäÊý¾Ý¼ÓÃÜ


ÁíÒ»¸ö¶Ô³Æ¼Ó½âÃܵij£ÓÃÁìÓòÊǶԴ«ÊäÖеÄÊý¾Ý¼ÓÒÔ±£»¤ ¡£ºÃ±ÈÔÚʹÓÃHTTPS»á¼ûÍøÕ¾Ê± £¬ÔÚÍê³É×î³õµÄÃÜÔ¿½»Á÷ºó £¬¿Í»§ÓëWeb ServerÖ®¼ä¾ÍʹÓöԳƼÓÃÜËã·¨À´±£»¤Ë«·½µÄÊý¾Ý´«Êä ¡£ÁíÍâ £¬ÔÚÔÆÅÌËãÁìÓò £¬ÉúÑÄÔÚÔÆÇéÐÎÖеÄÊý¾Ý»òÉæ¼°Ð¡ÎÒ˽¼ÒÒþ˽ £¬»òÉæ¼°ÆóÒµÉÌÒµÉñÃØ £¬Óû§¶ÔÕâЩÊý¾ÝµÄÉñÃØÐÔ¸ñÍâÌåÌù £¬ÕâÖÖÇéÐÎÏ £¬¾ÍÐèÒªÔÚ½«Êý¾Ý¼ÓÃܺóÔÙͨ¹ýÍøÂ·´«Êäµ½ÔÆÖÐ ¡£ÕâÑù £¬Êý¾Ý²»µ«¿ÉÒÔÈ·±£ÔÆÇéÐÎÖÐÊý¾ÝµÄÉñÃØÐÔ £¬»¹¿ÉÒÔÈ·±£Êý¾ÝÔÚÍøÂç´«ÊäÀú³ÌÖеÄÉñÃØÐÔ ¡£´Ëʱ £¬ÈôÊÇÄܹ»ÔÚä¯ÀÀÆ÷»òÕßÔÆµÄ¿Í»§¶ËÖ§³ÖGMI SM4Ó²¼þ¼ÓËÙÖ¸Áî £¬ÏÔÈ»¿ÉÒÔÖª×ãÓû§¶ÔÊý¾Ý´«ÊäµÄÇå¾²ÐÔÒªÇó ¡£


iii. Ó¦ÓòãÊý¾Ý¼ÓÃÜ


ÔÚÓ¦ÓòãµÄÊý¾Ý¼ÓÃÜÖÐ £¬Êý¾Ý¿âÊÇÒ»¸öµä·¶µÄÓ¦Óó¡¾° ¡£ÖÚËùÖÜÖª £¬³£¼ûµÄÊý¾Ý¿â¶¼Ö§³ÖÒ»ÖÖ³ÆÎªÍ¸Ã÷Êý¾Ý¼ÓÃÜ£¨TDE£©µÄÇå¾²ÌØÕ÷ ¡£ÕâÖÖÌØÕ÷¿ÉÒÔ½«Êý¾Ý¿âµÄÄÚÈÝÕûÌå¼ÓÃÜ ¡£ÆäÖÐËùÓõ½µÄÈý¸ö¼ÓÃÜÖÐÓÐÁ½¸öÊôÓڶԳƼÓÃÜ£ºÐ§ÀÍÖ÷ÃÜÔ¿£¨Service Master Key£©ºÍÊý¾Ý¼ÓÃÜÃÜÔ¿£¨Data Encryption Key£© ¡£ÕâЩ¶¼¿ÉÒÔʹÓõ½GMI SM4µÄÓ²¼þ¼ÓÃÜÖ¸Áî ¡£


4. δÀ´ÊÂÇé


δÀ´ÎÒÃÇ»¹»á¼ÌÐø¸»ºñGMIµÄÖ¸Á £¬ºÃ±ÈʵÏÖ¶ÔSM2/SM9µÈ¹úÃÜËã·¨µÄÖ§³Ö ¡£Í¬Ê±Ò²»áÒ»Ö±µÄÍêÉÆÏÖÓеÄGMIÖ¸Áî £¬ºÃ±ÈÍêÉÆSM4¶ÔGCM/XTSµÈģʽµÄÖ§³Ö £¬Ê¹Æä¾ßÓиü¸ßµÄÐÔÄÜ £¬Ë³Ó¦¸üÆÕ±éµÄÓ¦ÓÃÁìÓò ¡£ÁíÍâ £¬ÎªÁËÀû±ãÓû§Ê¹Óà £¬½«GMIÖð²½ÊÊÅäÖîÈçOpenSSLµÄÖ÷Á÷ÃÜÂëÓ¦ÓÃÆ½Ì¨ £¬Æð¾¢Íƹã¹úÃÜËã·¨µÄÓ¦Óà ¡£


5. ¿¢ÊÂÓï


±¾ÎÄÒÔÐÅÏ¢Çå¾²ÖеÄÒªº¦ÊÖÒÕ¡ª¡ªÃÜÂëËã·¨µÄÓ²¼þ¼ÓËÙʵÏÖΪÖ÷Ïß £¬ÏÈÈÝÁËQG¹Î¹ÎÀÖ»ùÓÚCPUµÄGMI¹úÃÜËã·¨Ó²¼þ¼ÓËÙÖ¸ÁîµÄģʽ¡¢ÌصãÒÔ¼°Ó¦Óà £¬Ï£ÍûÄÜ×ÊÖúÓû§¿ª·¢³öÔ½·¢ÎÞа¸ßЧµÄÇå¾²Ó¦Óýâ¾ö¼Æ»® ¡£×îºóÏÈÈÝÁËQG¹Î¹ÎÀÖGMIµÄδÀ´µÄÊÂÇé £¬Ï£ÍûÄܹ»Ö§³Ö¸ü¶àµÄ¹úÃÜËã·¨Ö¸ÁîºÍ¸ü¸»ºñµÄÔËËãģʽ £¬ÎªÓû§Ìṩ¸ü¸ßÐÔÄÜ¡¢¸ü¸ßÇå¾²ÐԵIJúÆ· ¡£


²Î¿¼ÎÄÏ×£º

1 µËÓîɺ.̽ÌÖÔÆÅÌËãÖ®ÍêÈ«ÎÊÌâ[J].ÍøÂç¿Õ¼äÇå¾²,2018ÄêµÚ9ÆÚ:78~81.

2 ÐìÊ÷Ãñ,µÈ.¹ú²úËã·¨Ç徲оƬÓëÊг¡Ó¦ÓÃ[J].ÐÅÏ¢Çå¾²ÓëͨѶ±£ÃÜ,2012Äê2ÔÂ:36~38.

3 Àî·¼·¼.¹ú²úÃÜÂëÐÐÒµÓ¦ÓÃµÄÆðÔ´Ñо¿ºÍ̽Ë÷[J].½ðÈڿƼ¼Ê±´ú,2016ÄêµÚ9ÆÚ:28~33.

4 ²Ì³Éº¼.Ö§³Ö¹ú²úÃÜÂëËã·¨µÄOpenSSLÉè¼ÆÊµÏÖ¼°Ó¦ÓÃ[J].ÐÅÏ¢Çå¾²Ñо¿,2018ÄêµÚ2ÆÚ:115~132.

5 ÍõÁ¼Ìï.Êý¾Ý´æ´¢¼°ÂëÁ÷Êý¾Ý´«ÊäÖеĹúÃÜËã·¨Çå¾²Ó¦ÓÃ[J].µç×ÓÌìÏÂ,2019Äê1ÔÂ:161~163


×÷Õß¼ò½é£º

Ѧ¸ÕÈ꣨1981- £© £¬ÄÐ £¬ºº×å £¬É½¶«ÃÉÒõÈË £¬¹þ¶û±õ¹¤Òµ´óѧ £¬Ë¶Ê¿ £¬¹¤³Ìʦ £¬Ö÷ÒªÑо¿Æ«ÏòºÍ¹Ø×¢ÁìÓò£ºÐÅÏ¢Çå¾² £¬¿ÉÐÅÅÌËã £¬ÐéÄ⻯ÊÖÒÕ ¡£


ÍÆ¼ö²úÆ·

ÔÝÎÞÊý¾Ý