当前位置:文档之家› 国密算法

国密算法

国密算法
国密算法

国密算法(SM1/2/4)芯片用户手册(UART接口)

注意:用户在实际使用时只需通过UART口控制国密算法芯片即可,控制协议及使用参考示例见下面

QQ:1900109344(算法芯片交流)

目录

1.概述 (3)

2.基本特征 (3)

3.通信协议 (3)

3.1.物理层 (3)

3.2.链路层 (4)

3.2.1.通讯数据包定义 (4)

3.2.2.协议描述 (4)

3.3.数据单元格式 (5)

3.3.1.命令单元格式 (5)

3.3.2.应答单元格式 (5)

3.4.SM1算法操作指令 (6)

3.4.1.SM1 加密/解密 (6)

3.4.2.SM1算法密钥导入指令 (6)

3.5.SM2算法操作指令 (7)

3.5.1.SM2_Sign SM2签名 (7)

3.5.2.SM2_V erify SM2验证 (7)

3.5.3.SM2_Enc SM2加密 (8)

3.5.4.SM2_Dec SM2解密 (9)

3.5.5.SM2_GetPairKey 产生SM2密钥对 (9)

3.5.6.SM2算法公钥导入 (10)

3.6.SM4算法操作指令 (10)

3.6.1.SM4加密/解密 (10)

3.6.2.SM4算法密钥导入指令 (11)

3.7.校验/修改Pin指令 (11)

3.8.国密算法使用示例(Uart口命令流) (12)

3.8.1.SM1算法操作示例 (12)

3.8.2.SM2算法操作示例 (13)

3.8.3.SM4算法操作示例 (14)

3.9.参考数据 (15)

3.9.1.SM1参考数据 (15)

3.9.2.SM2参考数据 (15)

3.9.3.SM4参考数据 (17)

1.概述

本文档适用于使用国密算法芯片进行终端产品开发的用户。终端开发者通过Uart口发命令的方式操作国密算法芯片进行数据交换,产品应用开发。通过阅读本文档,终端开发者可以在无需考虑算法实现细节情况下,迅速完成产品开发。

2.基本特征

芯片的基本特征见下表:

3.通信协议

3.1.物理层

国密算法芯片采用系统供电方式,电压5V或者3.3V。国密芯片串口与系统MCU串口相连,异步全双工通讯,波特率默认为115200bps。数据格式为1位起始位、8位数据位和1位停止位,无校验位。

系统MCU向国密算法芯片发送命令时,在同一个命令内,相连两个发送字符之间的间隔不应大于10个字符时间,否则芯片可能会认为命令超时导致无任何响应。

3.2.链路层

3.2.1.通讯数据包定义

通信数据包如下图所示:

通讯数据包项目、长度、含义说明对应见下表:

通讯数据包项目含义一览表

3.2.2.协议描述

系统MCU首先发送一个命令数据包,发送完成后等待来自国密芯片的应答数据包。

国密芯片正确收到命令数据包后,便执行命令,然后回应应答数据包。

3.3.数据单元格式

3.3.1.命令单元格式

MCU向国密芯片发送的数据包称为命令数据包,命令数据包的格式如下图所示:

命令单元格式见下表:

命令单元格式一览表

3.3.2.应答单元格式

国密芯片向系统MCU应答数据包,如下图所示:

应答单元格式见下表:

应答单元格式一览表

3.4.SM1算法操作指令

3.4.1.SM1 加密/解密

命令数据单元:

命令数据单元含义一览表

应答数据单元:

应答数据单元含义一览表

3.4.2.SM1算法密钥导入指令

命令数据单元:

命令数据单元含义一览表

应答数据单元:

应答数据单元含义一览表

3.5.SM2算法操作指令

3.5.1.SM2_Sign SM2签名

命令数据单元:

命令数据单元含义一览表

应答数据单元:

应答数据单元含义一览表

3.5.2.SM2_Verify SM2验证

命令数据单元:

命令数据单元含义一览表

应答数据单元:

应答数据单元含义一览表

3.5.3.SM2_Enc SM2加密

命令数据单元:

命令数据单元含义一览表

应答数据单元:

应答数据单元含义一览表

3.5.

4.SM2_Dec SM2解密

命令数据单元:

命令数据单元含义一览表

应答数据单元:

应答数据单元含义一览表

3.5.5.SM2_GetPairKey 产生SM2密钥对

命令数据单元:

命令数据单元含义一览表

应答数据单元:

应答数据单元含义一览表

3.5.6.SM2算法公钥导入

命令数据单元:

命令数据单元含义一览表

应答数据单元:

应答数据单元含义一览表

3.6.SM4算法操作指令

3.6.1.SM4加密/解密

命令数据单元:

命令数据单元含义一览表

应答数据单元:

应答数据单元含义一览表

3.6.2.SM4算法密钥导入指令

命令数据单元:

命令数据单元含义一览表

应答数据单元:

应答数据单元含义一览表

3.7.校验/修改Pin指令

命令数据单元:

命令数据单元含义一览表

应答数据单元:

应答数据单元含义一览表

3.8.国密算法使用示例(Uart口命令流)

说明:芯片出厂时的Pin是8字节:0x06 0x06 0x06 0x06 0x06 0x06 0x06 0x06

只有Pin验证通过了才能导入16字节的SM1密钥,否则命令会返回失败,以后SM1的加解密都以此密钥来计算。

只有Pin验证通过了才能生成SM2密钥对或导入64字节的SM2公钥,否则命令会返回失败,以后SM2的加解密都以此密钥来计算。

默认的ID为16字节:0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38

只有Pin验证通过了才能导入16字节的SM4密钥,否则命令会返回失败,以后SM4的加解密都以此密钥来计算。

下面是Uart口操作国密算法芯片的命令流

3.8.1.SM1算法操作示例

校验Pin的,Uart口命令流,红色部分为初始Pin

向国密芯片发送:

02 00 0a 08 00 06 06 06 06 06 06 06 06 08 03//校验Pin

国密芯片返回:

02 00 02 00 00 00 03//执行正确

SM1密钥导入

向国密芯片发送:颜色部分为16字节密钥

02 00 12 70 CC A3 D1 9F 9E 2E EC 46 43 92 DA B4 7B 70 7D 3D 30 8F 03

返回:02 00 02 00 00 00 03//命令执行正确

成功导入密钥后,以后可以直接发送加解密指令即可,除非需要更改新的密钥

SM1加密

向国密芯片发送:颜色部分为16字节明文

