百度网站推广怎么样,wordpress编辑文章怎么开头空两行,cms影视系统,楼市房价最新消息hi#xff0c;大家好#xff0c;我是开发者FTD。今天我们来介绍一下我们国家密码局制定的加密算法 — 国密算法。
为什么要制定国密算法#xff1f;
密码算法是保障信息安全的核心技术#xff0c;尤其是我国最关键的银行业核心领域长期以来都是沿用MD5、3DES、SHA-256、R…hi大家好我是开发者FTD。今天我们来介绍一下我们国家密码局制定的加密算法 — 国密算法。
为什么要制定国密算法
密码算法是保障信息安全的核心技术尤其是我国最关键的银行业核心领域长期以来都是沿用MD5、3DES、SHA-256、RSA等这些国际通用的密码算法体系及相关标准。
随着金融安全上升到国家安全高度近年来国家有关机关和监管机构站在国家安全和长远战略的高度提出了推动国密算法应用实施、加强行业安全可控的要求。摆脱对国外技术和产品的过度依赖建设行业网络安全环境增强我国行业信息系统的“安全可控”能力显得尤为必要和迫切。
2010年底国家密码管理局公布了我国自主研制的“椭圆曲线公钥密码算法”SM2算法。为保障重要经济系统密码应用安全国家密码管理局于2011年发布了《关于做好公钥密码算法升级工作的通知》要求“自2011年3月1日起在建和拟建公钥密码基础设施电子认证系统和密钥管理系统应使用SM2算法。自2011年7月1日起投入运行并使用公钥密码的信息系统应使用SM2算法。”
国密算法简介
国产密码算法国密算法是指国家密码局认定的国产商用密码算法主要有SM1SM2SM3SM4密钥长度和分组长度均为128位。在金融领域目前主要使用公开的SM2、SM3、SM4三类算法分别是非对称加密算法、哈希算法和对称加密算法。
SM1 算法
SM1 为对称加密算法其加密强度与AES相当。该算法不公开调用该算法时需要通过加密芯片的接口进行调用。 采用该算法已经研制了系列芯片、智能IC卡、智能密码钥匙、加密卡、加密机等安全产品广泛应用于电子政务、电子商务及国民经济的各个应用领域包括国家政务通、警务通等重要领域。
SM2 算法
SM2 为非对称加密基于ECC。该算法已公开。由于该算法基于ECC故其签名速度与秘钥生成速度都快于RSA。ECC 256位SM2采用的就是ECC 256位的一种安全强度比RSA 2048位高但运算速度快于RSA。
SM2椭圆曲线公钥密码算法是我国自主设计的公钥密码算法包括SM2-1椭圆曲线数字签名算法SM2-2椭圆曲线密钥交换协议SM2-3椭圆曲线公钥加密算法分别用于实现数字签名密钥协商和数据加密等功能。SM2算法与RSA算法不同的是SM2算法是基于椭圆曲线上点群离散对数难题相对于RSA算法256位的SM2密码强度已经比2048位的RSA密码强度要高。
SM3 算法
SM3杂凑算法是我国自主设计的密码杂凑算法适用于商用密码应用中的数字签名和验证消息认证码的生成与验证以及随机数的生成可满足多种密码应用的安全需求。为了保证杂凑算法的安全性其产生的杂凑值的长度不应太短例如MD5输出128比特杂凑值输出长度太短影响其安全性。SHA-1算法的输出长度为160比特SM3算法的输出长度为256比特因此SM3算法的安全性要高于MD5算法和SHA-1算法。
SM4 算法
SM4 无线局域网标准的分组数据算法。
SM4分组密码算法是我国自主设计的分组对称密码算法用于实现数据的加密/解密运算以保证数据和信息的机密性。要保证一个对称密码算法的安全性的基本条件是其具备足够的密钥长度SM4算法与AES算法具有相同的密钥长度分组长度128比特因此在安全性上高于3DES算法。
由于SM1、SM4加解密的分组大小为128bit故对消息进行加解密时若消息长度过长需要进行分组要消息长度不足则要进行填充。
国际算法和国密算法的区别
分组密码算法——国际DES国产SM4
分组密码就是将明文数据按固定长度进行分组然后在同一密钥控制下逐组进行加密从而将各个明文分组变换成一个等长的密文分组的密码。其中二进制明文分组的长度称为该分组密码的分组规模。
分组密码的实现原则如下
实现起来必须比较简单加密和解密都十分容易适合硬件和(或)软件实现。加脱密速度和所消耗的资源和成本较低能满足具体应用范围的需要。
分组密码的设计基本遵循混淆原则和扩散原则。
混淆原则就是将密文、明文、密钥三者之间的统计关系和代数关系变得尽可能复杂使得破解人即使获得了密文和明文也无法求出密钥的任何信息即使获得了密文和明文的统计规律也无法求出明文的任何信息。
扩散原则就是应将明文的统计规律和结构规律散射到相当长的一段统计中去。也就是说让明文中的每一位影响密文中的尽可能多的位或者说让密文中的每一位都受到明文中的尽可能多位的影响。
DES 算法
DES算法是在美国NSA(国家安全局)资助下由IBM公司开发的密码算法其初衷是为政府非机密的敏感信息提供较强的加密保护。它是美国政府担保的第一种加密算法并在1977年被正式作为美国联邦信息处理标准。DES主要提供非军事性质的联邦政府机构和私营部门使用并迅速成为名声最大使用最广的商用密码算法。
SM4 算法
2006年我国公布了无限局域网产品使用的SM4密码算法。这是我国第一次公布自己的商用密码算法。
国际的DES算法和国产的SM4算法的目的都是为了加密保护静态储存和传输信道中的数据主要特性如下
DES 算法SM4 算法计算基础二进制二进制算法结构使用标准的算术和逻辑运算先替代后置换不含非线性变换基本轮函数加迭代含非线性变换加解密算法是否相同是是计算轮数16轮3DES 为 16轮 * 332轮分组长度64位128位密钥长度64位3DES 为128位128位有效密钥长度56位3DES 为112位128位实现难度易于实现易于实现实现性能软件实现满硬件实现快软件实现和硬件实现都快安全性较低3DES 较高算法较新还未经过现实检验
从算法上看国产SM4算法在计算过程中增加非线性变换理论上能大大提高其算法的安全性并且由专业机构进行了密码分析民间也对21轮SM4进行了差分密码分析结论均为安全性较高。
公钥密码算法——国际RSA国产SM2
公钥密码学与其他密码学完全不同使用这种方法的加密系统不仅公开加密算法本身也公开了加密用的密钥。
公钥密码系统与只使用一个密钥的对称传统密码不同算法是基于数学函数而不是基于替换和置换。公钥密码学是非对称的它使用两个独立的密钥即密钥分为公钥和私钥因此称双密钥体制。双钥体制的公钥可以公开因此称为公钥算法。
公钥算法的出现给密码的发展开辟了新的方向。公钥算法虽然已经历了20多年的发展但仍具有强劲的发展势头在鉴别系统和密钥交换等安全技术领域起着关键的作用。
公钥算法的加密与解密由不同的密钥完成并且从加密密钥得到解密密钥在计算上是不可行的。通常公钥算法的两个密钥中任何一个都可以作为加密而另一个用作解密但不是所有的公钥算法都是如此。
RSA 算法
RSA算法由Rivest、Shamir、Adleman于1978年首次发表是迄今为止最容易理解和实现的公钥算法已经受住了多年深入的攻击其理论基础是一种特殊的可逆模幂运算其安全性基于分解大整数的困难性。
RSA算法既可用于加密又可用于数字签名已得到广泛采用并被许多标准化组织(如ISO、ITU、IETF和SWIFT等)接纳。目前许多国家标准仍采用RSA算法或它的变型。
SM2 算法
SM2算法由国家密码管理局于2010年12月17日发布全称为椭圆曲线算法。 椭圆曲线并不是椭圆之所以称为椭圆曲线是因为它们是用三次方程来表示的并且该方程与计算椭圆周长的方程相似。
现今对椭圆曲线研究的时间短经过许多优秀的数学家的努力至今一直没有找到亚指数级算法。正是由于目前所知求解ECDLP的最好方法是指数级的这使得我们选用SM2算法作加解密及数字签名时所要求的密钥长度比RSA要短得多。
国际的RSA算法和国产的SM2算法的主要特性对比如下
RSA 算法SM2 算法计算结构基于特殊的可逆模幂运算基于椭圆曲线计算复杂度亚指数级完全指数级相同的安全性能下所需公钥位数较多较少160位的SM2与1024位的RSA具有相同的安全等级密钥生成速度慢较RSA算法快百倍以上加解密速度一般较快安全性难度基于分解大整数的难度基于离散对数问题ECDLP数学难题
摘要算法——国际MD5、SHA256国产SM3
摘要函数在密码学中具有重要的地位被广泛应用在数字签名消息认证数据完整性检测等领域。摘要函数通常被认为需要满足三个基本特性碰撞稳固性原根稳固性和第二原根稳固性。
2005年,Wang等人给出了MD5算法和SHA-1算法的碰撞攻击方法现今被广泛应用的MD5算法和SHA-1算法不再是安全的算法。
SM3密码摘要算法是中国国家密码管理局2010年公布的中国商用密码杂凑算法标准。SM3算法适用于商用密码应用中的数字签名和验证是在SHA-256基础上改进实现的一种算法。SM3算法采用Merkle-Damgard结构消息分组长度为512位摘要值长度为256位。
SM3算法的压缩函数与SHA-256的压缩函数具有相似的结构但是SM3算法的设计更加复杂比如压缩函数的每一轮都使用2个消息字。
现今为止SM3算法的安全性相对较高。
国密算法的应用
商用密码的应用领域十分广泛主要用于对不涉及国家秘密内容但又具有敏感性的内部信息、行政事务信息、经济信息等进行加密保护。比如商用密码可用于企业门禁管理、企业内部的各类敏感信息的传输加密、存储加密防止非法第三方获取信息内容也可用于各种安全认证、网上银行、数字签名等。
例如在门禁应用中采用SM1算法进行身份鉴别和数据加密通讯实现卡片合法性的验证保证身份识别的真实性。 安全是关系国家、城市信息、行业用户、百姓利益的关键问题。国家密码管理局针对现有重要门禁系统建设和升级改造应用也提出指导意见加强芯片、卡片、系统的标准化建设。截止目前国密门禁系统的升级的案例也逐渐增多基于自主国产知识产权的CPU卡、CPU卡读写设备及密钥管理系统广泛受到关注。一些厂商如同方锐安在2009年推出CPU卡安全门禁系列产品在2010年北京安博会上该公司再次向业界展示出“御”系列CPU卡门禁系统、TF-DF6000系列安全门禁读卡器以及基于CPU卡技术的一卡通系统等主流产品和系统。这些厂商是全国推广的国密门禁产品的先驱者使“御”系列CPU卡门禁系统广泛应用于政府、监狱、司法、军工企业和大型公共智能建筑等高安全领域。
总结
由于国密算法是国家密码局钦定的加密算法目前已经逐渐在金融行业开始广泛使用了相信在以后的应用中我们会越来越经常的看到国密算法的身影。大家在以后的学习工作中也需要对国密算法有一定的了解才能在需要用到的时候能快速的掌握它。
参考
1国密算法概述
2关于国密算法 SM1SM2SM3SM4 的笔记
技术人技术魂每天肝一篇技术文ヾ(◍°∇°◍)哈哈~
关于作者 GitHubhttps://github.com/ForTheDevelopers 掘金https://juejin.cn/user/1204720472953022/posts CSDNhttps://blog.csdn.net/ForTheDevelopers segmentfaulthttps://segmentfault.com/u/for_the_developers
联系作者 微信号ForTheDeveloper 公众号ForTheDevelopers