导航:首页 > 源码编译 > git国密算法包

git国密算法包

发布时间:2024-03-06 04:49:31

1. 国密算法是什么是一种算法还是一类算法若为一类算法,都包含什么

国密算法,国家密码局认定的国产密码算法,即商用密码。

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

SM1,对称加密算法,加密强度为128位,采用硬件实现。

SM2,国家密码管理局公布的公钥算法,其加密强度为256位。

SM3,密码杂凑算法,杂凑值长度为32字节。



(1)git国密算法包扩展阅读

商用密码的应用领域十分广泛,主要用于对不涉及国家秘密内容但又具有敏感性的内部信息、行政事务信息、经济信息等进行加密保护。比如:商用密码可用于企业门禁管理、企业内部的各类敏感信息的传输加密、存储加密,防止非法第三方获取信息内容;也可用于各种安全认证、网上银行、数字签名等。

例如:在门禁应用中,采用SM1算法进行身份鉴别和数据加密通讯,实现卡片合法性的验证,保证身份识别的真实性。 安全是关系国家、城市信息、行业用户、百姓利益的关键问题。

国家密码管理局针对现有重要门禁系统建设和升级改造应用也提出指导意见,加强芯片、卡片、系统的标准化建设。国密门禁系统的升级的案例也逐渐增多,基于自主国产知识产权的CPU卡、CPU卡读写设备及密钥管理系统广泛受到关注。

2. 国密算法是什么

国密即国家密码局认定的国产密码算法。

例如:在门禁应用中,采用SM1算法进行身份鉴别和数据加密通讯,实现卡片合法性的验证,保证身份识别的真实性。 安全是关系国家、城市信息、行业用户、百姓利益的关键问题。

国家密码管理局针对现有重要门禁系统建设和升级改造应用也提出指导意见,加强芯片、卡片、系统的标准化建设。国密门禁系统的升级的案例也逐渐增多,基于自主国产知识产权的CPU卡、CPU卡读写设备及密钥管理系统广泛受到关注。

一些厂商在2009年推出CPU卡安全门禁系列产品,在2010年北京安博会上,向业界展示出系列CPU卡门禁系统、系列安全门禁读卡器以及基于CPU卡技术的一卡通系统等主流产品和系统。

这些厂商是全国推广的国密门禁产品的先驱者,使系列CPU卡门禁系统广泛应用于政府、监狱、司法、军工企业和大型公共智能建筑等高安全领域。

3. 国密算法是什么呢

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

SM1:对称加密算法,加密强度为128位,采用硬件实现。

SM2:国家密码管理局公布的公钥算法,其加密强度为256位。其它几个重要的商用密码算法包括:

SM3:密码杂凑算法,杂凑值长度为32字节,和SM2算法同期公布,参见《国家密码管理局公告(第 22 号)》。

SMS4:对称加密算法,随WAPI标准一起公布,可使用软件实现,加密强度为128位。

案例

例如:在门禁应用中,采用SM1算法进行身份鉴别和数据加密通讯,实现卡片合法性的验证,保证身份识别的真实性。安全是关系国家、城市信息、行业用户、百姓利益的关键问题。国家密码管理局针对现有重要门禁系统建设和升级改造应用也提出指导意见,加强芯片、卡片、系统的标准化建设。

4. 解析|国密SSL特性 :属于中国的密码算法和传输层安全协议

国密SSL产生背景

随着互联网技术的兴盛和网络应用的普及,网络安全问题日益突出,大量的数据在网络上传递并遭受攻击和威胁,数据的安全性受到越来越多人的重视,因此产生了多种安全协议和相关规范。SSL协议就是在这种背景下由Netscape提出的,其中SSLv3.0自1996提出并得到大规模应用成为了业界标准,在2015年才被弃用。1999年,IETF收纳了SSLv3.0并以此为基础提出TLS规范,版本已由TLS1.0发展到如今的TLS3.0,是被应用最广泛的安全协议之一。

安全协议的核心和基础就是密码算法,为了确保我国的信息安全,国内的相关安全产品以及协议如HTTPS、SSL VPN、STMPS等就不能直接使用TLS标准规范和密码算法,因此必须要有一个属于中国的密码算法和传输层安全协议,国密SSL协议顺势产生。

国密SSL协议概述

目前TLS版本包含TLS1.0、TLS1.1、TLS1.2、TLS1.3以及GMTLS1.1。