02 00 12 70 00 C8 F9 D7 00 F8 00 B6 AA 1A 3F 02 6E 2C 68 6B 4C58 03

国密芯片返回:颜色部分为加密后的密文

02 00 12 00 00 C5 41 C3 47 BF 63 62 8D 26 62 05 E5 A8 C8 B8 98 D7 03

SM1解密

向国密芯片发送:颜色部分为16字节密文

02 00 12 70 01 C5 41 C3 47 BF 63 62 8D 26 62 05 E5 A8 C8 B8 98 A6 03

国密芯片返回:颜色部分为解密后的明文

02 00 12 00 00 C8 F9 D7 00 F8 00 B6 AA 1A 3F 02 6E 2C 68 6B 4C 28 03

3.8.2.SM2算法操作示例

校验Pin的,Uart口命令流,红色部分为初始Pin

向国密芯片发送:

02 00 0a 08 00 06 06 06 06 06 06 06 06 08 03//校验Pin

国密芯片返回:

02 00 02 00 00 00 03//执行正确

SM2算法产生密钥对

向国密芯片发送:

02000280cd4d03

国密芯片返回:64字节公钥+32字节私钥,浅蓝色部分是公钥,橙色是私钥

02 00 62 00 00 73 98 34 31 BF E0 7B F6 EE BD 72 6E CD 08 3C 78 2E C1 ED 39 00 37 14 4F CB E6 2C 6A FD 09 0C D8 2E 94 83 34 5E B9 D5 0E EC DF A9 7C 91 29 34 A8 80 14 82 2A 03 5E F4 E6 23 7E 3D 5E 29 60 A2 5E 1C BC FE C9 82 A9 C6 84 0B EC 7F 20 07 B5 97 20 FF D2 E0 6C 03 07 00 25 0E C1 E4 86 C0 A4 28 9A 5D 03

SM2算法公钥导入:

向国密芯片发送:颜色部分为64字节公钥

02004480ce45 AC 4F 39 52 89 F9 CC FB D1 22 35 87 0E FF 20 FA 5F 57 B9 65 CE 89 95 E9 41 44 D2 7A C7 1B FA 6A 1B D9 EC 31 0E 73 42 BF 38 5B 91 78 B3 8F FE 13 69 42 33 42 20 07 60 97 5D 6E E6 E8 EC C3 BC4003

国密芯片返回:02 00 02 00 00 00 03//执行正确

成功生成密钥对或导入公钥后,以后可以直接发送加解密签名验签指令即可,除非需要更改新的密钥

SM2加密

向国密芯片发送:颜色部分为3字节明文

02000580ca1122334a03

国密芯片返回:颜色部分为加密后的密文

02 00 66 00 00 04 EB E7 18 18 61 FA CE 1E 29 EC 10 3E 8F 40 7A A9 62 B2 2B 9F E3 7D 21 02 2B 57 64 3D 58 2A 3C 62 7C C4 4D BC 0C 38 AC BA 32 C3 C1 AC D6 AF 3B 78 37 B9 09 E7 01 00 32 CD AD 04 26 8C 79 93 B0 A9 49 1D 86 6F 26 78 D0 FC E4 32 5F 02 88 59 AA 32 11 B0 A5 FB 0E 6B 9C A7 16 18 AA F9 87 44 D5 E2 B6 45 85 B4 03

SM2解密

向国密芯片发送:颜色部分密文

02006680cb04 EB E7 18 18 61 FA CE 1E 29 EC 10 3E 8F 40 7A A9 62 B2 2B 9F E3 7D 21 02 2B 57 64 3D 58 2A 3C 62 7C C4 4D BC 0C 38 AC BA 32 C3 C1 AC D6 AF 3B 78 37 B9 09 E7 01 00 32 CD AD 04 26 8C 79 93 B0 A9 49 1D 86 6F 26 78 D0 FC E4 32 5F 02 88 59 AA 32 11 B0 A5 FB 0E 6B 9C A7 16 18 AA F9 87 44 D5 E2 B6 45 85FF03

国密芯片返回:颜色部分为解密后的明文

02 00 05 00 00 11 22 33 00 03

SM2签名

向国密芯片发送:颜色部分为2字节待签消息

02000480c622335703

国密芯片返回:颜色部分为64字节签名值

02 00 42 00 00 F9 98 C7 43 82 90 94 BB CA CB FF C9 A3 70 5D A7 37 D3 CE B9 56 AF 51 D0 66 58 BA B8 1F F1 A6 AA 68 B1 6C 65 D9 99 5D A6 75 0C 63 F1 C3 58 62 21 41 F5 70 8A DB 96 8A A3 FD 68 04 7D 9C E8 FB E5 07 03

SM2验签

向国密芯片发送:绿色部分为消息+蓝灰色64字节签名值

02004480c82233F9 98 C7 43 82 90 94 BB CA CB FF C9 A3 70 5D A7 37 D3 CE B9 56 AF 51 D0 66 58 BA B8 1F F1 A6 AA 68 B1 6C 65 D9 99 5D A6 75 0C 63 F1 C3 58 62 21 41 F5 70 8A DB 96 8A A3 FD 68 04 7D 9C E8 FB E55E03

国密芯片返回

02 00 02 00 00 00 03//验证成功

3.8.3.SM4算法操作示例

校验Pin的,Uart口命令流,红色部分为初始Pin

向国密芯片发送:

02 00 0a 08 00 06 06 06 06 06 06 06 06 08 03//校验Pin

国密芯片返回:

02 00 02 00 00 00 03//执行正确

SM4密钥导入

向国密芯片发送:颜色部分为16字节密钥

02 00 12 90 CC 9A 0E BD 94 4C 11 C1 17 C2 84 A8 2A 89 FD CF 97 82 03

返回:02 00 02 00 00 00 03//命令执行正确

成功导入密钥后,以后可以直接发送加解密指令即可,除非需要更改新的密钥

SM4加密

向国密芯片发送:颜色部分为16字节明文

02 00 12 90 00 EE 71 C4 14 53 16 11 10 33 89 CE F1 2F 8C 51 88 64 03

国密芯片返回:颜色部分为加密后的密文

02 00 12 00 00 01 08 CA 30 FE C6 AB 70 EA ED 36 BD AF CA 9F A1 C7 03

SM4解密

向国密芯片发送:颜色部分为16字节密文

02 00 12 90 01 01 08 CA 30 FE C6 AB 70 EA ED 36 BD AF CA 9F A1 56 03

国密芯片返回:颜色部分为解密后的明文

02 00 12 00 00 EE 71 C4 14 53 16 11 10 33 89 CE F1 2F 8C 51 88 F4 03

