国产密码算法及应用报告共11页.pdf
《国产密码算法及应用报告共11页.pdf》由会员分享,可在线阅读,更多相关《国产密码算法及应用报告共11页.pdf(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 国产密码算法及应用 商用密码,是指能够实现商用密码算法的加密、解密和认证等功能的技术。(包括密码算法编程技术和密码算法芯片、加密卡等的实现技术)。商用密码技术是商用密码的核心,国家将商用密码技术列入国家秘密,任何单位和个人都有责任和义务保护商用密码技术的秘密。商用密码的应用领域十分广泛,主要用于对不涉及国家秘密内容但又具有敏感性的内部信息、行政事务信息、经济信息等进行加密保护。比如各种安全认证、网上银行、数字签名等。为了保障商用密码安全,国家商用密码管理办公室制定了一系列密码标准,包括 SSF33、SM1(SCB2)、SM2、SM3、SM4、SM7、SM9、祖冲之密码算法等等。其中 SSF3
2、3、SM1、SM4、SM7、祖冲之密码 是对称算法;SM2、SM9 是非对称算法;SM3 是哈希算法。目前已经公布算法文本的包括 SM2 椭圆曲线公钥密码算法、SM3密码杂凑算法、SM4 分组密码算法等。一、国密算法简介 1.SM1 对称密码 国密 SM1 算法是由国家密码局编制的一种商用密码分组标准对称算法,分组长度为 128 位,密钥长度都为 128 比特,算法安全保 密强度及相关软硬件实现性能与 AES 相当,算法不公开,仅以 IP 核的形式存在于芯片中。采用该算法已经研制了系列芯片、智能 IC 卡、智能密码钥匙、加密卡、加密机等安全产品,广泛应用于电子政务、电子商务及国民经济的各个应用
3、领域(包括国家政务通、警务通等重要领域)。2.SM2 椭圆曲线公钥密码算法 SM2 算法就是 ECC 椭圆曲线密码机制,但在签名、密钥交换方面不同于 ECDSA、ECDH 等国际标准,而是采取了更为安全的机制。国密 SM2 算法标准包括 4 个部分,第 1 部分为总则,主要介绍了 ECC基本的算法描述,包括素数域和二元扩域两种算法描述,第 2 部分为数字签名算法,这个算法不同于 ECDSA 算法,其计算量大,也比 ECDSA复杂些,也许这样会更安全吧,第 3 部分为密钥交换协议,与 ECDH功能相同,但复杂性高,计算量加大,第 4 部分为公钥加密算法,使用 ECC 公钥进行加密和 ECC 私钥
4、进行加密算法,其实现上是在 ECDH上分散出流密钥,之后与明文或者是密文进行异或运算,并没有采用第 3 部分的密钥交换协议产生的密钥。对于 SM2 算法的总体感觉,应该是国家发明,其计算上比国际上公布的 ECC 算法复杂,相对来说算法速度可能慢,但可能是更安全一点。设需要发送的消息为比特串 M,len 为 M 的比特长度。为了对明文 M 进行加密,作为加密者的用户应实现以下运算步骤:步骤1:用随机数发生器产生随机数k1,n-1;步骤2:计算椭圆曲线点C1=kG=(X1,Y1),将C1的数据类型转换为比特串;步骤3:计算椭圆曲线点S=hP,若S是无穷远点,则报错;步骤4:计算椭圆曲线点kP=(X
5、2,Y2),将坐标X2,Y2的数据类型转换为比特串;步骤5:计算t=KDF(x2 ll y2,len),若t为全0比特串,则返回步骤1;步骤6:计算C2=M t;步骤7:计算C3=Hash(x2 ll M ll y2);步骤 8:输出密文 C=C1 ll C2 ll C3。2019 年底,国家密码局公布了我国自主研制的“椭圆曲线公钥密码算法”(SM2 算法)。为保障重要经济系统密码应用安全,国家密码局于 2019 年发布了关于做好公钥密码算法升级工作的通知,要求“自 2019 年 3 月 1 日期,在建和拟建公钥密码基础设施电子认证系统和密钥管理系统应使用 SM2 算法。自 2019 年 7
6、月 1 日起,投入运行并使用公钥密码的信息系统,应使用 SM2 算法。”近期,人民银行组织召开多次专题会议讨论研究金融领域国产加密算法升级改造的相关工作。3.SM3 杂凑算法 又叫文摘算法,也有叫杂凑算法的。功能与 MD5,SHA-1 相同。产生 256 位的编码。该算法位不可逆的算法。具体算法也是保密。SM3密码杂凑算法给出了杂凑函数算法的计算方法和计算步骤,并给出了 运算示例。此算法适用于商用密码应用中的数字签名和验证,消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。在 SM2、SM9 标准中使用。此算法对输入长度小于 2 的 64 次方的比特消息,经过填充和迭代压缩
7、,生成长度为 256 比特的杂凑值,其中使用了异或,模,模加,移位,与,或,非运算,由填充,迭代过程,消息扩展和压缩函数所构成。SM3 算法包括预处理、消息扩展和计算 Hash 值三部分。预处理部分由消息填充和消息分组两部分组成。首先将接收到的消息末尾填充一个“1”,再添加 k 个“0”,使得填充后的数据成为满足 length=448mod512bit 的数据长度,再在末尾附上 64bit 消息长度的二进制表示数,然后将消息分成 512bit 的子块,最后将每个 512bit 的消息子块扩展成 132 个字用于 Hash 值的计算。SM3 算法计算流程图如图所示。SM3 算法的 Hash 运算
8、主要是在压缩函数部分,压缩函数共包含64 轮,每轮包括 12 步运算,64 轮循环计算结束后,再将计算结果与输入到本轮计算的初始数据进行异或运算,即上一次 Hash 运算的Hash 值输出与输入到本轮计算的初始数据异或得到本次 Hash 值输出,Hn 即为最终的 Hash 值,H0 为设计者提供的初始值 IV。图 SM3 算法流程图 4.SM4 对称算法 此算法是一个分组算法,用于无线局域网产品。该算法的分组长度为 128 比特,密钥长度为 128 比特。加密算法与密钥扩展算法都采用 32 轮非线性迭代结构。解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。
9、定义反序变换 R 为:R(A0,A1,A2,A3)=(A3,A2,A1,A0),AiZ322,i=0,1,2,3。设明文输入为(X0,X1,X2,X3)(Z322)4,密文输出为(Y0,Y1,Y2,Y3)(Z322)4,轮密钥为 rk i Z322。则本算法的加密变换为:Xi+4=F(Xi,Xi+1,Xi+2,Xi+3,rki)=XiT(Xi+1Xi+2 Xi+3rki),i=0,1,2,3,31.(Y0,Y1,Y2,Y3)=R(X32,X33,X34,X35)=(X35,X34,X33,X32)。本算法的解密变换与加密变换结构相同,不同的仅是轮密钥的使用顺序。加密时轮密钥的使用顺序为:(rk
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 国产 密码 算法 应用 报告 11
限制150内