国密算法(国家商用密码算法简介)
国密是什么
国密是什么
国密即国家密码局认定的国产密码算法,即商用密码。
国密主要有SM1,SM2,SM3,SM4。
密钥长度和分组长度均为128位。
1、SM1 为对称加密。
其加密强度与AES(高级加密标准,Advanced Encryption Standard)相当。
该算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。
2、SM2为非对称加密,基于ECC。
该算法已公开。
由于该算法基于ECC,故其签名速度与秘钥生成速度都快于RSA。
ECC 256位(SM2采用的就是ECC 256位的一种)安全强度比RSA 2048位高,但运算速度快于RSA。
3、SM3为消息摘要。
可以用MD5作为对比理解。
该算法已公开。
校验结果为256位。
4、SM4为无线局域网标准的分组数据算法。
对称加密,密钥长度和分组长度均为128位。
由于SM1、SM4加解密的分组大小为128bit,故对消息进行加解密时,若消息长度过长,需要进行分组,要消息长度不足,则要进行填充。
国密应用
商用密码的应用领域十分广泛,主要用于对不涉及国家秘密内容但又具有敏感性的内部信息、行政事务信息、经济信息等进行加
密保护。
商用密码可用于企业门禁管理、企业内部的各类敏感信息的传输加密、存储加密,防止非法第三方获取信息内容;也可用于各种安全认证、网上银行、数字签名等。
例如:在门禁应用中,采用SM1算法进行身份鉴别和数据加密通讯,实现卡片合法性的验证,保证身份识别的真实性。
安全是关系国家、城市信息、行业用户、百姓利益的关键问题。
国产商用密码算法及其相关标准介绍
标准咨询国产商用密码算法及其相关标准介绍谢宗晓(中国金融认证中心)董坤祥(山东财经大学管理科学与工程学院)甄杰(重庆工商大学管理科学与工程学院)1 概述《中华人民共和国密码法》第六条中规定:密码分为核心密码、普通密码和商用密码。
同时,在第七条和第八条中规定:核心密码、普通密码属于国家秘密,商用密码用于保护不属于国家秘密的信息。
因此,在常见应用中,商用密码得到了大面积的推广,以至于,在实践中,提到“国密”,经常就被默认为国产商用密码算法。
在现代密码系统中,密码算法、密码协议和密钥管理是三个不可或缺的部分,而在这三者之中,最为核心的毫无疑问就是密码算法。
虽然实践证明,绝大部分的安全漏洞都产生于实现和部署过程中,但是,算法的安全与否,直接决定了一个密码系统的基础是否安全。
例如,选用SHA-1、MD4、MD5、RC4和密钥长度小于2048位的RSA 等不安全的算法,不可能实现安全的密码系统。
已经发布的国产商用密码算法,按照类别可以分为:1)对称密码算法,主要包括ZUC 和SM4;2)非对称密码算法,主要包括SM2和SM9;3)密码杂凑算法,主要包括SM3。
2 对称密码算法对称密码(symmetric cryptography)是用相同的密钥(或方法)进行加密解密,这在逻辑上非常清晰,也最直观,有时候也被称之为共享密钥密码,对称密码算法的基本过程如图1所示。
1) 注意,RC4算法已经证明不安全。
图1 对称密码的工作过程已经发布国产商用密码算法中属于对称密码算法的有ZUC 和SM4。
ZUC(祖冲之密码算法)属于序列密码,也称为“流密码”,与之类似的国外密码算法如RC41)。
ZUC 对应的国家标准、行业标准,如表1所示。
SM4属于分组密码,也称为“块密码”,与之类似的国外密码算法如DES(数据加密标准),TDEA/3DES(三重数据加密标准)以及AES(高级加密标准)等。
SM4对应的国家标准、行业标准,如表2所示。
国产密码算法及应用报告
国产密码算法及应用报告国产密码算法及应用商用密码,是指能够实现商用密码算法的加密、解密和认证等功能的技术。
(包括密码算法编程技术和密码算法芯片、加密卡等的实现技术)。
商用密码技术是商用密码的核心,国家将商用密码技术列入国家秘密,任何单位和个人都有责任和义务保护商用密码技术的秘密。
商用密码的应用领域十分广泛,主要用于对不涉及国家秘密内容但又具有敏感性的内部信息、行政事务信息、经济信息等进行加密保护。
比如各种安全认证、网上银行、数字签名等。
为了保障商用密码安全,国家商用密码管理办公室制定了一系列密码标准,包括SSF33、SM1(SCB2)、SM2、SM3、SM4、SM7、SM9、祖冲之密码算法等等。
其中SSF33、SM1、SM4、SM7、祖冲之密码是对称算法;SM2、SM9是非对称算法;SM3是哈希算法。
目前已经公布算法文本的包括SM2椭圆曲线公钥密码算法、SM3密码杂凑算法、SM4分组密码算法等。
一、国密算法简介1.SM1对称密码国密SM1算法是由国家密码管理局编制的一种商用密码分组标准对称算法,分组长度为128位,密钥长度都为128比特,算法安全密码杂凑算法给出了杂凑函数算法的计算方法和计算步骤,并给出了运算示例。
此算法适用于商用密码应用中的数字签名和验证,消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。
在SM2、SM9标准中使用。
此算法对输入长度小于2的64次方的比特消息,经过填充和迭代压缩,生成长度为256比特的杂凑值,其中使用了异或,模,模加,移位,与,或,非运算,由填充,迭代过程,消息扩展和压缩函数所构成。
SM3算法包括预处理、消息扩展和计算Hash值三部分。
预处理部分由消息填充和消息分组两部分组成。
首先将接收到的消息末尾填充一个“1”,再添加k个“0”,使得填充后的数据成为满足length = 448mod512bit的数据长度,再在末尾附上64bit消息长度的二进制表示数,然后将消息分成512bit的子块,最后将每个512bit的消息子块扩展成132个字用于Hash值的计算。
国密算法国家商用密码算法简介)
国家商用密码算法简介密码学是研究编制密码和破译密码的技术科学,起源于隐秘消息传输,在编码和破译中逐渐发展起来。
密码学是一个综合性的技术科学,与语言学、数学、电子学、声学、信息论、计算机科学等有着广泛而密切的联系。
密码学的基本思想是对敏感消息的保护,主要包括机密性,鉴别,消息完整性和不可否认性,从而涉及加密,杂凑函数,数字签名,消息认证码等。
一.密码学简介密码学中应用最为广泛的的三类算法包括对称算法、非对称算法、杂凑算法。
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)给定杂凑函数的描述,找到两个不同的输入消息杂凑到同一个值是计算上不可行的,或给定杂凑函数的描述和一个随机选择的消息,找到另一个与该消息不同的消息使得它们杂凑到同一个值是计算上不可行的。
国密算法详解(一)
国密算法详解(一)国密算法详解什么是国密算法?•国密算法是指中国自主研发的加密算法,包括SM1、SM2、SM3和SM4等。
这些算法被广泛应用于政府、金融、电子商务等领域,以保障国家信息安全。
SM1算法•SM1是对称加密算法,采用分组密码方式进行加密和解密。
它是中国自主设计的加密算法,被广泛应用于各种机密数据的加密保护。
SM2算法•SM2是非对称加密算法,用于数字签名和密钥交换。
与传统的RSA算法相比,SM2具有更高的安全性和效率,被广泛应用于数字证书、电子身份证等领域。
SM3算法•SM3是哈希算法,用于计算消息的哈希值。
它具有高度的抗碰撞性和抗抵赖性,被广泛应用于数字签名、证书和密码协议等领域。
SM4算法•SM4是对称加密算法,用于数据的加密和解密。
它具有高强度的安全性和较快的运算速度,被广泛应用于数据传输、文件加密等领域。
国密算法的特点•自主创新:国密算法完全由中国自主设计和开发,不依赖于国外技术。
•高度安全:国密算法采用了世界领先的密码学理论和算法,具有高度的安全性。
•广泛应用:国密算法被广泛应用于政府、金融、电子商务等领域,保障了国家信息安全。
•高效性能:国密算法在安全性的前提下,注重运算速度和资源消耗的平衡,提供了高效的加密和解密服务。
国密算法的发展前景•随着信息技术的迅猛发展和国家信息安全的重要性日益凸显,国密算法的应用前景非常广阔。
•国密算法具备自主创新、高度安全和高效性能的优势,将在政府、金融、电子商务等领域继续得到广泛应用。
•同时,国际标准化组织和国际密码学界对国密算法的认可和关注也在增加,加速了国密算法在全球范围内的推广和应用。
总结•国密算法是中国自主研发的加密算法,包括SM1、SM2、SM3和SM4等。
这些算法在政府、金融、电子商务等领域被广泛应用。
•国密算法具有自主创新、高度安全、广泛应用和高效性能的特点,为信息安全保障提供了重要的技术支持。
•随着国家信息安全的重要性日益凸显,国密算法的发展前景非常广阔,将在更多领域得到推广和应用。
我国的商用密码算法
我国的商用密码算法(原创实用版)目录1.我国商用密码算法的发展背景2.我国商用密码算法的主要种类3.我国商用密码算法的应用领域4.我国商用密码算法面临的挑战及应对措施5.结论:我国商用密码算法的重要性及发展前景正文1.我国商用密码算法的发展背景随着信息技术的飞速发展,信息安全问题日益凸显。
商用密码作为保障信息安全的核心技术,在我国得到了广泛的应用和重视。
商用密码算法是商用密码技术的基础,其发展对于维护国家安全、推动经济社会发展具有重要意义。
2.我国商用密码算法的主要种类我国商用密码算法主要分为对称加密算法、非对称加密算法和哈希算法三类。
其中,对称加密算法主要包括 DES、AES 等;非对称加密算法主要包括 RSA、ECC 等;哈希算法主要包括 SHA-1、SHA-256 等。
这些算法具有不同的特点和适用场景,为我国信息安全提供了有力保障。
3.我国商用密码算法的应用领域我国商用密码算法广泛应用于金融、电子商务、政务、国防等领域。
在金融领域,商用密码算法用于保障资金交易的安全性和可靠性;在电子商务领域,商用密码算法用于保护用户信息和交易数据;在政务领域,商用密码算法用于确保政府信息系统的安全稳定运行;在国防领域,商用密码算法用于保障军事通信和指挥系统的安全。
4.我国商用密码算法面临的挑战及应对措施尽管我国商用密码算法取得了显著的发展,但仍面临一些挑战,如算法性能、安全性和互操作性等。
为应对这些挑战,我国采取了一系列措施,如加大研发投入、制定和完善相关法律法规、推动商用密码算法的国际化等。
5.结论:我国商用密码算法的重要性及发展前景商用密码算法是我国信息安全领域的核心技术,对于保障国家安全和推动经济社会发展具有重要意义。
我国的商用密码算法
我国的商用密码算法
密码算法包括对称密码算法、公钥密码算法和杂凑算法。
为了保障商用密码安全,国家密码管理部门制定了一系列密码算法标准,包括SM2、SM3、SM4、SM9、祖冲之密码算法(即“ZUC算法”)等。
其中SM2、SM9为公钥密码算法,SM3为杂凑算法,其余均为对称密码算法。
具体介绍如下:
- SM2算法基于椭圆曲线上离散对数计算困难问题,密钥长度为256比特,包括SM2加密算法和SM2数字签名算法。
- SM9是一种基于身份标识的公钥密码算法,也被称为标识密码,采用256比特的椭圆曲线。
- SM3算法摘要长度为256比特,利用了简单运算的充分多次迭代,其安全性及效率与SHA-256相当。
SM3主要用于数字签名及验证、消息认证码生成及验证、随机数生成等。
- SM4为分组密码,分组长度和密钥长度为128比特。
SM4算法是SM系列算法中使用最为广泛的密码算法。
- ZUC算法是序列密码算法,采用128比特的主密钥和128比特初始向量作为输入参数。
该算法速度快,常用于移动通信4G网络。
目前,我国SM系列密码算法大多已经纳入ISO/IEC国际标准,ZUC算法已经作为国际第四代移动通信加密标准,这标志着我国密码算法国际标准体系已初步成型,为有效保障网络空间安全贡献了中国智慧,提供了中国方案。
国密算法标识符-概述说明以及解释
国密算法标识符-概述说明以及解释1.引言1.1 概述概述部分:国密算法是指中国自主设计开发的密码算法,具有自主知识产权和高度安全性。
随着信息安全的重要性日益凸显,国密算法在政府、金融、电信等领域得到了广泛应用。
为了更好地标识和管理国密算法,国家标准化管理委员会制定了国密算法标识符规范,旨在统一规范国密算法的命名和标识,提高算法的可识别性和可管理性。
本文旨在介绍国密算法标识符的相关内容,探讨其重要性和应用前景。
1.2 文章结构本文分为引言、正文和结论三个部分。
在引言部分,我们将对国密算法标识符的概念进行概述,介绍本文的结构和目的。
在正文部分,将分为三个小节,分别简要介绍国密算法、国密算法标识符的作用以及国密算法标识符的规范。
在结论部分,将对国密算法标识符的重要性进行总结,探讨其在未来的应用前景,并进行结语。
通过上述结构,读者可以清晰地了解本文的内容和逻辑顺序,从而更好地理解和掌握国密算法标识符的相关知识。
1.3 目的:本文旨在介绍国密算法标识符的重要性和规范,通过对国密算法标识符的概念、功能和应用进行深入探讨,帮助读者更好地理解和应用国密算法标识符。
同时,通过对国密算法标识符的规范要求和应用前景的分析,引导读者正确地使用国密算法标识符,提高信息安全保护的水平,促进国密算法在各个领域的推广和应用,进一步加强我国信息安全领域的发展。
2.正文2.1 国密算法简介国密算法,全称为“商用密码国家密码管理局核心密码技术的基础密码算法”,是中国自主研发的密码算法体系。
国密算法由国家密码局指导,并由相关单位进行研究与推广应用。
国密算法涵盖了对称加密、非对称加密、哈希函数、数字签名等多个领域,具有自主知识产权和完全自主创新。
与国际标准的密码算法相比,国密算法在保密性、完整性、不可否认性等方面具有较高的安全性。
国密算法体系由国家密码管理局统一规划,其中包括SM1、SM2、SM3和SM4等四种重要密码算法。
其中,SM1为对称加密算法,SM2为非对称加密算法,SM3为哈希函数,SM4为分组密码算法。
国密算法的科普
国密算法的科普⼀、国密算法的背景1、国家密码管理局1、密码算法是保障信息安全的核⼼技术,尤其是我国最关键的银⾏业核⼼领域长期以来都是沿⽤MD5、SHA-256、3DES、AES、RSA等这些国际通⽤的密码算法体系及相关标准。
随着计算机性能提升,原本被认为安全的加密算法,也越来越容易破解。
•1997年,RSA公司破解DES⽤时76天,1998年⽤时41天,1999年EFF仅⽤22⼩时。
•2004年,美国加州圣巴巴拉召开的国际密码⼤会上,王⼩云宣读了⾃⼰和研究团队对于MD4、MD5、HAVAL-128和RIPEMD四个国际著名密码算法的破译结果,实际是碰撞算法•2010年5⽉,密歇根⼤学宣布发现漏洞导致RSA 1024位私钥加密被破解2、随着⾦融安全上升到国家安全⾼度,近年来国家有关机关和监管机构站在国家安全和长远战略的⾼度提出了推动国密算法应⽤实施、加强⾏业安全可控的要求。
摆脱对国外技术和产品的过度依赖,建设⾏业⽹络安全环境,增强我国⾏业信息系统的“安全可控”能⼒显得尤为必要和迫切。
3、基于这种⼤背景下,国家密码管理局(国家商⽤密码管理办公室与中央密码⼯作领导⼩组办公室)逐步推出公布国内⾃主可控的商⽤密码算法标准,即国密系列算法。
2、国密和商密国密算法是国家密码管理局制定颁布的⼀系列的密码标准,即已经被国家密码局认定的国产密码算法,⼜称商⽤密码(是指能够实现商⽤密码算法的加密,解密和认证等功能的技术),保障在⾦融,医疗等领域的信息传输安全。
国密与商密,⼀般认为是同义词,是指由国家密码管理局公布认定的系列国产商⽤密码算法。
根据1999年10⽉7⽇国务院发布实施的《商⽤密码管理条例》第⼀章第⼆条规定:“本条例所称商⽤密码,是指对不涉及国家秘密内容的信息进⾏加密保护或者安全认证所使⽤的密码技术和密码产品”。
3、国密算法常见的国密算法主要有以下⼏种:•SM1:对称加密算法,与AES相当,算法不公开,专供硬件,主要⽤于智能IC卡。
我国自主研发的商用密码标准算法
我国自主研发的商用密码标准算法
商用密码标准算法是指应用于商业加密领域的一种密码算法,在
我国,自主研发的商用密码标准算法主要包括:
1. SM4算法:SM4算法是我国自主研发的一种分组密码算法,用
于商业加密领域。
该算法使用128位密钥和128位分组长度,具有高速、高安全性、可扩展性等特点。
2. SM3算法:SM3算法是我国自主研发的一种哈希函数算法,用
于密码安全协议中的消息完整性检验、数字签名、证书验证等方面。
该算法使用256位消息摘要长度,具有高效性、安全性等特点。
3. SM2算法:SM2算法是我国自主研发的一种椭圆曲线密码算法,用于数字证书、数字签名、加密通信等方面。
该算法使用256位密钥
长度和256位分组长度,具有安全性高、性能好等特点。
这些自主研发的商用密码标准算法已经被广泛应用于领导、金融、电子商务等领域,为保障信息安全和保护个人隐私发挥着重要的作用。
国密算法简介
版本人员时间升级内容❝课程目的◦了解国密算法的算法原理◦了解SM2、SM3、SM4的算法原理◦了解国密卡片相关API❝目标人员◦移动金融初级开发人员❝前置课程◦RSA密钥体系◦DES密钥体系❝基本知识❝对称加密算法SM2❝非对称加密算法SM4❝摘要算法SM3定义国密即国家密码局认定的国产密码算法,即商用密码,主要完成加密、解密、签名、验签、摘要等操作。
常用国密算法种类算法类型密钥长度输入数据要求输出数据特征SM2非对称加密算法公钥64字节,私钥32字节。
长度小于(2^32-1)*32=137,438,953,440字节(大约1374亿多)。
输出长度是明文长度+96,有随机数参数,每次密文不同。
SM3摘要算法--无要求。
固定长度,32字节。
SM4对称加密算法16字节分组长度16字节,需要填充到16字节整数倍。
有CBC和ECB两种模式,CBC需要设定初始值。
长度为16字节整数倍。
国密算法还有SM1、SM7、SSF33、祖冲之密码对称加密算法,SM9非对称加密算法。
国密算法与其他算法比较非对称加密算法SM2与RSA比较国密算法与其他算法比较SM2与RSA算法的一些统计数据RSA密钥强度(长度)SM2密钥强度(长度)破解时间(年)521比特106比特104(已破解)768比特132比特108(已破解)1024比特160比特10112048比特210比特1020国密算法与其他算法比较SM2与RSA算法的一些统计数据算法签名速度验签速度1024RSA2792次/秒51224次/秒2048RSA455次/秒15122次/秒256SM24095次/秒871次/秒国密算法与其他算法比较SM4与DES较从算法上看,国产SM4算法在计算过程中增加非线性变换,理论上能大大提高其算法的安全性,并且由专业机构进行了密码分析,民间也对21轮SM4进行了差分密码分析,结论均为安全性较高。
国密卡实现API类层次图class ng.Object◦class com.guomi.GMCipher◦class com.guomi.GMKeyBuilder◦class com.guomi.GMKeyPair◦class com.guomi.GMMessageDigest ◦class com.guomi.GMSignature◦class com.guomi.GMCipherExtend◦class com.guomi.GMSM2KeyExchange国密卡实现的API接口interface javacard.security.Key◦interface javacard.security.SecretKeyinterface com.guomi.SM1Keyinterface com.guomi.SM4Keyinterface com.guomi.SM7Keyinterface com.guomi.SSF33Key◦interface javacard.security.PrivateKey interface com.guomi.SM2PrivateKey ◦interface javacard.security.PublicKeyinterface com.guomi.SM2PublicKey国密卡实现的API接口interface com.unionpay.guomi.SM2Key ◦interface com.guomi.SM2PrivateKey◦interface com.guomi.SM2PublicKey目录❝算法原理❝加密❝解密❝签名❝验签算法原理❝国密SM2规定椭圆曲线参数(固定值,256比特)◦p :FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFF◦a:FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFC◦b:28E9FA9E9D9F5E344D5A9E4BCF6509A7F39789F515AB8F92DDBCBD414D940E93◦n:FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFF7203DF6B21C6052B53BBF40939D54123◦gx:32C4AE2C1F1981195F9904466A39C9948FE30BBFF2660BE1715A4589334C74C7◦gy:BC3736A2F4F6779C59BDCEE36B692153D0A9877CC62A474002DF32E52139F0A0❝各个参数意义如下椭圆曲线方程:y2=x3+ax+b,把它定义在Fp上, 要求a,b满足:4a3+27b2≠0(mod p)那么,p 、a 、b 用来确定一条椭圆曲线(确切来说应该是有限域Fp),G(gx,gy)为基点,n为点G 的阶,另外,还有一个非必要参数h,是椭圆曲线上所有点的个数m与n相除的整数部分;加密SM2公私玥结构、◦SM2公私玥关系P=d*G 或者(x ,y )=d*(gx ,gy ),即公钥P 是基点G 的d 倍点。
我国的商用密码算法
我国的商用密码算法摘要:一、背景介绍二、商用密码算法的分类与特点三、我国商用密码算法的发展四、商用密码算法在数字经济中的应用五、总结与展望正文:随着信息技术的飞速发展,网络安全已成为国家安全的重要组成部分。
在我国,商用密码算法作为网络安全的关键技术,得到了国家的高度重视和大力推广。
本文将从背景介绍、商用密码算法的分类与特点、我国商用密码算法的发展、商用密码算法在数字经济中的应用等方面进行阐述,最后对我国商用密码算法的发展趋势进行展望。
一、背景介绍近年来,全球范围内的网络安全事件频发,国家网络与信息安全面临严重挑战。
为了维护国家安全,我国政府积极倡导和实践总体国家安全观,制定并实施了一系列网络安全法律法规,其中包括《网络安全法》、《密码法》、《数据安全法》等。
商用密码算法作为网络安全的关键技术,对于保护国家网络与信息安全具有重要意义。
二、商用密码算法的分类与特点根据《密码法》,商用密码、普通密码和核心密码分别用于保护不属于国家秘密的信息、国家秘密信息和绝密级信息。
其中,商用密码算法主要应用于商用领域,保护企业和个人数据的安全。
我国商用密码算法具有以下特点:1.安全性:我国商用密码算法具有较高的安全性,难以被破解。
2.性能优越:我国商用密码算法在保证安全性的同时,计算性能优越,易于实现和推广。
3.自主可控:我国商用密码算法完全自主研发,具有自主知识产权,有利于维护国家信息安全。
三、我国商用密码算法的发展我国商用密码算法的发展经历了多个阶段,从最初的研究探索,到现在的成熟应用,取得了举世瞩目的成果。
在政策扶持和技术创新的双重推动下,我国商用密码算法不断发展壮大,为国家网络安全保驾护航。
1.研究探索阶段:上世纪90年代,我国开始研究商用密码算法,逐步形成了具有自主知识产权的商用密码算法体系。
2.政策扶持阶段:近年来,国家加大对商用密码算法的政策扶持力度,推动商用密码算法在各个领域的应用。
3.技术创新阶段:我国科研团队不断优化和改进商用密码算法,提高算法的安全性和性能,使之在国际舞台上崭露头角。
国产加密算法的种类及应用场景
国产加密算法的种类及应用场景国产加密算法是指中国自行研发的加密算法,用于保护重要信息的安全性。
这些算法在网络通信、数据存储和加密应用等各个领域都有重要的应用。
下面将介绍几种常见的国产加密算法及其应用场景。
1. SM系列算法SM系列是国家商用密码算法,包括对称加密算法SM1和SM4,以及非对称加密算法SM2和SM9。
SM1使用128位密钥和分组长度,广泛应用于数据加密、虚拟化安全、物联网安全等领域。
SM4是一种高速、高安全性的分组加密算法,被广泛应用于数据存储、网络通信和云计算等领域。
SM2和SM9作为国内首个自主知识产权的非对称加密算法,被广泛应用于数字签名、身份认证和密钥交换等领域。
2. ZUC算法ZUC是中国自主研发的一种流密码算法,用于移动通信中的安全保护。
它具有高速、高安全性和低功耗的特点,被广泛应用于3G、4G和5G等移动通信标准中的数据加密和身份认证,保障用户的通信安全。
3. SM3哈希算法SM3是中国自主研发的一种密码哈希算法,用于数字签名、消息认证和数据完整性验证等领域。
它具有较高的安全性和抗攻击性,广泛应用于电子商务、电子票据和电子数据交换等场景中。
4. LBlock算法LBlock是中国自主设计的一种分组密码算法,采用128位密钥和分组长度,适用于数据加密和解密操作。
它具有较高的安全性和较快的运算速度,适用于云计算、大数据存储和传输等领域。
5. LDHC算法LDHC是中国自主研发的一种基于曲线密码算法,用于数字签名、密钥交换和加密等场景。
它采用椭圆曲线上的点进行运算,具有较高的安全性和较快的运算速度,被广泛应用于物联网、无线通信和移动支付等领域。
以上是国产加密算法的几种常见类型及其应用场景。
这些算法在国内自主创新的基础上,经过严密的安全评测和认证,广泛应用于各个领域,为保护重要信息的安全提供了可靠的技术支持。
国密算法介绍
国家商用密码算法简介密码学是研究编制密码和破译密码的技术科学,起源于隐秘消息传输,在编码和破译中逐渐发展起来。
密码学是一个综合性的技术科学,与语言学、数学、电子学、声学、信息论、计算机科学等有着广泛而密切的联系。
密码学的基本思想是对敏感消息的保护,主要包括机密性,鉴别,消息完整性和不可否认性,从而涉及加密,杂凑函数,数字签名,消息认证码等。
一.密码学简介密码学中应用最为广泛的的三类算法包括对称算法、非对称算法、杂凑算法。
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)给定杂凑函数的描述,找到两个不同的输入消息杂凑到同一个值是计算上不可行的,或给定杂凑函数的描述和一个随机选择的消息,找到另一个与该消息不同的消息使得它们杂凑到同一个值是计算上不可行的。
国标商密算法
国标商密算法
国标商密算法是指中国国家密码管理局制定的商用密码算法。
该算法主要用于保护商业机密和个人隐私信息的安全。
国标商密算法包括了多种密码算法,如SM1、SM2、SM3、SM4等。
- SM1是一种对称密码算法,用于数据的加密和解密,可以保护商业机密数据的安全传输。
- SM2是一种非对称密码算法,用于数字签名和密钥交换,可以保护个人隐私信息的安全传输。
- SM3是一种密码杂凑算法,用于对数据进行哈希计算,可以保护数据的完整性和防止篡改。
- SM4是一种分组密码算法,用于数据的加密和解密,可以保护商业机密数据的安全传输。
国标商密算法采用了先进的密码技术和安全性设计,经过了严格的安全评估和认证。
它不仅满足了商业机密和个人隐私信息的安全需求,还具有高效性和可靠性的特点。
国密算法介绍
国密算法介绍
一、总体介绍
1、国密即国家密码局认定的国产密码算法。
主要有SM1,SM2,SM3,SM4。
密钥长度和分组长度均为 128 位。
2、SM1 为对称加密,其加密强度与 AES 相当。
该算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。
3、SM2 为非对称加密,基于ECC。
该算法已公开。
由于该算法基于ECC,故其签名速度与秘钥生成速度都快于RSA。
ECC 256位(SM2 采用的就是 ECC 256 位的一种)安全强度比 RSA 2048 位高,但运算速度快于RSA。
4、SM3 消息摘要。
可以用 MD5 作为对比理解。
该算法已公开。
校验结果为 256 位。
5、SM4 无线局域网标准的分组数据算法。
对称加密,密钥长度和分组长度均为128位。
二、SM2
1、SM2 算法和 RSA 算法比较
SM2 性能更优更安全:密码复杂度高、处理速度快、机器性能消耗更小。
2、生成 SM2 私钥
openssl ecparam -genkey -name SM2 -out priv.key
3、生成 SM2 公钥
openssl ec -in priv.key -pubout -out
pub.key (SAW:Game Over!)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
国家商用密码算法简介密码学是研究编制密码和破译密码的技术科学,起源于隐秘消息传输,在编码和破译中逐渐发展起来。
密码学是一个综合性的技术科学,与语言学、数学、电子学、声学、信息论、计算机科学等有着广泛而密切的联系。
密码学的基本思想是对敏感消息的保护,主要包括机密性,鉴别,消息完整性和不可否认性,从而涉及加密,杂凑函数,数字签名,消息认证码等。
一.密码学简介密码学中应用最为广泛的的三类算法包括对称算法、非对称算法、杂凑算法。
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)给定杂凑函数的描述,找到两个不同的输入消息杂凑到同一个值是计算上不可行的,或给定杂凑函数的描述和一个随机选择的消息,找到另一个与该消息不同的消息使得它们杂凑到同一个值是计算上不可行的。
杂凑函数主要用于完整性校验和提高数字签名的有效性,目前已有很多方案。
这些算法都是伪随机函数,任何杂凑值都是等可能的。
输出并不以可辨别的方式依赖于输入;在任何输入串中单个比特的变化,将会导致输出比特串中大约一半的比特发生变化。
二.商用密码算法为了保障商用密码安全,国家商用密码管理办公室制定了一系列密码标准,包括SSF33、SM1(SCB2)、SM2、SM3、SM4、SM7、SM9、祖冲之密码算法那等等。
其中SSF33、SM1、SM4、SM7、祖冲之密码是对称算法;SM2、SM9是非对称算法;SM3是哈希算法。
目前已经公布算法文本的包括祖冲之序列密码算法、SM2椭圆曲线公钥密码算法、SM3密码杂凑算法、SM4分组密码算法等。
2.1 SM1对称密码SM1 算法是分组密码算法,分组长度为128位,密钥长度都为128 比特,算法安全保密强度及相关软硬件实现性能与AES 相当,算法不公开,仅以IP 核的形式存在于芯片中。
采用该算法已经研制了系列芯片、智能IC 卡、智能密码钥匙、加密卡、加密机等安全产品,广泛应用于电子政务、电子商务及国民经济的各个应用领域(包括国家政务通、警务通等重要领域)。
2.2 SM2椭圆曲线公钥密码算法SM2算法就是ECC椭圆曲线密码机制,但在签名、密钥交换方面不同于ECDSA、ECDH等国际标准,而是采取了更为安全的机制。
另外,SM2推荐了一条256位的曲线作为标准曲线。
ECC椭圆曲线密码体制Koblitz和Miller在1985年各自引入密码学。
椭圆曲线的Weierstrass方程为23213246y a xy a y x a x a x a++=+++,其上面的所有点和无穷远点构成一个加法交换群,其中无穷远点是加法零元。
此群的加法法则可以由弦切法所给出,具体见下图。
左图中是两个不同点P和Q的加法,右图为相同的点P和P的加法。
由弦切法便可以给出椭圆曲线上的加法方程。
多倍点运算是指:给定一点P和一个整数k,计算kP,即k个P点的和。
椭圆曲线上的离散对数问题为:给定点P和kP,计算整数k。
椭圆曲线密码体制的安全性便是建立在椭圆曲线离散对数问题之上。
SM2标准包括总则,数字签名算法,密钥交换协议,公钥加密算法四个部分,并在每个部分的附录详细说明了实现的相关细节及示例。
SM2算法主要考虑素域p F 和2m F 上的椭圆曲线,分别介绍了这两类域的表示,运算,以及域上的椭圆曲线的点的表示,运算和多倍点计算算法。
然后介绍了编程语言中的数据转换,包括整数和字节串,字节串和比特串,域元素和比特串,域元素和整数,点和字节串之间的数据转换规则。
详细说明了有限域上椭圆曲线的参数生成以及验证,椭圆曲线的参数包括有限域的选取,椭圆曲线方程参数,椭圆曲线群基点的选取等,并给出了选取的标准以便于验证。
最后给出椭圆曲线上密钥对的生成以及公钥的验证,用户的密钥对为(s ,sP ),其中s 为用户的私钥,sP 为用户的公钥,由于离散对数问题从sP 难以得到s ,并针对素域和二元扩域给出了密钥对生成细节和验证方式。
总则中的知识也适用于SM9算法。
在总则的基础上给出了数字签名算法(包括数字签名生成算法和验证算法),密钥交换协议以及公钥加密算法(包括加密算法和解密算法),并在每个部分给出了算法描述,算法流程和相关示例。
数字签名算法适用于商用应用中的数字签名和验证,可满足多种密码应用中的身份认证和数据完整性,真实性的安全需求。
密钥交换协议适用于商用密码应用中的密钥交换,可满足通信双方经过两次或可选三次信息传递过程,计算获取一个由双方共同决定的共享秘密密钥(会话秘钥)。
公钥加密算法适用于国家商用密码应用中的消息加解密,消息发送者可以利用接收者的公钥对消息进行加密,接收者用对应的私钥进行解,获取消息。
数字签名算法,密钥交换协议以及公钥加密算法都使用了国家密管理局批准的SM3密码杂凑算法和随机数发生器。
数字签名算法,密钥交换协议以及公钥加密算法根据总则来选取有限域和椭圆曲线,并生成密钥对,具体算法,流程和示例见SM2标准。
SM2算法和RSA 、对称算法等强度对比如下。
保密级别对称密钥长度 RSA 密钥长度 ECC 密钥长度 保密年限 8080 1024 160 2010 112112 2048 224 2030 128128 3072 256 2040 192192 7680 384 2080 256256 15360 512 21202.3 SM3杂凑算法SM3密码杂凑算法给出了杂凑函数算法的计算方法和计算步骤,并给出了运算示例。
此算法适用于商用密码应用中的数字签名和验证,消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。
在SM2,SM9标准中使用。
此算法对输入长度小于2的64次方的比特消息,经过填充和迭代压缩,生成长度为256比特的杂凑值,其中使用了异或,模,模加,移位,与,或,非运算,由填充,迭代过程,消息扩展和压缩函数所构成。
具体算法及运算示例见SM3标准。
2.4 SM4对称算法此算法是一个分组算法,用于无线局域网产品。
该算法的分组长度为128比特,密钥长度为128比特。
加密算法与密钥扩展算法都采用32轮非线性迭代结构。
解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。
此算法采用非线性迭代结构,每次迭代由一个轮函数给出,其中轮函数由一个非线性变换和线性变换复合而成,非线性变换由S盒所给出。
具体流程图如下:rk为轮密钥,合成置换T组成轮函数。
轮密钥的产生与上图流程类似,由加密密钥作为输其中i入生成,轮函数中的线性变换不同,还有些参数的区别。
SM4算法的具体描述和示例见SM4标准。
2.5 SM7对称密码SM7算法,是一种分组密码算法,分组长度为128 比特,密钥长度为128 比特。
SM7的算法文本目前没有公开发布。
SM7适用于非接IC卡应用包括身份识别类应用(门禁卡、工作证、参赛证),票务类应用(大型赛事门票、展会门票),支付与通卡类应用(积分消费卡、校园一卡通、企业一卡通、公交一卡通)。
2.6 SM9非对称算法SM9是基于对的标识密码算法,与SM2类似,包含四个部分:总则,数字签名算法,密钥交换协议以及密钥封装机制和公钥加密算法。
在这些算法中使用了椭圆曲线上的对这一个工具,不同于传统意义上的SM2算法,可以实现基于身份的密码体制,也就是公钥与用户的身份信息即标识相关,从而比传统意义上的公钥密码体制有许多优点,省去了证书管理等。
密码中双线性对12:T e G G G ´®满足如下条件:双线性性:对任意的1P G Î,2Q G Î,以及,N a b Z Î,有(,)(,)ab e aP bQ e P Q =;非退化性:(,)1e P Q ¹,其中P 为1G 的生成元,Q 为2G 的生成元;可计算性:存在有效的算法计算(,)e P Q 。
其中1G ,2G 为椭圆曲线上的加法群,而T G 为有限域的乘法群。
在椭圆曲线对中,根据1G 与2G 是否关系,以及椭圆曲线上的自同态,可以将对分成三种类型,需要考虑在超奇异椭圆曲线,常椭圆曲线上来选取对。
常用的对有Weil 对,Tate 对,Ate 对,以及最优对等。
基于对的标识密码算法建立在一些对的难解问题,例如双线性Diffie-Hellman 问题,双线性逆DH 问题等。
椭圆曲线上的双线性对为*:()[]()/()k k k kq q q q e E F r E F rE F F ´® 其中k 为()q E F 的嵌入次数。
双线性对的双线性的性质是基于对的标识密码算法的基础。
SM2中的总则部分同样适用于SM9,由于SM9总则中添加了适用于对的相关理论和实现基础。
椭圆曲线双线性对定义和计算在扩域上进行,总则中给出了扩域的表示和运算,考虑m p F 和3m F 上的椭圆曲线。
数据类型转换同样包括整数与字节串,比特串和字节串,字节串和域元素,点和字节串之间的转换,其中字节串和域元素之间的数据类型转换涉及到扩域。
系统参数的生成比SM2复杂,涉及到对的相关参数,验证也相应地复杂。
并在附录B 里面详细地描述了计算对的算法Miller 算法,并给出了Tate 对,Ate 的计算,以及适合对的椭圆曲线的生成。
基于总则中的椭圆曲线以及对的基本选取,给出系统参数组,系统主密钥和用户密钥的产生。
用户密钥由系统的主密钥和用户标识共同产生。
SM9给出了数字签名算法(包括数字签名生成算法,数字签名验证算法),密钥交换协议,以及密钥封装机制和公钥加密算法(包括密钥封装算法,加密盒解密算法)。