3.9.参考数据

3.9.1.SM1参考数据

第一组

密钥:DF E6 AC 30 A5 EE 6A E3 A8 7E 25 97 C7 08 C3 ED

明文:D3 32 DB 31 FF B0 E6 B4 DF 82 05 56 F2 24 71 1A

密文:0AB725C647C7AA1FD81FC653934E5AE2

第二组

密钥:AA E0 CD 75 F2 14 22 CF 27 A5 0F 7A 9E CE 28 0E

明文:A5 90 CA 38 9D A3 B0 FC 7D 82 4D 9C 37 02 1A C6

密文:DC15E6752A3EFF748B74666842D6D3AD

3.9.2.SM2参考数据

SM2密钥对

第一组

公钥:

BBA50EF54EB46FDE074913478AC1F5D2629A721E5E38019C17B2C0FBA1B2AB1C50FB3 C1597EBD8A1675D53CB20E4C1582EEC78E5054626EDD0D13E8984152928

私钥:

7B81B501DDD51E98D4EC6EBE5D221D796BB499BCEDF51533627FED6FE4FDD523

第二组

公钥:

FB40AB9CB07715323F1AB77775BBDD7BF03CF987E62B6A7725EA3CF1D80DB3E53B7C1 E5B917889BED48D3A61FB8902FE754F6F57FD9CA087C0C163C94FCDFC56

私钥:

19D8059426C224DFAC2D608DD84027DD5069DB74E92B687DCE67F6D024428E2D

签名

第一组

公钥:

BBA50EF54EB46FDE074913478AC1F5D2629A721E5E38019C17B2C0FBA1B2AB1C50FB3 C1597EBD8A1675D53CB20E4C1582EEC78E5054626EDD0D13E8984152928

私钥:

7B81B501DDD51E98D4EC6EBE5D221D796BB499BCEDF51533627FED6FE4FDD523

消息:

112233445566778899AA

用户ID:

31323334353637383132333435363738

签名结果:

14E2E6A688905D42AB2F35D1505808A30E01719D0CBCA83B4116923DC12BFC8E33AC854 2172A213B0C9647C50FA95B6D020********E754B410E6906167BE813

第二组

公钥:

FB40AB9CB07715323F1AB77775BBDD7BF03CF987E62B6A7725EA3CF1D80DB3E53B7C1 E5B917889BED48D3A61FB8902FE754F6F57FD9CA087C0C163C94FCDFC56

私钥:

19D8059426C224DFAC2D608DD84027DD5069DB74E92B687DCE67F6D024428E2D

消息:

112233445566778899AA

用户ID:

31323334353637383132333435363738

签名结果:

AA7101EBB09B21771B11E3358B96C769184679748AB73A6BCD375F902FB21134434C3D09 BB09A51BD368E6851D54FC1084E02C35EAF2A957DE005039CE396211

加密解密

第一组

公钥:

BBA50EF54EB46FDE074913478AC1F5D2629A721E5E38019C17B2C0FBA1B2AB1C50FB3 C1597EBD8A1675D53CB20E4C1582EEC78E5054626EDD0D13E8984152928

私钥:

7B81B501DDD51E98D4EC6EBE5D221D796BB499BCEDF51533627FED6FE4FDD523

明文:

112233445566778899AA

密文:

046F971130C5E137132E515554D104DA1803A7D71CDDD79EF0BDFB91EEB476691A23E4 A3DA0C376C28A7E5C5204A2B7329680AE6D0E435889DD9E92528DD6DFF9171D38144D6 4F75DB01F9D29A885B7200D17FCC06928499D738F4F0DAEC3DC32D9FAC80551D3537FD 8E7F

第二组

公钥:

FB40AB9CB07715323F1AB77775BBDD7BF03CF987E62B6A7725EA3CF1D80DB3E53B7C1 E5B917889BED48D3A61FB8902FE754F6F57FD9CA087C0C163C94FCDFC56

私钥:

19D8059426C224DFAC2D608DD84027DD5069DB74E92B687DCE67F6D024428E2D

明文:

112233445566778899AA

密文:

04D919663173F71B050ED2F3C68736DC5A244284A40AC399D024C8D875010825E4E40AD D1299BE28873E65CE58BC4C1315FEFE2988488B3FAB506B8E911EDDE7624BD092656943 2E74B9349FD8818D56EB22C78240207116697C3D82CE422D847C555898F2CA0711AD51C7

3.9.3.SM4参考数据

第一组

密钥:F0 A0 FF 9B A8 07 D8 92 F1 EB A7 01 4D DF BF 3D

明文:BA 39 63 33 10 96 67 75 66 09 99 59 22 18 0B B4

密文:FA1020ED5360CAC33ADA8A2F8EEB51FA

第二组

密钥:97 12 BD 56 32 FF 85 6D 39 5E 45 02 05 A9 EC 77

明文:99 20 A2 5C B4 AE 3B 5F B1 3E 30 3D C9 AF 46 25

密文:E010455748AE03D08EBA1D0AA01B1300

国密算法(国家商用密码算法简介)

国家商用密码算法简介 密码学是研究编制密码和破译密码的技术科学,起源于隐秘消息传输,在编码和破译中逐渐发展起来。密码学是一个综合性的技术科学,与语言学、数学、电子学、声学、信息论、计算机科学等有着广泛而密切的联系。密码学的基本思想是对敏感消息的保护,主要包括机密性,鉴别,消息完整性和不可否认性,从而涉及加密,杂凑函数,数字签名,消息认证码等。 一.密码学简介 密码学中应用最为广泛的的三类算法包括对称算法、非对称算法、杂凑算法。 1.1 对称密码 对称密码学主要是分组密码和流密码及其应用。分组密码中将明文消息进行分块加密输出密文区块,而流密码中使用密钥生成密钥流对明文消息进行加密。世界上应用较为广泛的包括DES、3DES、AES,此外还有Serpent,Twofish,MARS和RC6等算法。对称加密的工作模式包括电码本模式(ECB 模式),密码反馈模式(CFB 模式),密码分组链接模式(CBC 模式),输入反馈模式(OFB 模式)等。1.2 非对称密码 公钥密码体制由Diffie和Hellman所提出。1978年Rivest,Shamir和Adleman提出RAS密码体制,基于大素数分解问题。基于有限域上的离散对数问题产生了ElGamal密码体制,而基于椭圆曲线上的离散对数问题产生了椭圆曲线密码密码体制。此外出现了其他公钥密码体制,这些密码体制同样基于困难问题。目前应用较多的包括RSA、DSA、DH、ECC等。 1.3杂凑算法 杂凑算法又称hash函数,就是把任意长的输入消息串变化成固定长的输出串的一种函数。这个输出串称为该消息的杂凑值。一个安全的杂凑函数应该至少满足以下几个条件。 1)输入长度是任意的; 2)输出长度是固定的,根据目前的计算技术应至少取128bits长,以便抵抗生日攻击; 3)对每一个给定的输入,计算输出即杂凑值是很容易的; 4)给定杂凑函数的描述,找到两个不同的输入消息杂凑到同一个值是计算上不可行的,或给定 杂凑函数的描述和一个随机选择的消息,找到另一个与该消息不同的消息使得它们杂凑到同一个值是计算上不可行的。 杂凑函数主要用于完整性校验和提高数字签名的有效性,目前已有很多方案。这些算法都是伪随机函数,任何杂凑值都是等可能的。输出并不以可辨别的方式依赖于输入;在任何输入串中单个比特