国密 SSL协议在GM/T中不是一个独立的协议标准[1],而是按照相关密码政策、法规结合我国实际情况并参照RFC4346 TLS1.1规范,在GM/T 0024-2014《SSLVPN技术规范》中对其进行了相关定义。主要不同体现在以下几方面:

注[1]:随着国家越发重视信息安全,在2020年11月1日正式实施了《GB/T38636-2020信息安全技术传输层密码协议(TLCP)》,现阶段使用者相对较少,因此本文依旧按照《SSL VPN技术规范》进行介绍。

国密SSL协议包括记录层协议、握手协议族(握手协议、密码规格变更协议、报警协议)和网关到网关协议。

记录层协议是分层次的,每一层都包括长度字段、描述字段和内容字段;其会接收将要被传输的消息,将数据分段、压缩(可选)、计算HMAC、加密,然后传输,接收到的数据经过解密、验证、解压缩(可选)、重新封装然后传送给高层应用。

国密SSL握手协议族由密码规格变更协议、握手协议和报警协议3个子协议组成,用于通信双方协商出供记录层使用的安全参数,进行身份验证以及向对方报告错误等。

密码规格变更协议用于通知密码规格的改变,即通知对方使用刚协商好的安全参数来保护揭晓了的数据。客户端和服务端都要在安全参数协商完毕之后、握手结束消息之前发送此消息。

报警协议用于关闭连接的通知以及对整个连接过程中出现的错误行为进行报警,其中关闭通知由发起者发送,错误报警由错误的发现者发送。报警消息的长度为两个字节,分别为报警级别和报警内容。

握手协议是在记录层协议之上的协议,用于协商安全参数,是通过记录层协议传输的。握手消息应当按照规定流程顺序进行发送,否则将会导致致命错误,不需要的握手消息可以被接收方忽略。

在Client支持的密码套件列表中,Client会按照密码套件使用的优先级顺序进行排列,优先级最高的密码套件会排在首位。国密SSL支持的密码套件列表如下所示:

在国密SSL标准中实现ECC和ECDHE的算法是SM2,实现IBC和IBSDH的算法是SM9,RSA算法的使用需要符合国家密码管理主管部门的要求。

注[2]:在《GB/T38636-2020信息安全技术传输层密码协议(TLCP)》标准中增加了GCM的密码套件,并且删除了涉及SM1和RSA的密码套件。

网关到网关协议定义了SSL VPN之间建立网关到网关的传输层隧道,对IP数据报文进行安全传输时所采用的报文格式(包括控制报文与数据报文)以及控制报文交换过程和数据报文封装过程。

国密SSL测试的需求

为了保障数据安全,国家密码管理局要求相关系统均要进行国密改造,改用国密的密码算法,目前国密算法已经成为了数据安全保障的基础。因此国密设备在实验室的概念设计、研发设计、生产、部署验收都有测试的必要。

在概念设计和研发阶段需要确定设备是否符合相关要求,能否正常的进行国密SSL加密以对数据进行保护;设备研发成型阶段还需要进行整机测试,验证设备各项功能和性能是否满足实际应用;在部署验收阶段也需要进行整体测试,验证国密设备在真实网络环境中能否正常对数据进行传输以及与整网的兼容适配。

国密测试分为功能测试和性能测试,目前市场上针对功能测试主要采用的是利用具备同样国密功能的设备与被测设备对接测试,而性能测试则是采用自研类软件模拟多终端进行测试,测试能力相对较弱且操作复杂,因此专业的测试工具在国密SSL的研发和推广过程中就愈发重要。

信而泰国密SSL测试方案

信而泰经过多年潜心研制,推出了基于PCT架构的新一代B/S架构测试平台ALPS,该平台支持真实的应用层流量仿真。HTTPS /SMTPS Application Simulator是一个7层测试组件,可基于国密SSL模拟现实网络环境中的HTTPS/SMTPS协议流量,进而测试设备处理客户端应用层流量的能力。该平台可以针对防火墙、负载均衡、VPN、网关等应用层安全设备进行相关测试,测试拓扑如下图所示:

信而泰国密SSL支持以下测试功能和特性:

HTTPS/SMTPS应用流配置界面:

SSL Client Session统计界面:

SSL Server Session统计界面:

5. 国密算法

