在线客服:
雷竞技在线官网进入 雷竞技在线官网进入
全国服务热线:4009-627-020
您的位置:首页 > 雷竞技在线官网注册

国产公开密码算法

发布时间:2022-10-06 05:12:56 来源:雷竞技在线官网进入 作者:雷竞技在线官网注册
       

  国产密码算法是指由国家密码研究相关机构自主研发具有相关知识产权的商用密码算法。为了保障商用密码安全国家商用密码管理办公室制定了一系列密码标准包括SSF33、SM1分组密码算法SCB2、SM2椭圆曲线标识密码算法、祖冲之密码算法

  SM1是由国家密码管理局编制的一种商用密码分组标准对称算法分组长度和密钥长度均为128位算法的安全保密强度及相关软硬件实现性能与AES算法相当目前该算法尚未公开仅以IP核的形式存在于芯片中调用该算法时需要通过加密芯片的接口进行调用。

  SM2算法是国家密码据于2010年12月17日发布的国密标准椭圆曲线c;是一种基于ECC算法的非对称加密算法SM2椭圆曲线公钥密码算法是我国自主设计的公钥密码算法包括SM2-1椭圆曲线数字签名算法SM2-2椭圆曲线密钥交换协议SM2-3椭圆曲线公钥加密算法分别用于实现数字签名密钥协商和数据加密等功能。SM2算法与RSA算法不同的是SM2算法是基于椭圆曲线上点群离散对数难题对于一般椭圆曲线的离散对数问题目前只存在指数级计算复杂度的求解方法。与大数分解问题及有限域上离散对数问题相比椭圆曲线离散对数问题的求解难度要大得多。因此在相同安全程度要求下椭圆曲线密码较其他公钥密码所需的秘钥规模要小得多。相对于RSA算法256位的SM2密码强度已经比2048位的RSA密码强度要高。其加密强度为256位密钥长度短安全程度高可用于数字签名、密钥交换、公钥加密。

  SM3是我国采用的一种密码散列函数标准由国家密码管理局于2010年12月17日发布。相关标准为“GM/T 0004-2012 《SM3密码杂凑算法》”。据国家密码管理局表示其安全性及效率与SHA-256相当也叫密码杂凑算法属于哈希摘要算法的一种功能与MD5SHA-1相同。对长度小于264比特的消息m经过填充、压缩生成256位杂凑值和SM2算法一起被公布该算法位不可逆的算法。在商用密码体系中SM3主要用于数字签名及验证、消息认证码生成及验证、随机数生成等可满足多种密码应用的安全需求算法已公开。

  SM4是国家密码管理局发布的分组密码算法于2012年3月正式公布。与DES和AES算法类似SM4是一种分组密码算法。其分组长度为128bit密钥长度也为128bit。SM4算法加/解密算法是对合运算只是使用轮密钥相反其中解密轮密钥是加密轮密钥的逆序。加密算法与密钥扩展算法均采用32轮非线;Feistel以字32位为单位进行加密运算每一次迭代运算均为一轮变换函数F。目前主要用于无线局域网产品。

  SM7是一种分组密码算法分组长度为128比特密钥长度为128比特。SM7适用于非接IC卡应用包括身份识别类应用门禁卡、工作证、参赛证票务类应用大型赛事门票、展会门票支付与通卡类应用积分消费卡、校园一卡通、企业一卡通、公交一卡通。SM7算法目前没有公开发布。

  SM9是标识密码算法与SM2类似包含四个部分总则数字签名算法密钥交换协议以及密钥封装机制和公钥加密算法。在这些算法中使用了椭圆曲线上的对这一个工具不同于传统意义上的SM2算法可以实现基于身份的密码体制也就是公钥与用户的身份信息即标识相关从而比传统意义上的公钥密码体制有许多优点省去了证书管理等。SM9可支持实现公钥加密、密钥交换、数字签名等安全功能。

  ZUC算法,又称祖冲之算法,是3GPP(3rdGenerationPartnershipProject)机密性算法EEA3和完整性算法EIA3的核心,是由中国自主设计的加密算法。2009年5月ZUC算法获得3GPP安全算法组SA立项,正式申请参加3GPPLTE第三套机密性和完整性算法标准的竞选工作。历时两年多的时间,ZUC算法经过包括3GPPSAGE内部评估,两个邀请付费的学术团体的外部评估以及公开评估等在内的3个阶段的安全评估工作后,于2011年9月正式被3GPPSA全会通过,成为3GPPLTE第三套加密标准核心算法。

  ZUC算法是中国第一个成为国际密码标准的密码算法。其标准化的成功,是中国在商用密码算法领域取得的一次重大突破,体现了中国商用密码应用的开放性和商用密码设计的高能力,其必将增大中国在国际通信安全应用领域的影响力,且今后无论是对中国在国际商用密码标准化方面的工作还是商用密码的密码设计来说都具有深远的影响。

  祖冲之算法集是由我国学者自主设计的加密和完整性算法包括祖冲之算法、加密算法128-EEA3和完整性算法128-EIA3已经被国际组织3GPP推荐为4G无线通信的第三套国际加密和完整性标准的候选算法。ZUC 算法本质上是一种非线性序列产生器。由此在种子密钥的作用下可以产生足够长的安全密钥序列。把与密钥序列晓文数据模 2 相加便完成了数据加密。同样把密钥序列与密文数据模 2 相加便完成了数据解密。

  由国家密码管理部门制订规范不存在不可公开的密码保证无国外可利用的后门。目前认为在国内被非常广泛使用的RSA 1024位算法不再安全国家密码管理局下达了通知自2011年7月1日起投入运行并使用公钥密码的信息系统应使用SM2椭圆曲线密码算法。根据要求安全产品如密码机采用的加密算法均应为国密算法搞好这几个算法可以去密码售前、密码测评之类的工作。

  学习国产密码算法必备国家密码管理局发布的文档非常详细附带示例具体下载链接

  国家密码管理局关于发布《SM2椭圆曲线公钥密码算法》公告国密局公告第21号_国家密码管理局

  国家密码管理局关于发布《SM3密码杂凑算法》公告国密局公告第22号_国家密码管理局

  分组密码就是将明文数据按固定长度进行分组然后在同一密钥控制下逐组进行加密从而将各个明文分组变换成一个等长的密文分组的密码。其中二进制明文分组的长度称为该分组密码的分组规模。

  (1)必须实现起来比较简单知道密钥时加密和脱密都十分容易适合硬件和(或)软件实现.

  (2)加脱密速度和所消耗的资源和成本较低能满足具体应用范围的需要。

  国际的DES算法和国产的SM4算法的目的都是为了加密保护静态储存和传输信道中的数据主要特性如下

  从算法上看国产SM4算法在计算过程中增加非线c;理论上能大大提高其算法的安全性并且由专业机构进行了密码分析民间也对21轮SM4进行了差分密码分析结论均为安全性较高。

  SM2性能更优更安全密码复杂度高、处理速度快、机器性能消耗更小。SM2算法与RSA算法一样同属于非对称算法体系但与RSA算法不同的是RSA算法是基于大整数分解数学难题SM2算法是基于椭圆曲线上点群离散对数难题。

  1、现在很多行业在推密码国产化密码国产化的好处于坏处是什么

  国产密码算法是保障我国网络安全自主可控的重要基础。目前我国也在大力推广国密算法的应用并取得很好的成效。

  《关于金融领域密码应用指导意见》、《金融和重要领域密码应用与创新发展工作规划2018-2022》都对金融及重要领域提出了国密算法应用要求。国家在金融领域启动国产密码算法试点工作以来国家发改委启动了金融领域安全IC卡及密码关键产品专项支持工作积极推动产业链发展。

  目前支持国密算法的软硬件密码产品包括SSL网关、数字证书认证系统、密钥管理系统、金融数据加密机、签名验签服务器、智能密码钥匙、智能IC卡、PCI密码卡等多种类型。但常用的操作系统、浏览器、网络设备、负载均衡设备等软硬件产品仍然不支持国产密码算法受到国密算法兼容性的制约在HTTPS加密应用方面呢国密算法的应用仍然比较滞后。

  虽然我国已经有相关厂商进行国密SSL证书的应用尝试也有浏览器厂商推出支持国密算法的浏览器版本但是不同厂商对国密标准和SSL协议标准的理解存在一定差异在实际应用中仅在SSL证书、浏览器的联调测试阶段就已经遇到重重困难无法做到国密算法全生态互联互通的HTTPS加密应用实施范围也受到很大的限制。

  推动国密算法应用于HTTPS加密认证必须兼顾国密算法合规性及全球通用性只有建立一个完整的全生态支持体系才能真正达到实用的水平。针对浏览器、操作系统等常用软件环境不支持SM2算法体系的问题沃通CA提出一种同时兼容国密SM2算法和RSA算法的HTTPS加密应用方案既支持国密HTTPS加密同时兼容全球常用浏览器。

  建立支持国密算法的基础软件产品应用生态体系确保国密算法HTTPS加密能够全生态无缝应用。沃通CA提供国密SSL证书产品以及支持国密算法的密信浏览器、服务器软件国密支持模块等国密应用产品建立从浏览器、服务器端到数字证书的国密算法HTTPS全生态支持体系让国密算法能够在HTTPS加密认证方面全生态无缝应用。

  结合SM2算法和RSA算法的优点提出了一种新的“SM2/RSA”双证书、双算法HTTPS加密应用模式。在国密SSL支持模块上同时部署SM2/RSA双SSL证书服务器软件自动识别浏览器与支持国密算法的浏览器采用国密算法加密与不支持国密算法的常用浏览器采用RSA算法加密既保证国密算法的无缝应用同时兼容全球主流应用环境确保国密算法HTTPS网站系统的兼容性和可用性。目前采用沃通双证书服务可同时兼容360浏览器、密信浏览器、红莲花浏览器等支持国密算法的浏览器以及Chrome、火狐、Safari等不支持国密算法的全球通用浏览器。

  目前这套解决方案已经成熟落地沃通CA已经联合全国17家CA机构在各省市成功应用国密HTTPS加密解决方案覆盖政务服务网、住房公积金管理中心、公安机关、公共服务机构、教育机构等多个领域。

  时,需要通过加密芯片的接口进行调用。 SM2为非对称加密,基于ECC。该

  基于ECC,故其签名速度与秘钥生成速度都快于RSA。ECC 256位(SM2采用的就是ECC 256位的一种)...

  软件实现、软件密码产品等)已经成为必不可少的密码产品形态。相比于硬件形式的密码产品,

  随着我国商用密码技术的应用推广国产密码算法软件引擎或者称为密码算法软件模块、密码算法软件实现、软件密码产品等已经成为必不可少的密码产品形态。相比于硬件形式的密码产品密码算法软件引擎具有更好的适用性和灵活性、更低的成本然而密码算法软件引擎也面临着更大的技术挑战。

  本文分析了国产密码算法软件引擎面临的主要安全挑战随机数发生器和密钥安全。相比美国 NIST 的随机数发生器标准体系我国的相关标准尚未完善仍然需要不少工作。密码软件引擎运行在不完全可信的通用计算机软硬件环境上密钥数据面临着各种攻击包括系统软件攻击和物理攻击等。

  在各种计算机系统上各种漏洞和攻击层出不穷设计密钥安全方案、保护密钥数据也是困难重重。由于随机数发生器的标准体系尚未建立、密钥数据的安全技术挑战并未完全解决有效开展国产密码算法软件引擎的安全检测也存在着明显的困难。在密码算法软件引擎的检测过程中需要对软硬件运行环境设定合理的假设进而检测密码算法软件引擎是否在该假设前提下产生不可预测的随机数和有效地保护密钥数据。

  密码技术是网络空间安全的重要基础在计算机和网络系统中发挥了不可替代的安全作用。推广国产密码技术、应用商用密码算法 是建设我国网络空间安全基础设施的必要措施之一。全面推广国产密码技术、深入应用商用密码算法有如下三方面工作需要完成

  1密码算法标准化。目前我国已经制定并公开发布了完整的密码算法体系分组密码算法 SM4、流密码算法 ZUC、杂凑算法 SM3、公钥密码算法 SM2包括加解密、数字签名和密钥协商和标识密码算法 SM9。而且其中部分密码算法已经成为国际标准。

  2制定配套的密码应用标准。在数字证书、通信协议、应用接口等方面形成配套标准 实现商用密码应用标准体系。

  3形成多元化的密码产品生态。各种不同形式的硬件、固件和软件密码产品满足应用系统的不同需求尤其是软件密码产品更具有技术灵活性、实施部署更容易在成本上也更具优势。

  在商用密码算法和密码应用标准方面我国已经发展多年。然而在密码产品多元化方面 一方面由于历史原因我国商用密码长久以来只支持合规的硬件产品近年来合格软件密码产品已经开放、但是软件密码产品发展仍然较弱另一方面也由于软件密码产品面临着更大的技术挑战尤其是密钥安全所以在软件密码产品或者称为软件密码引擎、密码算法软件模块方面还有更多的技术难题需要克服。

  从密码学基本原理出发密码算法公开 密码产品最重要的、最需要保护的数据就是密钥以及各种敏感参数。按照 GM/T 0028《密码模块安全技术要求》和 GM/T 0039《密码模块安全检测要求》密码模块尤其需要确保关键安全参数和敏感参数的安全其中最重要的参数就是密钥。密码算法的密钥以及各种敏感参数例如IV 和 Nonce 等通常都是由随机数产生获取另一方面确定性随机数发生器也通常是带有密钥的密码功能模块二者相互联系、密不可分。

  相比于硬件形式的常见密码算法实现例如密码机、密码卡、USB 令牌等密码软件引擎面临着更大的安全挑战。首先密码算法软件引擎通常运行在常规的计算机系统或移动智能终端上这一类设备不带有专用的随机数发生器芯片密码算法软件引擎必须自己实现随机数发生器。其次因为密码软件引擎与其他功能的软件共享操作系统等软硬件运行环境由于各种应用功能的要求千变万化必然会导致操作系统功能复杂、运行环境接口繁多 就可能会引入更多的计算机软件漏洞和攻击威胁。所以密码软件引擎在实现灵活、成本低廉、易于实施的同时又成为安全挑战最大的密码实现。

  随机数发生器是各种密码计算参数的来源 包括密钥、初始化向量、随机填充值等应该具备足够随机性即信息熵、从而确保攻击者不可预测。在计算机系统中如何利用外界环境的不确定因素即熵源构造不可预测的、高速的随机数发生器已有大量的相关研究 美国 NIST 也在这一方面形成了较为完善的技术标准体系。下文逐一展开介绍。

  Linux 内核也带有了随机数发生器软件实现并且在很多密码软件引擎中使用。然而必须要看到即使是美国 NIST 制定多年的随机数发生器系列标准也仍然不时有安全问题披露同时 即使是被大量使用的、公开源代码的随机数发生器软件实现也时有安全漏洞出现 。

  首先SP 800-90A 描述了多种确定性随机数发生器的算法其基本原理是发生器维护密钥和内部状态间断地从外部获得熵源输入计算输出随机数。SP 800-90B 是 DRBG 随机数发生器的熵分析用于评估和分析外部输入的熵源。SP 800-90C 是随机数发生器的系统构造给出 NRBG、DRBG 和熵源以及在线检测部件的多种组成方式形成实际使用的随机数发生器。其次随机数发生器主要是 NRBG输出的随机数序列可使用 SP 800-22 标准给出的多项统计检测方法来进行检测判断其随机性优劣。最后SP 800-108 给出了使用伪随机数函数来实现密钥派生的多种方法。

  下文结合现实的软件随机数发生器安全漏洞、分析讨论随机数发生器标准及其使用的问题。根据 Snowden 报告以及大量相关研究在SP 800-90A 标准 2006 版所包括的 Dual EC 算法中美国 NSA 植入后门、可以预测使用该算法的随机数发生器输出 [5-8]SP 800-90A 标准 2014版去掉了 Dual EC 算法。SP 800-22 标准的随机数统计检测方法、SP 800-90C 标准的熵分析方法根据中科院 DCS 中心的研究成果也存在着缺陷影响到统计检测的准确性、熵分析结果的准确性 。

  随机数发生器标准也不能完全解决现实密码算法软件引擎中的随机数问题。例如2012 年的国际研究结果表明Internet 大量网络设备的 RSA 密钥对相同或者使用了相同的素因子、导致 RSA 密钥可分解 。上述问题一方面是因为大量网络设备使用了厂商预置的、相同的默认密钥也有部分是因为随机数发生器问题虽然这些设备使用了高强度的随机数发生器但是由于网络设备的特殊性使得不同设备的随机数发生器很容易在初态一致的情况下输出随机数并用于生成密钥所以就会有相同的 RSA 素因子。类似问题也在智能IC 上也有发现。

  相比美国 NIST 制定的随机数发生器标准体系我国商用密码的随机数发生器相关标准仍有不足。国家密码管理局已经发布GM/T 0062《密码产品随机数检测要求》标准。该标准的作用大致相当于 NIST SP 800-22 标准。但是我国尚未发布随机数发生器相关的其他标准。

  总体而言相比 NIST SP-800 在随机数发生器方面的系列标准我国尚未形成体系化的、类似定位的随机数发生器系列标准。考虑到密码技术的特殊性我国没有必要照章抄袭或者模仿 NIST SP-800 的随机数发生器系列标准但是制定类似定位、发挥相同作用的商用密码系列标准是有必要的。尤其是随着密码算法软件引擎的需求日益增长我国亟需随机数发生器标准从而能够更好地引导密码算法软件引擎的随机数发生器设计。

  密码算法软件引擎运行在通用计算机平台上相比硬件形式实现不但有侧信道攻击威胁 计算机系统的各种攻击也会直接威胁到密钥数据的安全。

  在密码算法执行过程中攻击者可以通过各种方法窃取其中的密钥数据。首先侧信道攻击是密码学研究中长久以来的重要方向。在密码计算过程中当密钥比特有不同取值时 密码计算的执行会有细微差异、进而影响到可被攻击者观测到的外部状态例如功率、电磁辐射、计算时间、声音、高速缓存状态等等。不论是软件形式或者硬件形式的密码算法实现 都有侧信道攻击的威胁 。

  其次由于在计算机系统中密钥也同样表现为内存空间中的数据变量所以现有计算机系统中各种敏感数据所面临的攻击和安全问题也同样会威胁到密钥。这一类型的安全威胁大致可以分为物理攻击、软件攻击和 CPU 硬件漏洞攻击。物理攻击是指攻击者与被攻击系统有物理接触然后利用物理接触条件、非授权地读取敏感数据。最典型的物理攻击是冷启动攻击和 DMA 攻击。冷启动攻击 利用内存芯片数据的延迟消失在断电之后、内存芯片的数据仍然维持一段时间在低温情况下能够维持更长时间、甚至数小时。攻击者可以直接取出计算机系统的内存芯片放在攻击者控制的恶意计算机上读取其中的敏感数据或者在受害者计算机上插入恶意的引导介质启动之后立即读取原有的内存数据。DMA 攻击是指攻击者插入恶意外设发起 DMA 请求、绕过操作系统的访问控制直接访问内存 。

  其次各种计算机系统的软件内存漏洞 也会导致攻击者非授权地读取密钥。例如 操作系统软件漏洞会导致恶意进程绕过操作系统的内存隔离机制、读取其他进程甚至内核空间的内存数据。软件系统的正常功能也有可能导致内存数据泄露例如 Core dump 或者Crash report 就有可能使得内存中的敏感数据扩散。而且近年来有多个 CPU 硬件漏洞被披露 包括 Meltdown、Spectre、Foreshadow/L1TF 和ZombieLoad 等这些漏洞都有可能使得攻击者读取到内存中的密钥等敏感数据。

  最后密码算法软件引擎在实现中也会引入安全漏洞、导致密钥泄露。例如著名的OpenSSL 心脏出血就是因为软件引擎在处理TLS 心跳请求消息时存在缺陷收到畸形请求消息会将内存空间中随机地址的 64K 字节发送给攻击者。

  2014 年中科院 DCS 中心研究团队第一次完成了基于 CPU 高速缓存的密码算法软件实现 [24-25]在 Intel CPU 上、利用高速缓存的工作模式配置将 RSA 私钥计算限定在 CPU 高速缓存内。相比基于寄存器的密码算法软件实现高速缓存的存储空间足够大、能够支持更多类型的密码算法而且支持使用高级语言实现、不需要使用汇编实现。

  2015 年中科院DCS 中心研究团队继续提出了基于硬件事务内存的密钥安全方案使用 Intel TSX (Transactional Synchronization Extension) 硬件事务内存特性完成了密钥安全方案私钥只有在需要密码计算的时候才解密到硬件事务中、开始密码计算在此期间任何来自其他恶意线程或进程的读取访问都会导致事务回滚、密钥数据被清零。而且Intel TSX 特性利用高速缓存来存储事务中间过程的、未提交的数据所以该方案也能够保证 RSA 私钥不会出现在内存芯片有效抵抗冷启动攻击。

  近年来Intel 公司推出 SGX (Software Guard eXtension) 特性用于在不可信的操作系统和虚拟机监控器上创建执行环境该环境只依赖于 CPU 的安全特性、提供代码的完整性和数据的机密性并且能动态地执行远程证明。利用Intel SGX 特性也能够实现密码算法软件引擎 提高密钥数据的安全程度。基于 Intel SGX 特性的软件系统其安全性完全依赖于 Intel CPU 甚至操作系统、虚拟机监控器也不能得到用户软件系统代码或数据的任何信息。从另一角度而言闭源的 CPU 硬件设计和实现也会同样面临多年前对于非开源操作系统的质疑和担忧。而且针对 SGX 执行环境的有效攻击方法也不断被提出。

  对于各种不同类型的侧信道攻击可以通过安全增强的密码算法实现来防御。学术界已经对侧信道攻击防御有很长时间的研究研究成果也开始逐步应用到一些开源密码软件但是仍然值得继续扩大应用范围。尤其对于密码算法软件实现近年来出现了多种基于共享高速缓存的侧信道攻击这一类攻击在原有传统密码硬件实现中并不存在所以相同的防御技术值得继续深入研究。

  各种密码算法软件引擎的密钥安全方案应用实施都必须面对运行环境不可信的问题。

  首先作为软件程序必须在一定程度上依赖和信任操作系统和 CPU 等硬件。

  其次对操作系统和 CPU 等硬件的信任必须深入分析不能简单地用“绝对信任”和“不信任”来总结具体而言代码完整性、操作原子性、寄存器特权级别、寄存器接口访问唯一性等不同密钥安全方案对于运行环境有各不一样的要求和假设运行环境只需要满足相应条件即可以、并不是完全的绝对信任和依赖。

  最后应该更辩证地考虑操作系统和CPU 等硬件之间的关系 基础软硬件构成了密码算法软件引擎的运行环境与此同时操作系统和各种基础硬件之间 也在运行过程中相互监控、相互制约更有利于形成合理的生态。如果运行环境的安全条件信任建立在仅有的某一特定硬件或者某一特定软件模块基础上而该信任基础并不能被彻底地分析或证明则采取分布式信任的技术思想更为妥当、应该将安全基础建立在多个可相互监控和制约的部件之上。

  目前国产密码算法软件的合规检测按照GM/T 0028《密码模块安全技术要求》和 GM/T 0039《密码模块安全检测要求》来执行。作为指导性的行业标准GM/T 0028 和 GM/T 0039 没有对密码产品的随机数发生器和密钥安全设计做出详细的具体设计指导。与此同时我国在随机数发生器和密钥安全的技术方案也尚未形成行业标准或者国家标准所以在检测过程中 就只能从密码学的技术原理出发、结合密码软件产品的实际情况提出具体技术要求。

  在总体技术思想上GM/T 0028《密码模块安全技术要求》和 GM/T 0039《密码模块安全检测要求》参考了美国 NIST FIPS 140 标准和 ISO/ IEC 19790 标准。但是我国仍然有必要在随机数发生器方案和密钥安全方案上提出和实施有特色的安全要求。作为密码算法软件实现的最重要的数据安全部分随机数发生器和密钥安全应该在运行环境所提供适度安全保证的前提下加强自身的安全设计、而不是完全依赖于运行环境。

  目前我国商用密码算法软件模块的随机数发生器和密钥安全仍然有较高的要求需要外部的密码硬件模块提供一定程度的支持和协作例如外部输入的真随机数作为熵源之一、利用门限密码算法与外部密码硬件模块协作保护密钥。相比而言美国 FIPS 140 密码模块测评要求对软件密码模块允许完全由软件实现的随机数发生器和密钥安全方案其安全性对运行环境有更大的依赖性。

  国产商用密码软件引擎的检测要求与运行环境的安全假设息息相关。如果假定通用计算机软硬件环境能够全面地提供各种安全特性例如内存安全、用户身份鉴别等则运行在之上的密码软件就可以降低安全要求如果运行环境不能完全提供必要的安全特性则密码算法软件模块就必须要加强自身安全性。

  在密码算法软件模块的检测中需要综合考虑密码安全技术和随机数发生器技术的发展 需要分析各种不同计算机软硬件运行环境的安全状况确定相应的安全要求细节和具体的检测方法步骤。

  1制定随机数系列标准形成标准体系。通过技术标准规范密码算法软件引擎的随机数发生器技术方案和安全实现。同时在标准的实施中尤其需要关注熵源的动态熵值和随机数发生器的有效变化。

  2大力发展密钥安全技术。密码安全技术与计算机系统运行环境密切相关难以形成标准化的技术方案应该针对各种不同的运行环境和相应安全威胁研究密钥安全技术方案。

  3实施有特色的国产密码算法软件引擎检测要求。在软件密码引擎的运行环境安全得到有效保证之前适当提高检测要求、适当降低对运行环境的安全假设更有助于密码技术发挥安全效果。站在密码软件引擎的角度运行环境应该是介于“完全可信”和“完全不可信” 之间的中间状态如果假设运行环境的软硬件完全不可信则几乎不可能实现满足要求的密码软件引擎如果不考虑现实情况、假设运行环境完全可信密码软件引擎自身缺乏必要的安全保护也会导致密码软件引擎被攻击例如 密钥泄露等。

  另外《中华人民共和国密码法》的立法工作已经在稳步推进我国的密码科技工作也必定将会进入新的历史阶段。为了更便捷、更有效地在信息系统中发挥密码技术的安全作用 国产密码算法软件引擎的研发势在必行。我国应该直面国产密码算法软件引擎的安全挑战 团结更多力量探索中国特色的商用密码技术路线。

  林璟锵研究员信息安全国家重点实验室副主任。长期致力于网络空间安全研究尤其是密码技术在计算机网络系统的应用。

  为了保障商用密码安全国家商用密码管理办公室制定了一系列密码标准包括

  1、SM1算法。该算法是由国家密码管理局编制的一种商用密码分组标准对称算法分组长度和密钥长度均为128位算法的安全保密强度及相关软硬件实现性能与AES算法相当目前该算法尚未公开仅以IP核的形式存在于芯片中。

  2、SM2算法。该算法是一种基于ECC算法的非对称密钥算法其加密强度为256位其安全性与目前使用的RSA1024相比具有明显的优势。

  3、SM3算法。该算法也叫密码杂凑算法属于哈希摘要算法的一种杂凑值为256位和SM2算法一起被公布。功能与MD5SHA-1相同。产生256位的编码。该算法位不可逆的算法。具体算法也是保密。

  4、SM4算法。该算法为对称加密算法随WAPI标准一起被公布其加密强度为128位。此算法是一个分组算法用于无线局域网产品。该算法的分组长度为128比特密钥长度为128比特。加密算法与密钥扩展算法都采用32轮非线性迭代结构。解密算法与加密算法的结构相同只是轮密钥的使用顺序相反解密轮密钥是加密轮密钥的逆序。

  SM7算法是一种分组密码算法分组长度为128比特密钥长度为128比特。SM7的算法文本目前没有公开发布。SM7适用于非接IC卡应用包括身份识别类应用门禁卡、工作证、参赛证票务类应用大型赛事门票、展会门票支付与通卡类应用积分消费卡、校园一卡通、企业一卡通、公交一卡通。

  SM9是基于对的标识密码算法与SM2类似包含四个部分总则数字签名算法密钥交换协议以及密钥封装机制和公钥加密算法。在这些算法中使用了椭圆曲线上的对这一个工具不同于传统意义上的SM2算法可以实现基于身份的密码体制也就是公钥与用户的身份信息即标识相关从而比传统意义上的公钥密码体制有许多优点省去了证书管理等。

  双线性对的双线性的性质是基于对的标识密码SM2中的总则部分同样适用于SM9由于SM9总则中添加了适用于对的相关理论和实现基础。

  分组密码就是将明文数据按固定长度进行分组然后在同一密钥控制下逐组进行加密从而将各个明文分组变换成一个等长的密文分组的密码。其中二进制明文分组的长度称为该分组密码的分组规模。

  (1)必须实现起来比较简单,知道密钥时加密和脱密都十分容易,适合硬件和(或)软件实现.

  国际的DES算法和国产的SM4算法的目的都是为了加密保护静态储存和传输信道中的数据主要特性如下

  从算法上看国产SM4算法在计算过程中增加非线c;理论上能大大提高其算法的安全性并且由专业机构进行了密码分析民间也对21轮SM4进行了差分密码分析结论均为安全性较高。

  摘要函数在密码学中具有重要的地位,被广泛应用在数字签名,消息认证,数据完整性检测等领域。摘要函数通常被认为需要满足三个基本特性碰撞稳固性,原根稳固性和第二原根稳固性。

  2005年,Wang等人给出了MD5算法和SHA-1算法的碰撞攻击方法现今被广泛应用的MD5算法和SHA-1算法不再是安全的算法。

  SM3密码摘要算法是中国国家密码管理局2010年公布的中国商用密码杂凑算法标准。SM3算法适用于商用密码应用中的数字签名和验证是在SHA-256基础上改进实现的一种算法。SM3算法采用Merkle-Damgard结构消息分组长度为512位摘要值长度为256位。

  SM3算法的压缩函数与SHA-256的压缩函数具有相似的结构,但是SM3算法的设计更加复杂,比如压缩函数的每一轮都使用2个消息字。

  做协商密钥,数字签名,小数据量加密,而对称算法用来加密,密码杂凑算法用来计算摘要。

  ,在我国商业体系中用来替换RSA算法; SM3:消息摘要,校验结果为256位,对比国外的MD5; SM4:无线局域网标准的分组数据算法。对称加密,长度为...

  的SM2、SM3、SM4三类算法,分别是非对称算法、哈希算法和对称算法。...

  包括AES、SM1(国密)、SM4(国密)、DES、3DES、IDEA、RC2 等。 常见的流

  1、SM1是一种分组加密算法 对称加密算法中的分组加密算法,其分组长度、秘钥长度都是128bit,算法安全保密强度跟 AES 相当,但是...它是基于椭圆曲线密码的公钥

  商用密码简称国密,国际商用密码(美国)简称国际密国密算法包括:SM1(SCB2)、SM2、SM3、SM4、SM7、SM9、祖冲之

  (ZUC)等其中:SM1、SM4、SM7、祖冲之密码(ZUC)是对称算法;...

  加密算法的升级改造工作,不仅要成立专门的工作小组开展相关预研工作,认真研究

  包括SM1、SM2、SM3、SM4、SM7、SM9及祖冲之算法,其中SM2、SM3、SM4最为常用,用于对应替代RSA、DES、3DES、SHA等国际通用

  指加密和解密使用相同密钥的加密算法。对称加密算法的优点在于加解密的高速度和使用长密钥时的难破解性。假设两个用户需要使用对称加密方法加密然后交换数据,则用户最少需要2个密钥并交换使用,如果...

  ZUC在生成密钥流时采用128bit的初始密钥和128bit的初始向量IV作为输入参数,随着电路时钟的变化,LFSR的状态被比特重组后输入非线性函数F,每一...

  密钥的用户发放一个数字证书,数字证书的作用是证明证书中列出的用户合法拥有证书中列出的

  密钥。CA机构的数字签名使得攻击者不能伪造和篡改证书。在SET交易中,CA不仅对持卡人、商户发放...

  SM4 分组密码就是将明文数据按固定长度进行分组,然后在同一密钥控制下逐组进行加密,从而将各个明文分组变换成一个等长的密文分组的密码。...

  下面逐个介绍下这些国密算法: 1、SM1是一种分组加密算法 对称加密算法中的分组加密算法,其分组长度、秘钥长度都是128bit,算法安全保密强度跟 AES...它是基于椭圆曲线密码的公钥

  。主要有SM1,SM2,SM3,SM4。密钥长度和分组长度均为128位。 SM1 为对称加密。其加密强度与AES相当。该算法不

  。主要有SM1,SM2,SM3,SM4。密钥长度和分组长度均为128位。 SM1 为对称加密。其加密强度与AES相当。该算法不

  国家商用密码管理办公室制定了一系列密码标准,包括SM1(SCB2)、SM2、SM3、SM4、SM7、SM9、祖冲之

  (ZUC)那等等。 其中SM1、SM4、SM7、祖冲之密码(ZUC)是对称算法;SM2、SM9是非对称算法;SM3是哈希算法。...

  ,即商用密码。 国密算法是国家密码局制定标准的一系列算法。其中包括了对称加密算法,椭圆曲线非对称加密算法,杂凑算法。具体包括SM1,SM2,SM3等,其中: SM2为国家密码管理局...

  已经成为国际标准。如SM系列密码,SM代表商密,即商业密码,是指用于商业的、不涉及国家秘密的密码技术。...

  来进行加密和解密,所以研究了一下记录在下: 一.SM4简介: SM4是一种我国采用的一种分组

  信息安全是近年来的热门话题,特别是最近随着物联网的全民化,安全已经成为移动支付,智能家居等领域发展的核心议题,而安全的本质是