国密SM2密码算法的C语言实现

龙源期刊网 https://www.doczj.com/doc/8e12159973.html, 国密SM2密码算法的C语言实现 作者:邢维哲 来源:《中国新通信》2017年第18期 【摘要】 N.Koblitz和https://www.doczj.com/doc/8e12159973.html,ler在1985年各自独立地提出将椭圆曲线应用于公钥密码系统。SM2椭圆曲线密码算法是国家密码管理局批准的一组算法,在电力自动化通讯中得到了 广泛应用。本文介绍了SM2椭圆曲线公钥密码算法和加密解密算法中一部分过程的C语言实现。 【关键词】椭圆曲线 SM2 密码算法公钥加密解密 Implementation of Public Key Cryptographic Algorithm SM2 based on C language XINGWEIZHE (1. XINGWEIZHE COLLEGE OF ENGINEERING, PEKING UNIVERSITY,BEIJING,100871) Abstract: Applying elliptic curves on public key cryptosystem was put forward independently by Koblitz and https://www.doczj.com/doc/8e12159973.html,ler in 1985. Public Key Cryptographic Algorithm SM2 is Public Key Cryptographic Algorithm SM2, as the Chinese national cryptographic standard, is widely used in communications of automation system. This paper introduces elliptic curve cryptosystem and gives an implementation based on C language. Key word: elliptic curve cryptosystem; Public Key Cryptographic Algorithm SM2; elliptic curve

国密算法和国际密码算法在车载单片机上应用的对比研究

n C tinfo security 技术研究2019年第8期\_________________________________________________________________________________________________________■doi:10.3969/j.issn.1671-1122.2019.08.010 国密算法和国际密码算法在车载单片机上 应用的对比研究 ---------------------------吴志红,赵建宁,朱元,陆科---------------------------- (同济大学,上海201800) 摘要:文章介绍了车载网络安全和密码学应用的研究现状,结合前人的研究分析了国密SM4、SM3、SM2算法和对应国际密码算法的差异。在可编程的硬件加密模 块上进行实验,从软件执行时间、运行内存占用等方面对比了国密算法和国际密码算 法的性能。结果表明,国密SM系列算法和对应国际密码算法占用大小相当的运行内存, 任何一种国密算法和对应的国际密码算法在软件执行速度方面都存在差异,但算法执 行时间的差别最大不超过31%。文章研究可为基于国密算法的车载和车联网安全通信 提供基础,也可为开发国密算法的硬件加密模块提供参考。 关键词:车联网;国密算法;国际密码算法;车载单片机 中图分类号:TP309文献标识码:A文章编号:1671-1122(2019)08-0068-08 中文引用格式:吴志红,赵建宁,朱元,等.国密算法和国际密码算法在车载单片机上应用的对比研究[J]. 信息网络安全,2019,19(8):68-75. 英文引用格式:WU Zhihong,ZHAO Jianning,ZHU Yuan,et https://www.doczj.com/doc/8e12159973.html,parative Study on Application of Chinese Cryptographic Algorithms and International Cryptographic Algorithms in Vehicle Microcotrollers卩].Netinfb Security 2019,19(8):68-75. Comparative Study on Application of Chinese Cryptographic Algorithms and International Cryptographic Algorithms in Vehicle Microcotrollers WU Zhihong,ZHAO Jianning,ZHU Yuan,LU Ke (Tongji University,Shanghai201800,China) Abstract:This paper introduces the research status of in-vehicle cybersecurity and cryptography applications,and analyzes the differences between the Chinese cryptographic algorithms-SM4,SM3,SM2and corresponding international cryptographic algorithms based on previous study.Experiments are carried out on the programmable hardware encryption module.The performance of the Chinese cryptographic algorithms and corresponding international cryptographic algorithms is compared in terms of software execution time and running memory occupation.There is a difference in software execution speed between 收稿日期:2019-3-2 基金项目:国家重点研发计划[2017YFE0101400] 作者简介:吴志红(1961—),男,浙江,教授,博士,主要研究方向为电机传动、嵌入式系统安防机制;赵建宁(1989—),男,河南,博士研究生,主要研究方向为汽车网络安全防扒车载安全协议、密码学应用;朱元(1976—),男,江苏,副教授,博士,主要研究方向为电机传动、汽车功能安全、信息安全;陆科(1983—),男,江苏,博士,主要研究方向为汽车功能安全、信息妥全。 通信作者:赵建宁1510810@https://www.doczj.com/doc/8e12159973.html, 68

基于国密算法、数字证书的安全问题理解