国密即国家密码局认定的国产密码算法。主要有SM1,SM2,SM3,SM4。密钥长度和分组长度均为128位。
SM1 为对称加密。其加密强度与AES相当。该算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。
SM2为非对称加密,基于ECC。该算法已公开。由于该算法基于ECC,故其签名速度与秘钥生成速度都快于RSA。ECC 256位(SM2采用的就是ECC 256位的一种)安全强度比RSA 2048位高,但运算速度快于RSA。
国家密码管理局公布的公钥算法,其加密强度为256位
SM3 消息摘要。可以用MD5作为对比理解。该算法已公开。校验结果为256位。
SM4 无线局域网标准的分组数据算法。对称加密,密钥长度和分组长度均为128位。

由于SM1、SM4加解密的分组大小为128bit,故对消息进行加解密时,若消息长度过长,需要进行分组,要消息长度不足,则要进行填充。

分组密码算法(DES和SM4)、将明文数据按固定长度进行分组,然后在同一密钥控制下逐组进行加密,
公钥密码算法(RSA和SM2)、公开加密算法本身和公开公钥,保存私钥

摘要算法(SM3 md5) 这个都比较熟悉,用于数字签名,消息认证,数据完整性,但是sm3安全度比md5高

总得来说国密算法的安全度比较高,2010年12月推出,也是国家安全战略,现在银行都要要求国际算法改造,要把国际算法都给去掉

C 语言实现
https://github.com/guan/GmSSL/

Go 语言
https://github.com/tjfoc/gmsm
https://github.com/ZZMarquis/gm

Java 语言
https://github.com/PopezLotado/SM2Java

Go语言实现,调用 gmsm

6. 科普:国产密码算法


密码学(cryptography): 通过将信息编码使其不可读,从而达到安全性。

算法 :取一个输入文本,产生一个输出文本。

加密算法 :发送方进行加密的算法。

解密算法 :接收方进行解密的算法。

对称密钥加密 (Symmetric Key Cryptography):加密与解密使用相同密钥。

非对称密钥加密 (Asymmetric Key Cryptography):加密与解密使用不同密钥。

密钥对 :在非对称加密技术中,有两种密钥,分为私钥和公钥,私钥是密钥对所有者持有,不可公布,公钥是密钥对持有者公布给他人的。

公钥 :公钥用来给数据加密,用公钥加密的数据只能使用私钥解密。

私钥 :如上,用来解密公钥加密的数据。

摘要 :对需要传输的文本,做一个HASH计算。

签名 :使用私钥对需要传输的文本的摘要进行加密,得到的密文即被称为该次传输过程的签名。

密码协议是指两个或两个以上的参与者为了达到某种特定目的而采取的一系列步骤。规定了一系列有序执行的步骤,必须依次执行。必须有两个或两个以上的参与者,有明确的目的。参与者都必须了解、同意并遵循这些步骤。

常见的密码协议包括IPSEC VPN 协议、SSL VPN 协议、密钥交换协议等。

密码是指描述密码处理过程的一组运算规则或规程,一般是指基于复杂数学问题设计的一组运算,其基本原理基于数学难题、可证明计算、计算复杂度等。主要包括:对称密码、公钥密码、杂凑算法、随机数生成。

在对称加密算法中,加密使用的密钥和解密使用的密钥是相同的,加密和解密都是使用同一个密钥,不区分公钥和私钥。

通信双方采用相同的密钥来加解密会话内容,即一段待加密内容,经过同一个密钥的两次对称加密后,与原来的结果一样,具有加解密速度快和安全强度高的优点。

国际算法:DES、AES。

国产算法:SM1、SM4、SM7。

非对称加解密算法又称为 公钥密码 ,其密钥是成对出现的。双方通信时,首先要将密钥对中的一个密钥传给对方,这个密钥可以在不安全的信道中传输;传输数据时,先使用自己持有的密钥做加密,对方用自己传输过去的密钥解密。

国际算法:RSA

国产算法:SM2

优点:

密钥分发数目与参与者数目相同,在有大量参与者的情况下易于密钥管理。

支持数字签名和不可否认性。

无需事先与对方建立关系,交换密钥。

缺点:

速度相对较慢。

可能比同等强度的对称密码算法慢10倍到100倍。

加密后,密文变长。

密码杂凑算法 :又称为散列算法或哈希函数,一种单向函数,要由散列函数输出的结果,回推输入的资料是什么,是非常困难的。

