国密算法 国密算法总结概念说明 国密算法是指我国定制的商用加密算法,用于金融行业。包括SM1、SM2、SM3、SM4。其中SM1是硬件实现的算法,我里不与讨论,而SM2、SM3、SM4等可以使用软件实现。 国际算法比较 国际加密算法:RSA、SHA/MD5、DES等常用算法,RSA是非对称算法(签名和验签),SHA/MD5为摘要算法(HASH值),DES为对称加密(数据加密)。 国密算法的SM2对应于RSA,SM2对应于SHA,SM3对应于DES。 非对称算法 RSA密钥目前建议使用2048 BIT(公钥明文256 byte私钥明文512 byte),生成的加密数据为密钥长度的整数倍,签名数据与密钥长度一致。SM2密钥长度为32字节(公钥明文64字节,私钥明文32字节),生成的加密数据结果为32*3+明文长度,签名数据与私钥长度一致64字节。 对称加密 DES加密的密钥必须是8/16/32的倍数对应于DES/3DES/3DES加密,输入数据长度必须是密钥长度的整数倍;而SM4的密钥长度是16字节,输入数据必须是16字节的倍数。 摘要算法 SM3计算结果为32字节的HASH值。 关键参数 网络安全之国密算法全文共2页,当前为第1页。SM2 椭圆曲线参数(规范推荐值)、userID(推荐值:1234567812345678)、私钥、公钥(可通过私钥生成) 网络安全之国密算法全文共2页,当前为第1页。 知识点 SM2密钥对的生成是基于一些算法参数,这些数据在规范内是有推荐值的。所以在使用SM2算法的前提是双方都使用的是相同的推荐参数,否则计算结果是不会对的。具体参数可查看规范。 SM3对称加密算法的密文数据,如果长度为明文长度+1(16字节的整数倍+1),则第一个字节是一个标识(0x04)。所以在处理SM3解密的时候要注意,有些工具或API在解密时可能需要加上标识符。 SM2加密结果数据的组成:1 BYTE(0x04) + 64 BYTE(2个大整数) + 密文(与明文长度相同) + 32 BYTE(密文的HASH值)。其中第一字节的标识数据要注意处理,其它工具或API是否要求。 SM2进行签名,对于相同的待签名数据,每次签名的结果都不同,不是固定的。因为签名过程会使用到随机数,签名过程会对明文+公钥+ID进行摘要。 SM4加密时要进行16字节的对齐。 网络安全之国密算法全文共2页,当前为第2页。在使用一些开源加密库时要注意:BYTE数组和大整数的转换 API生成的钥数据有可能出现33字节,而第1字节为0x00,这个字节表示符号(正数)。32字节密钥的本质是一个大整数(即大整数转换成字节数),而密钥只生成正整数,由于第1个字节的最高位为1时表示的是负数,所以在转换时就有了一个字节0x00表示为正数。同样的,在调用开源接口进行byte数据转换为大整数的时候,如果密钥明文是32 byte,但是第一个字节最高位为1时,必须要先添加一个0x00。 网络安全之国密算法全文共2页,当前为第2页。 网络安全之国密算法
- 粉丝: 84
- 资源: 9357
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- VR开发的概要介绍与分析
- 自动驾驶定位系列教程七:点云畸变补偿.pdf
- HM2302D-VB一款N-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- HM2302B-VB一款N-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- springboot学生考勤管理系统
- HM2302A-VB一款N-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- HM2301-VB一款P-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- 数据可视化的概要介绍与分析
- HM2301E-VB一款P-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- HM2301D-VB一款P-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明