基于国密算法、数字证书的安全问题理解 1. 国密算法发展背景 随着金融安全上升到国家安全高度,近年来国家有关机关和监管机构站在国家安全和长远战略的高度提出了推动国密算法应用实施、加强行业安全可控的要求。摆脱对国外技术和产品的过度依赖,建设行业网络安全环境,增强我国行业信息系统的“安全可控”能力显得尤为必要和迫切。 密码算法是保障信息安全的核心技术,尤其是最关键的银行业核心领域长期以来都是沿用3DES、SHA-1、RSA等国际通用的密码算法体系及相关标准,为从根本上摆脱对国外密码技术和产品的过度依赖。2010年底,国家密码管理局公布了我国自主研制的“椭圆曲线公钥密码算法”(SM2算法)。为保障重要经济系统密码应用安全,国家密码管理局于2011年发布了《关于做好公钥密码算法升级工作的通知》,要求“自2011年3月1日期,在建和拟建公钥密码基础设施电子认证系统和密钥管理系统应使用SM2算法。自2011年7月1日起,投入运行并使用公钥密码的信息系统,应使用SM2算法。” 2. 国密算法 安全的本质是算法和安全系统 保证安全最根本的方法是基础软件和基础硬件都是自己控制,目前我国无法短期国产化的情况下,数据加密是最好的方式。如果加密算法以及实现都是外国提供的,安全性从何说起,所以我国国家密码局发布了自主可控的国密算法 国密算法:为了保障商用密码的安全性,国家商用密码管理办公室制定了一系列密码标准,包括SM1(SCB2)、SM2、SM3、SM4、SM7、SM9、祖冲之密码算法(ZUC)那等等。 其中SM1、SM4、SM7、祖冲之密码(ZUC)是对称算法;SM2、SM9是非对称算法;SM3是哈希算法。 目前SM1、SM7算法不公开,调用该算法时,需要通过加密芯片的接口进行调用 3. 国密算法的现状 虽然在SSL VPN、数字证书认证系统、密钥管理系统、金融数据加密机、签名验签服务器、智能密码钥匙、智能IC卡、PCI密码卡等产品上改造完毕,但是目前的信息系统整体架构中还有操作系统、数据库、中间件、浏览器、网络设备、负载均衡设备、芯片等软硬件,由于复杂的原因无法完全把密码模块升级为国产密码模块,导致整个信息系统还存在安全薄弱环节。 4. 浏览器与SSL证书 SSL证书的作用就是传输加密 如果网站安装了SSL证书,就启用了https访问,那么你的访问就更加安全了。

国密算法应用流程

RJMU401国密算法应用流程 一、国密芯片RJMU401数据加密传输、身份认证及数据完整性保证 1、传输信道中的数据都采用SM4分组加密算法,保证数据传输时数据的机密性; 2、使用散列算法SM3保证数据的完整性,以防止数据在传输的过程中被篡改; 3、使用非对称算法SM2的私钥签名来保证数据的不可抵赖性,确保数据是从某一个确 定的车载用户端发出; 4、具体流程如下: a、用户数据使用SM3进行散列运算得到数据摘要,再使用非对称算法SM2进行 摘要签名; b、同时使用对称算法SM4的密钥对数据摘要进行加密并传输给安全模块; c、使用同一个对称算法SM4密钥对用户数据进行加密,并将加密后的密文传输给 监控端; d、监控端收到数据密文后,使用对应的密钥进行对称算法SM4解密,并使用散列 算法对解密后的数据进行运算得到数据摘要1; e、监控端对收到的摘要签名进行对称算法SM4解密,再经过非对称算法解密得到 最初的数据摘要2; f、对比数据摘要1和数据摘要2,若两者相等则认为传输数据具备完整性;否则 认为数据出错; 图1、数据加密传输、数据完整性及签名认证流程 补充说明: 1、需要有一主机发起认证指令,监控端收到对应指令后,会产生一个随机数(会话密 钥),可用该随机数作为对称加密SM4的单次密钥,用于加密传输的数据; 2、此SM4的会话密钥不会明文传输,监控端查找对应车载用户端的公钥进行加密,传 给对应的车载用户端,车载用户端收到数据后,用自己的SM2私钥解密,即可得到此次会话密钥。(会话密钥采用非对称密钥机制进行传输) 3、每一个车载用户端存放一个或者两个SM2密钥对,可采用CA证书形式。证书在车 载用户端生产时候预置进安全芯片RJMU401,监控端存储所有的车载用户端的SM2密钥对(证书)。

国密算法

国密算法(SM1/2/4)芯片用户手册(UART接口) 注意:用户在实际使用时只需通过UART口控制国密算法芯片即可,控制协议及使用参考示例见下面 QQ:1900109344(算法芯片交流)

目录 1.概述 (3) 2.基本特征 (3) 3.通信协议 (3) 3.1.物理层 (3) 3.2.链路层 (4) 3.2.1.通讯数据包定义 (4) 3.2.2.协议描述 (4) 3.3.数据单元格式 (5) 3.3.1.命令单元格式 (5) 3.3.2.应答单元格式 (5) 3.4.SM1算法操作指令 (6) 3.4.1.SM1 加密/解密 (6) 3.4.2.SM1算法密钥导入指令 (6) 3.5.SM2算法操作指令 (7) 3.5.1.SM2_Sign SM2签名 (7) 3.5.2.SM2_V erify SM2验证 (7) 3.5.3.SM2_Enc SM2加密 (8) 3.5.4.SM2_Dec SM2解密 (9) 3.5.5.SM2_GetPairKey 产生SM2密钥对 (9) 3.5.6.SM2算法公钥导入 (10) 3.6.SM4算法操作指令 (10) 3.6.1.SM4加密/解密 (10) 3.6.2.SM4算法密钥导入指令 (11) 3.7.校验/修改Pin指令 (11) 3.8.国密算法使用示例(Uart口命令流) (12) 3.8.1.SM1算法操作示例 (12) 3.8.2.SM2算法操作示例 (13) 3.8.3.SM4算法操作示例 (14) 3.9.参考数据 (15) 3.9.1.SM1参考数据 (15) 3.9.2.SM2参考数据 (15) 3.9.3.SM4参考数据 (17)

数据存储及码流数据传输中的国密算法安全应用