散列函数的输出结果,被称为讯息摘要(message digest)或是 摘要(digest) ,也被称为 数字指纹

杂凑函数用于验证消息的完整性, 在数字签名中,非对称算法对数据签名的速度较慢,一般会先将消息进行杂凑运算,生成较短的固定长度的摘要值。然后对摘要值进行签名,会大大提高计算效率 。

国际算法:MD5、SHA1、SHA2、SHA3

国产算法:SM3

2009年国家密码管理局发布的《信息安全等级保护商用密码技术实施要求》中明确规定,一、二、三、四级信息系统应使用商用密码技术来实施等级保护的基本要求和应用要求,一到四级的密码配用策略要求采用国家密码管理部门批准使用的算法。

2010年年底,国家密码管理局公开了SM2、SM3等国产密码算法。

2011年2月28日,国家密码管理局印发的【2011】145号文中明确指出,1024位RSA算法正在面临日益严重的安全威胁,并要求各相关企业在2012年6月30日前必须使用SM2密码算法

国家密码管理局在《关于做好公钥密码算法升级工作的函》中要求2011年7月1日以后建立并使用公钥密码的信息系统,应使用SM2算法;已经建设完成的系统,应尽快进行系统升级,使用SM2算法。

2014年底,国家密码管理局启动《重要信息系统密码应用推进总体研究课题》,确定十三五密码 科技 专项。

2017年11月底,国家密码管理局下发了《政务云密码支撑方案及应用方案设计要点》。

2017年国家密码管理局发布了42项金融和重要领域国产密码应用试点任务。

2018年,中共中央办公厅、国务院办公厅印发《金融和重要领域密码应用与创新发展工作规划(2018-2022年)。

2018年,为指导当时即将启动的商用密码应用安全性评估试点工作,国家密码管理局发布了密码行业标准GM/T0054-2018《信息系统密码应用 基本要求》。

2021年3月,国家市场监管总局、国家标准化管理委员会发布公告,正式发布国家标准GB/T39786-2021《信息安全技术信息系统密码应用基本要求》,该标准于2021年10月1日起实施。

SM1 算法是分组密码算法,分组长度为 128 位,密钥长度都为 128 比特,算法安全保密强度及相关软硬件实现性能与AES相当,算法不公开,仅以IP核的形式存在于芯片中。

算法集成于加密芯片、智能 IC 卡、智能密码钥匙、加密卡、加密机等安全产品,广泛应用于电子政务、电子商务及国民经济的各个应用领域(包括政务通、警务通等重要领域)。

SM2椭圆曲线公钥密码算法是我国自主设计的公钥密码算法,是一种基于ECC算法的 非对称密钥算法, 其加密强度为256位,其安全性与目前使用的RSA1024相比具有明显的优势。

包括SM2-1椭圆曲线数字签名算法,SM2-2椭圆曲线密钥交换协议,SM2-3椭圆曲线公钥加密算法,分别用于实现 数字签名密钥协商 数据加密 等功能。

SM3杂凑算法是我国自主设计的密码杂凑算法,属于哈希(摘要)算法的一种,杂凑值为256位,安全性要远高于MD5算法和SHA-1算法。

适用于商用密码应用中的 数字签名 验证消息认证码的生成与验证 以及 随机数 的生成,可满足多种密码应用的安全需求。

SM4 分组密码算法 是我国自主设计的分组对称密码算法,SM4算法与AES算法具有相同的密钥长度分组长度128比特,因此在安全性上高于3DES算法。

用于实现数据的加密/解密运算,以保证数据和信息的机密性。软件和硬件加密卡均可实现此算法。


商用密码技术框架包括 密码资源、密码支撑、密码服务、密码应用 等四个层次,以及提供管理服务的密码管理基础设施。

密码资源层: 主要是提供基础性的密码算法资源。

密码支撑层: 主要提供密码资源调用,由安全芯片、密码模块、智能IC卡、密码卡、服务器密码机、签名验签服务器、IPSCE/SSL VPN 等商密产品组成。

密码服务层: 提供密码应用接口,分为对称和公钥密码服务以及其他三大类。

密码应用层: 调用密码服务层提供的密码应用程序接口,实现数据的加解密、数字签名验签等服务。如应用 于 安全邮件、电子印章系统、安全公文传输、移动办公平台、可信时间戳等系统。

密码管理基础设施: 独立组件,为以上四层提供运维管理、信任管理、设备管理、密钥管理等功能。


