国密算法介绍.docx
《国密算法介绍.docx》由会员分享,可在线阅读,更多相关《国密算法介绍.docx(6页珍藏版)》请在课桌文档上搜索。
1、国家商用密码算法简介密码学是研究编制密码和破译密码的技术科学,起源于隐秘消息传输,在编码和破译中逐渐开展起来。密码学是一个综合性的技术科学,与语言学、数学、电子学、声学、信息论、计算机科学等有着广泛而密切的联系。密码学的根本思想是对敏感消息的保护,主要包括机密性,鉴别,消息完整性和不可否认性,从而涉及加密,杂凑函数,数字签名,消息认证码等。一.密码学简介密码学中应用最为广泛的的三类算法包括对称算法、非对称算法、杂凑算法。1.1对称密码对称密码学主要是分组密码和流密码及其应用。分组密码中将明文消息进行分块加密输出密文区块,而流密码中使用密钥生成密钥流对明文消息进行加密。世界上应用较为广泛的包括D
2、ES、3DES、AES,此外还有SerPent,Twofish,MARS和RC6等算法。对称加密的工作模式包括电码本模式(ECB模式),密码反应模式(CFB模式),密码分组链接模式(CBC模式),输入反应模式(OFB模式)等。1.2非对称密码公钥密码体制由Diffie和Hellman所提出。1978年Rivest,Shamir和Adleman提出RAS密码体制,基于大素数分解问题。基于有限域上的离散对数问题产生了EIGamal密码体制,而基于椭圆曲线上的离散对数问题产生了椭圆曲线密码密码体制。此外出现了其他公钥密码体制,这些密码体制同样基于困难问题。目前应用较多的包括RSA、DSA、DH、EC
3、C等。1.3杂凑算法杂凑算法又称hash函数,就是把任意长的输入消息串变化成固定长的输出串的一种函数。这个输出串称为该消息的杂凑值。一个平安的杂凑函数应该至少满足以下几个条件。1)输入长度是任意的;2)输出长度是固定的,根据目前的计算技术应至少取128bits长,以便抵抗生日攻击;3)对每一个给定的输入,计算输出即杂凑值是很容易的;4)给定杂凑函数的描述,找到两个不同的输入消息杂凑到同一个值是计算上不可行的,或给定杂凑函数的描述和一个随机选择的消息,找到另一个与该消息不同的消息使得它们杂凑到同一个值是计算上不可行的。杂凑函数主要用于完整性校验和提高数字签名的有效性,目前己有很多方案。这些算法都
4、是伪随机函数,任何杂凑值都是等可能的。输出并不以可区分的方式依赖于输入;在任何输入串中单个比特的变化,将会导致输出比特串中大约一半的比特发生变化。二.商用密码算法为了保障商用密码平安,国家商用密码管理办公室制定了一系列密码标准,包括SSF33、SMl(SCB2)、SM2、SM3、SM4、SM7、SM9、祖冲之密码算法那等等。其中SSF33、SMl、SM4、SM7、祖冲之密码是对称算法:SM2、SM9是非对称算法;SM3是哈希算法。目前己经公布算法文本的包括祖冲之序列密码算法、SM2椭圆曲线公钥密码算法、SM3密码杂凑算法、SM4分组密码算法等。2.1SMl对称密码SMl算法是分组密码算法,分组
5、长度为128位,密钥长度都为128比特,算法平安保密强度及相关软硬件实现性能与AES相当,算法不公开,仅以IP核的形式存在于芯片中。采用该算法己经研制了系列芯片、智能IC卡、智能密码钥匙、加密卡、加密机等平安产品,广泛应用于电子政务、电子商务及国民经济的各个应用领域(包括国家政务通、警务通等重要领域)。2.2SM2.椭圆曲线公钥密码算法SM2算法就是ECC椭圆曲线密码机制,但在签名、密钥交换方面不同于ECDSA、ECDH等国际标准,而是采取了更为平安的机制。另外,SM2推荐了一条256位的曲线作为标淮曲线。ECC椭圆曲线密码体制Koblitz和Miller在1985年各自引入密码学。椭圆曲线的
6、Weierstrass方程为V+。四+a/=/+/+4+/,其上面的所有点和无穷远点构成一个加法交换群,其中无穷远点是加法零元。此群的加法法那么可以由弦切法所给出,具体见下列图。TT =Addition of distinct pointsAdding a point to itselfPQR=O左图中是两个Figure3.3:Thecompositionlaw.不同点P和Q的加法,右图为相同的点P和P的加法。由弦切法便可以给出椭圆曲线上的加法方程。多倍点运算是指:给定一点P和一个整数k,计算kP,即k个P点的和。椭圆曲线上的离散对数问题为:给定点P和kP,计算整数匕椭圆曲线密码体制的平安性便
7、是建立在椭圆曲线离散对数问题之上。SM2标准包括总那么,数字签名算法,密钥交换协议,公钥加密算法四个局部,并在每个局部的附录详细说明了实现的相关细节及例如。SM2算法主要考虑素域F和4”上的椭圆曲线,分别介绍了这两类域的表示,运算,以及域上的椭圆曲线的点的表示,运算和多倍点计算算法。然后介绍了编程语言中的数据转换,包括整数和字节串,字节串和比特串,域元素和比特串,域元素和整数,点和字节串之间的数据转换规那么。详细说明了有限域上椭圆曲线的参数生成以及验证,椭圆曲线的参数包括有限域的选取,椭圆曲线方程参数,椭圆曲线群基点的选取等,并给出了选取的标准以便于验证。最后给出椭圆曲线上密钥对的生成以及公钥
8、的验证,用户的密钥对为(s,sP),其中S为用户的私钥,SP为用户的公钥,由于离散对数问题从SP难以得到s,并针对素域和二元扩域给出了密钥对生成细节和验证方式。总那么中的知识也适用于SM9算法。在总那么的根底上给出了数字签名算法(包括数字签名生成算法和验证算法),密钥交换协议以及公钥加密算法(包括加密算法和解密算法),并在每个局部给出了算法描述,算法流程和相关例如。数字签名算法适用于商用应用中的数字签名和验证,可满足多种密码应用中的身份认证和数据完整性,真实性的平安需求。密钥交换协议适用于商用密码应用中的密钥交换,可满足通信双方经过两次或可选三次信息传递过程,计算获取一个由双方共同决定的共享秘
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 介绍

链接地址:https://www.desk33.com/p-821594.html