? 160 ? ELECTRONICS WORLD ?技术交流 数据存储及码流数据传输中的国密算法安全应用 深圳市东进技术股份有限公司 王良田 前言:国密算法作为现代行业核心领域通用的密码算法,为进一步提升密码算法的可控性能,工作人员采用实时数据加密处理的方法,有效降低信息传输风险,增强数据信息的安全性。本文主要针对数据存储及码流数据传输中国密算法的运用进行分析。 工作人员在进行数据传输时,及时采用动态密钥方式进行数据加密处理,并加强密钥、算法等体系的设计和研究,在多次现场实践的基础上,信息安全得到可靠保障。码流信息传输中,国密算法作为主要技术支撑,通过借助信息隐藏理论构建码流信息安全管理框架,并对相应的码流信息有效分类,从而快速掌握关键技术。国密算法是信息隐蔽传输的载体,以信息伪装形式,并通过信道渠道,将相应信息进行密钥处理,大大提升码流数据信息的机密性。 1.国密算法的相关介绍 1.1 国密算法概念 国密算法主要包括SM2、SM3、SM4等多种算法原理,建立在密钥体系之上,相应人员在采用国密算法的环节,需全面掌握对称加密算法SM4、非对称加密算法SM2、摘要算法SM3等基础理论,SM2\SM3\SM4是经过国家认定的国产密码算法,其工作任务是:加密、解密、签名、验签、摘要等操作。1.2 主要类型 SM2属于非对称加密算法类型,密钥长度:公钥长度是32字节,私钥长度为32字节,是一种基于椭圆曲线理论实现的非对称算法,加密强度是256位,目前在密钥体系中主要用于密钥交换;SM3属于摘要算法类型,密钥长度不明确,对输入数据无要求,输出数据是固定长度:32字节,实际工作中主要对于给定长度位的码流信息再经过填充、迭代、选裁等处理,最终生成摘要值,加密强度为256比特,目前在码流信息传输中,人员为保证相应信息的完整性,将SM3加密算法进行广泛运用,确保工作信息不被篡改;SM4属于对称加密算法类型,密钥长度为16字节,输出数据的长度为16字节整数倍,加密强度为128比特,采用的是32轮非线性迭代结构,现如今被广泛运用于码流数据信息加密操作中。 2.国密算法在数据存储及码流数据传输中的应用现状 传统的码流数据传输中,人员为提高数据存储的安全性,主要采用人工巡查方式,每日进行安全巡查,然而导致大量人力和物力浪费,更为严重的是,码流信息传输的安全性得不到保障。行业领域内的数据安全成为社会关注的话题,也是行业发展中需要解决的问题,运用国密算法的基础上,工作人员及时掌握传感器获得信息参数,并对数据存储及码流信息传输等过程实行信息安全监控,监控中发现:传输过程迅速,同时安全性有保障,工作信息免受外界环境干扰。 现阶段国密算法在数据存储及码流数据传输中的应用现状:管理人员加强信息安全体系研究,注重对国密算法的运用,积极掌握自动化监控系统的关键技术。比如在码流信息存储及传输环节,工 作人员广泛运用国密算法进行数据加密,大大提升码流信息传输的便捷性和安全性。 3.国密算法在数据存储及码流数据传输中的应用策略 3.1 安全体系架构 (1)为保证国密算法在数据存储中的有效运用,工作人员及时了解安全体系架构的知识,以提升传输层安全、数据层安全、管理安全等的目标出发。(2)认真完成身份认证,促进码流数据信息传输的完整性、不可否认性、保密性。(3)认真做好授权管理,充分发挥管理职能,综合考虑系统功能,快速推进安全体系构架。(4)广泛运用国密算法,对于传输层、数据层、管理层涉及到的安全问题提高重视,及时做好隐患排查,进一步完善码流信息传输的安全强度。图1 所示为安全体系架构。 图1 安全体系架构 3.2 算法安全设计 (1)加密设计:工作人员采用多算法多层次加密,提高码流信息传输的安全性,提升信息加密强度,比如人员利用SM4算法、SM2算法完成码流文件信息的加密、解密、验证、存储等操作,验证成功后方可使用私钥进行签名。(2)算法运用设计:算法运用中,数据加密处理中,使用预先存储的第一对密钥,码流信息加密时及时输入原文,借助密码卡快输出密文,验证签名时,快速输出签名结果,在卡内进行运算过程,保证了整个加密、计算过程的保密性。(3)码流文件设计:对相应码流文件信息进行加密、解密等操作时,首先服务端输入密码卡,然后送入对称密钥,同时输出密文,解密时,有效输出明文,并由客户端进行码流文件信息加 密,最终输出了明文,整个操作环节,都以信息安全为主要考虑。(4)密钥设计:密钥体系设计中,采用权限分散、多人共管的基本原则,对密钥体系进行有效分层,比如将密钥体系分为有效的系统根密钥、文件保护密钥、系统主密钥、用户证书密钥、通讯会话密钥等多种类型,强化码流文件信息安全保护,在系统内将相应信息及时存储下来,同时进行及时加密处理,采用有效的通讯会话密钥,加强码流信息传输过程保护,及时形成科学完善的密钥体系。3.3 数据加密方式 芯片在码流信息传输中起到非常重要的作用,是加密引擎系 (下转第163页)

国产密码算法及应用

国产密码算法及应用 商用密码,是指能够实现商用密码算法的加密、解密和认证等功能的技术。(包括密码算法编程技术和密码算法芯片、加密卡等的实现技术)。商用密码技术是商用密码的核心,国家将商用密码技术列入国家秘密,任何单位和个人都有责任和义务保护商用密码技术的秘密。 商用密码的应用领域十分广泛,主要用于对不涉及国家秘密内容但又具有敏感性的内部信息、行政事务信息、经济信息等进行加密保护。比如各种安全认证、网上银行、数字签名等。 为了保障商用密码安全,国家商用密码管理办公室制定了一系列密码标准,包括SSF33、SM1(SCB2)、SM2、SM3、SM4、SM7、SM9、祖冲之密码算法等等。其中SSF33、SM1、SM4、SM7、祖冲之密码是对称算法;SM2、SM9是非对称算法;SM3是哈希算法。 目前已经公布算法文本的包括SM2椭圆曲线公钥密码算法、SM3密码杂凑算法、SM4分组密码算法等。 一、国密算法简介 1.SM1对称密码 国密SM1算法是由国家密码管理局编制的一种商用密码分组标准对称算法,分组长度为128位,密钥长度都为128比特,算法安全

保密强度及相关软硬件实现性能与AES相当,算法不公开,仅以IP 核的形式存在于芯片中。 采用该算法已经研制了系列芯片、智能IC卡、智能密码钥匙、加密卡、加密机等安全产品,广泛应用于电子政务、电子商务及国民经济的各个应用领域(包括国家政务通、警务通等重要领域)。 2.SM2椭圆曲线公钥密码算法 SM2算法就是ECC椭圆曲线密码机制,但在签名、密钥交换方面不同于ECDSA、ECDH等国际标准,而是采取了更为安全的机制。国密SM2算法标准包括4个部分,第1部分为总则,主要介绍了ECC 基本的算法描述,包括素数域和二元扩域两种算法描述,第2部分为数字签名算法,这个算法不同于ECDSA算法,其计算量大,也比ECDSA 复杂些,也许这样会更安全吧,第3部分为密钥交换协议,与ECDH 功能相同,但复杂性高,计算量加大,第4部分为公钥加密算法,使用ECC公钥进行加密和ECC私钥进行加密算法,其实现上是在ECDH 上分散出流密钥,之后与明文或者是密文进行异或运算,并没有采用第3部分的密钥交换协议产生的密钥。对于SM2算法的总体感觉,应该是国家发明,其计算上比国际上公布的ECC算法复杂,相对来说算法速度可能慢,但可能是更安全一点。 设需要发送的消息为比特串M,len为M的比特长度。为了对明文M进行加密,作为加密者的用户应实现以下运算步骤: 步骤1:用随机数发生器产生随机数k∈[1,n -1];