完整的PKI系统必须具有权威认证机构(CA)、数字证书库、密钥备份及恢复系统(KMC)、证书作废系统(CRL)、应用接口(API)等基本构成部分,构建PKI也将围绕着这五大系统来着手构建。

CA 系统:Ca系统整个PKI的核心,负责证书的签发。CA首先产生自身的私钥和公钥(密钥长度至少为1024位),然后生成数字证书,并且将数字证书传输给安全服务器。、CA还负责为操作员、安全服务器以及注册机构服务器生成数字证书。安全服务器的数字证书和私钥也需要传输给安全服务器。

CA服务器是整个结构中最为重要的部分,存有CA的私钥以及发行证书的脚本文件,出于安全的考虑,应将CA服务器与其他服务器隔离,任何通信采用人工干预的方式,确保认证中心的安全。


(1)甲使用乙的公钥对明文进行加密,生成密文信息。

(2)甲使用HASH算法对明文进行HASH运算,生成数字指纹。

(3)甲使用自己的私钥对数字指纹进行加密,生成数字签名。

(4)甲将密文信息和数字签名一起发送给乙。

(5)乙使用甲的公钥对数字签名进行解密,得到数字指纹。

(6)乙接收到甲的加密信息后,使用自己的私钥对密文信息进行解密,得到最初的明文。

(7)乙使用HASH算法对还原出的明文用与甲所使用的相同HASH算法进行HASH运算,生成数字指纹。然后乙将生成的数字指纹与从甲得到的数字指纹进行比较,如果一致,乙接受明文;如果不一致,乙丢弃明文。


SSL 协议建立在可靠的传输协议(如 TCP)之上,为高层协议提供数据封装,压缩,加密等基本功能。

即可以协商加密算法实现加密传输,防止数据防窃听和修改,还可以实现对端设备身份验证、在这个过程中,使用国密算法进行加密、签名证书进行身份验证、加密证书用于密钥交换

SSL协商过程:

(1)客户端发出会话请求。

(2)服务端发送X.509证书(包含服务端的公钥)。

(3)客户端用已知Ca列表认证证书。

(4)客户端生成随机对称密钥,并利用服务端的公钥进行加密。

(5)双方协商完毕对称密钥,随后用其加密会话期间的用户最终数据。

利用SSL卸载技术及负载均衡机制,在保障通讯数据安全传输的同时,减少后台应用服务器的性能消耗,并实现服务器集群的冗余高可用,大幅度提升整个业务应用系统的安全性和稳定性。此外,借助多重性能优化技术更可缩短了业务访问的响应等待时间,明显提升用户的业务体验。


基于 数字证书 实现终端身份认证,给予密码运算实现本地数据的加密存储,数字证书硬件存储和密码运算由移动终端内置的密码部件提供。

移动应用管理系统服务器采用签名证书对移动应用软件安装包进行签名,移动应用管理系统客户端对签名信息进行验签,保障移动应用软件安装包的真实性和完整性。

移动办公应用系统采用签名证书对关键访问请求进行签名验证。

采用加密证书对关键传输数据和业务操作指令,以及移动终端本地存储的重要数据进行加密保护。

移动办公系统使用商用密码,基于数字证书认证系统,构建覆盖移动终端、网络、移动政务应用的安全保障体系,实现政务移动终端安全、接入安全、传输安全和移动应用安全 。

阅读全文

与git国密算法包相关的资料

热点内容
32单片机的重映射哪里改 浏览:814
为什么前端不用刷算法题 浏览:706
对称加密系统和公钥加密系统 浏览:428
历史地理pdf 浏览:600
物联网云服务器框架 浏览:646
sybaseisql命令 浏览:181
android权威编程指南pdf 浏览:661
哪些软件属于加密软件 浏览:644
文件夹75丝什么意思 浏览:468
最便宜sop8单片机 浏览:964
图解周易预测学pdf 浏览:418
c盘莫名奇妙多了几个文件夹 浏览:169
贵州花溪门票优惠app哪个好 浏览:801
如何说话不会让人有被命令的感觉 浏览:438
哪里可下载湘工惠app 浏览:263
福特python 浏览:310
pdf转换成word表格 浏览:351
无线远端服务器无响应是什么意思 浏览:670
两位整数倒序输出python 浏览:781
为什么我的世界天空服务器进不去 浏览:262