国密算法芯片

国密算法芯片 用户手册 注意:用户在实际使用时需要通过UART口控制国密算法芯片,控制协议见下面说明,芯片本身只包含其中某几个算法,需要在购买时说明。 通过UART口发命令即可,方便用户使用,价格便宜 QQ:2425053909(注明加密芯片)

目录 1.概述 (2) 2.基本特征 (2) 3.通信协议 (2) 3.1.物理层 (2) 3.2.链路层 (3) 3.2.1. 通讯数据包定义 (3) 3.2.2. 协议描述 (3) 3.3.数据单元格式 (4) 3.3.1. 命令单元格式 (4) 3.3.2. 应答单元格式 (4) 4.国密芯片加解密指令 (5) 4.1.SM1算法操作指令 (5) 4.2.SM4算法操作指令 (5) 4.3.SM7算法操作指令 (6) 4.4.SSF33算法操作指令 (7) 4.5.SM3算法操作指令 (7)

1.概述 本文档适用于使用国密算法芯片进行终端开发的用户。终端开发者通过发送串口命令的方式操作国密芯片进行数据交换,国密产品应用开发。通过阅读本文档,终端开发者可以在无需考虑国密算法实现细节情况下,借助国密芯片来迅速改造现有系统使之适合国密应用。 2.基本特征 芯片的基本特征见下表: 3.通信协议 3.1.物理层 国密芯片采用系统供电方式,电压5V或者3.3V。国密芯片串口与系统MCU 串口相连,异步全双工通讯,波特率默认为115200bps。数据格式为1位起始位、8位数据位和1位停止位,无校验位。 系统MCU向国密芯片发送命令时,在同一个命令内,相连两个发送字符之间的间隔不应大于10个字符时间,否则国密芯片可能会认为命令超时导致无任何响应。

国密算法在金融IC卡应用的根CA技术要求

国产密码算法根CA系统技术要求 2012年7月

目次 1范围 (3) 2技术要求性引用文件 (3) 3术语及定义 (3) 3.1 发卡机构标识代码Bank Identification Number;BIN (3) 3.2 EMV (3) 3.3 入网机构标识码institution identification code (3) 3.4 成员机构(Member organisation) (4) 3.5 金融IC卡借记/贷记应用根CA(Financial IC Card Debit/Credit Applications Root CA) 4 3.6 发卡机构(Issuer) (4) 3.7 收单机构(Acquirer) (4) 3.8 主账号primary account number;PAN (4) 3.9 RID, Registered application provider identifier (4) 3.10 公钥密码算法(Public key cryptographic algorithm) (4) 3.11 哈希算法(Hash algorithm) (4) 3.12 静态数据认证,Static data authentication;SDA (4) 3.13 动态数据认证,Dynamic data authentication;DDA (4) 3.14 CDA, Combined dynamic data authentication/application cryptogram generation .4 4符号和缩略语 (4) 5根CA系统涉及密码算法的环节 (5) 6根CA的SM2密钥对 (5) 6.1 根CA的SM2私钥 (5) 6.2 根CA的SM2公钥 (5) 7根CA公钥文件 (5) 7.1 根CA公钥文件命名 (5) 7.2 根CA公钥文件内容 (6) 7.3 根CA公钥证书验证 (6) 8发卡行公钥证书申请 (7)

基于国密算法的文件安全系统研究与实现

基于国密算法的文件安全系统研究与实现 徐学东1,季才伟2 (1.长春工程学院机电学院,吉林长春,130012;2.长春易申软件有限公司,吉林长春,130012) 摘要:针对网络环境下电子文件的安全需求,研究基于国密算法的文件安全系统。提出C/S架构的系统模型,针对公共信道交互的安全性问题,提出“新鲜性标识符+挑战应答模式”的认证及密码协议方案,并完成了算法、密钥体系安全性设计和产品开发,目前已并通过了国密测试。 关键词:国密算法;公共信道;挑战应答模式;密钥体系 Research on the file security system based on the National commercial cipher algorithm Xu Xuedong1,Ji Caiwei2 (1.School of Mechanical&Electrical Engineering Changchun institute of Technology,ChangChun,130012; 2.Changchun E-sun Software Co.,ChangChun,130012) Abstract:According to the security requirement of the electronic file in the network environment,Analysis the file security system based on the national commercial cipher algorithm. Present C/S structure of the system model, “the fresh identifier + challenge response mode”authentication and cryptographic protocol is put forward to solve the problem of the safety of public channel interaction,and gives the algorithm and key security system design and specific implementation process.At present, has passed the testing of National commercial cipher algorithm. Keywords:National commercial cipher algorithm;Common channel;Challenge response mode;Key system 0 引言 重要电子文件传输、存储等过程中存在非法访问、窃取的风 险,需要通过密码产品进行保护。我国《商用密码管理条例》规定, 对信息进行加密保护或认证所使用的密码技术和产品,只能使用 经国家密码管理局审批认定的商用密码产品。商密产品必须基于 国密商用算法,且需通过国密产品检测获得产品型号。 国密商用算法是指国密 SM 系列算法。在国密产品检测中, 除了应用国密算法,基于PKI的加密体系,公共信道双向认证、算 法和密钥管理安全性和性能均有很高的要求。研究基于国密算法 的电子文件安全系统的设计方案,确保可信认证及无漏洞交互, 达到国密产品检测的要求。 1 系统架构设计 网络环境下,电子文件一般采取集中管理、分布使用的管理 方式。基于SC/SS架构模型,系统由服务端和客户端构成。总体 架构如图1。服务端负责用户的身份认证,权限控制,电子文件的 加密存储和行为审计。客户端负责文件的解密,监控文件的使用。 两者共同完成用户身份认证、会话协商密钥和客户端系统的安全 监控、防破解功能。 系统的加解密环节则需要在服务端和客户端分别实现。服务 端密码运算采用国密局审批通过的SJK1238加密卡,负责与客户 端协商会话密钥,验证客户端身份,对文档进行加解密。客户端采 用SJK1104 USBkey,负责与服务端协商会话密钥时的数字签名、 通讯数据加解密及客户端文档解密。为确保性能及密钥的安全 性,密码运算采用硬件加密。具体算法为:公钥密码算法为SM2, 杂凑算法为SM3,对称密码算法为SM4。 2 公共信道认证及密码协议 由于客户端和安全服务器的交互必须通过公共信道,其安全 设计至关重要。传统通过公共信道实现基于本地身份的交互认证 问题的研究已经较为深入。无密钥的安全传输机制也取得一些成 果。本设计的目标是简洁、高效、确保认证防止内部攻击。 2.1 新鲜性标识符概念 基于细粒度新鲜性的认证及密码协议是通过公共信道交互 的有效方案。其中新鲜性的概念是:协议运行期间,新鲜性标示 符N在产生时间t0之间没有被使用过。如果交互双方都相信新 鲜性标识符重复概率很低,攻击者在协议运行期间找到一个使用 过的标识符是实践上不可行的,则该新鲜性标识符只有若干合法 的主体拥有。 2.2 基于新鲜性标识符的挑战应答模式 挑战应答(Challenge/Response)模式是常用的认证方式,就 是每次认证时认证服务器端都给客户端发送一个"挑战"字串, 客户端程序收到这个"挑战"字串后,做出相应的"应答",认 证服务器将应答串与自己的计算结果比较,判断是否通过认证。 根据Dolev-Yao模型,每次交互过程双方均采用“新鲜性挑战”字 串,如加密算法完善,不同消息之间的格式不能相同,每个主体能 区分消息是否是由自己产生,则基于该新鲜性标识符进行双向认 证的过程就是安全的。 本系统客户端与服务器通讯采用标准双向认证协议,使用挑 战应答模式协商会话密钥,交互双方在交互过程中各产生一个新 鲜性随时数,作为签名验证的标识符。协商成功后通讯的数据均 使用会话密钥进行加密。协商过程如下: 基金项目:吉林省科技攻关计划项目(20140204060SF);吉林省教育厅科研规划项目(吉教科合字[2014]第337号)DOI:10.16520/https://www.doczj.com/doc/8e12159973.html,ki.1000-8519.2016.18.029

国密算法高速加密芯片

国密算法 --TF32A09系列芯片 赵玉山1371 899 2179 芯片概述: TF32A09系列芯片采用独有的数据流加解密处理机制,实现了对高速数据流同步加解密功能,在加解密速度上全面超越了国内同类型芯片。 TF32A09系列芯片集成度高、安全性强、接口丰富、加解密速度快,具有极高的性价比。该系列芯片可广泛的应用于金融、电子政务、电子商务、配电、视频加 密、安全存储、工业安全防护、物联网安全防护等安全领域。 芯片架构:

关键特性: ?CS320D 32位安全内核,外部总线支持8位/16位/32位访问; ?工作频率可达到100MHz; ?64k Byte ROM,可将成熟固件或受保护代码掩膜到ROM,密码算法使用MPU保护; ?20kByte 片内SRAM,从容完成高速数据处理; ?512kByte Nor Flash,满足不同客户应用要求; ?拥有两个USB—OTG 接口,可根据应用需求设置成Host或Device ; ?集成多种通信接口和多种信息安全算法(SM1、SM2、SM3、SM4、3DES、RSA等),可实现高度整合的单芯片解决方案; ?支持在线调试,IDE 调试环境采用CodeWarrior。 内部存储器: ?20KB SRAM ?64KB ROM ?512KB FLASH 芯片外部接口:

技术参数: 1. 工作电压: 2.4V~ 3.6V 2. 频率:最高可达100MHZ 3. 外形尺寸:TF32A9FAL1(LQFP176,20X20X1.4mm ) TF32A9FCL1(LQFP80,10X10X1.4mm ) TF32A9FDL1(LQFP64,10X10X1.4mm ) 芯片优势: ? 自主设计,国产安全芯片 ? 专利设计,加密传输速度快 ? 拥有两个USB —OTG 接口,高速流加密 ? 接口丰富 ? 集成国密算法 外设模块 176Pin 芯片 80Pin 芯片 64Pin 芯片 USB1 ● ● ● USB2 ● ● 7816-1(智能卡) ● ● ● 7816-2(智能卡) ● ● SPI1 ● ● ● SPI2 ● UART1 ● ● ● UART2 ● ● NFC(nandFlash) ● ● I2C ● ● ● KPP(键盘) ● GPIO 32 16 2

车联网安全之国密算法与其他算法的区别

车联网安全之国密算法与其他算法的区别 概述: 在车联网中,不管是端到云、还是云到车,每个环节、每个节点的信息安全保障都离不开加解密算法的支持,加解密算法的合理使用以及其计算能力直接影响车联网的性能和用户的体验。 今天和大家讨论一下国密算法与其他加解密算法(即国际算法是美国的安全局发布,是现今最通用的商用算法)的差别,以便于车联网的设计者们在不同的环节、节点采用最优的算法,从而提高产品的性价比。 国密算法: 即国产密码算法,是国家密码局制定标准的一系列算法,其中包括了对称加密算法,椭圆曲线非对称加密算法,杂凑算法等,在金融领域目前主要使用公开的SM2、SM3、SM4三类算法,分别是非对称算法、哈希算法和对称算法。在车联网中,目前还没有车厂采用国密算法,但作者认为随着互联网安全作为国家属性的重要度提升,未来国密算法将是车联网安全领域的发展趋势。 与国际算法差别: SM1是国家密码管理部门审批的分组密码算法,分组长度和密钥长度都为128比特,算法安全保密强度及相关软硬件实现性能与AES相当,该算法不公开,仅以 IP核的形式存在于芯片中; 图1:SM1与AES的比较 SM2算法和RSA算法都是公钥密码算法,SM2算法是一种更先进安全的算法,在我们国家商用密码体系中被用来替换RSA算法。SM2性能更优更安全:密码复杂度高、处理速度快、硬件性能消耗更小。

图2:SM2与RSA的比较 注: 1. 亚指数级算法复杂度低于指数级别的算法。 2. RSA秘钥生成速度较慢。例:主频1.5G赫兹的话,RSA需要2-3秒的,这在车联网中是根本无法接受的,而SM2只需要几十毫秒。 SM3是摘要加密算法,该算法适用于商用密码应用中的数字签名和验证以及随机数的生成,是在SHA-256基础上改进实现的一种算法。SM3算法采用Merkle-Damgard结构,消息分组长度为512位,摘要值长度为256位。 图3:SM3与Sha256的比较 SM4分组密码算法是我国自主设计的分组对称密码算法,用于实现数据的加密/解密运算,以保证数据和信息的机密性,是专门为无线局域网产品设计的加密算法。

相关主题
文本预览
相关文档 最新文档