Ⅰ 国密算法是什么是一种算法还是一类算法若为一类算法,都包含什么
国密算法,国家密码局认定的国产密码算法,即商用密码。
国密算法是国家密码局制定标准的一系列算法。其中包括了对称加密算法,椭圆曲线非对称加密算法,杂凑算法。具体包括SM1,SM2,SM3等。
SM1,对称加密算法,加密强度为128位,采用硬件实现。
SM2,国家密码管理局公布的公钥算法,其加密强度为256位。
SM3,密码杂凑算法,杂凑值长度为32字节。
(1)我国哪些密码算法已经成为国际标扩展阅读
商用密码的应用领域十分广泛,主要用于对不涉及国家秘密内容但又具有敏感性的内部信息、行政事务信息、经济信息等进行加密保护。比如:商用密码可用于企业门禁管理、企业内部的各类敏感信息的传输加密、存储加密,防止非法第三方获取信息内容;也可用于各种安全认证、网上银行、数字签名等。
例如:在门禁应用中,采用SM1算法进行身份鉴别和数据加密通讯,实现卡片合法性的验证,保证身份识别的真实性。 安全是关系国家、城市信息、行业用户、百姓利益的关键问题。
国家密码管理局针对现有重要门禁系统建设和升级改造应用也提出指导意见,加强芯片、卡片、系统的标准化建设。国密门禁系统的升级的案例也逐渐增多,基于自主国产知识产权的CPU卡、CPU卡读写设备及密钥管理系统广泛受到关注。
Ⅱ 1、对称加密算法
指加密和解密使用相同密钥的加密算法。对称加密算法用来对敏感数据等信息进行加密,常用的算法包括RC4、DES、3DES、AES、DESX、Blowfish、ChaCha20、RC5、RC6。前3种算法被认为是不安全的,通常禁止使用。
国内:SM1、SM4、ZUC
国际:DES、3DES、AES
说明:SM1的128位保密强度和性能与AES相当,SM4的128位已升级为国际标准
块密码算法:DES、3DES、AES
流密码算法:RC4
SM1:对称加密算法,加密强度为128位,采用硬件实现; 算法不公开 ,只能通过相关安全产品进行使用。
SM4:对称算法,随WAPI标准一起公布,可使用软件实现,加密强度为128位。
SM4分组密码算法是我国自主设计的分组对称密码算法,用于实现数据的加密/解密运算,以保证数据和信息的机密性。要保证一个对称密码算法的安全性的基本条件是其具备足够的密钥长度,SM4算法与AES算法具有相同的密钥长度分组长度128比特,因此在安全性上高于3DES算法。
DES(Data Encryption Standard) :数据加密标准,速度较快,适用于加密 大量数据 的场合。
3DES(Triple DES) :是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高。
AES(Advanced Encryption Standard) :高级加密标准,是下一代的加密算法标准,速度快,安全级别高;
ECB(Electronic Codebook)、特点:运算快速,支持并行处理,需要填充、说明:不推荐使用
CBC (Cipher Block Chaining)、特点:支持并行处理,需要填充、说明:推荐使用
CFB(Cipher Feedback)、特点:支持并行处理,不需要填充、说明:不推荐使用
OFB(Output Feedback)、特点:迭代运算使用流密码模式,不需要填充、说明:不推荐使用
CTR (Counter)、特点:迭代运算使用流密码模式,支持并行处理,不需要填充、说明:推荐使用
XTS(XEX-based tweaked-codebook)、特点:不需要填充、说明:用于本地硬盘存储解决方案中
填充标准:明文长度必须是分组长度的倍数,如不是倍数,则必须有填充机制
PKCS#7填充:可处理的分组长度是1到255个字节
AES算法使用标准,比如:AES-128-CBC-PKCS#7,其中秘钥长度128,分组模式CBC,填充标准PKCS#7,AES算法默认分组128bit
Ⅲ 国密算法是什么呢
国密算法是国家密码局制定标准的一系列算法。其中包括了对称加密算法,椭圆曲线非对称加密算法,杂凑算法。具体包括SM1、SM2、SM3、SMS4等,其中:
SM1:对称加密算法,加密强度为128位,采用硬件实现。
SM2:国家密码管理局公布的公钥算法,其加密强度为256位。其它几个重要的商用密码算法包括:
SM3:密码杂凑算法,杂凑值长度为32字节,和SM2算法同期公布,参见《国家密码管理局公告(第 22 号)》。
SMS4:对称加密算法,随WAPI标准一起公布,可使用软件实现,加密强度为128位。
案例
例如:在门禁应用中,采用SM1算法进行身份鉴别和数据加密通讯,实现卡片合法性的验证,保证身份识别的真实性。安全是关系国家、城市信息、行业用户、百姓利益的关键问题。国家密码管理局针对现有重要门禁系统建设和升级改造应用也提出指导意见,加强芯片、卡片、系统的标准化建设。
Ⅳ SM算法是如何获得国际认可
众所周知,为了保障商用密码的安全性,国家商用密码管理办公室制定了一系列密码标准,为了以后获得国际认可和认同。SM算法包括SM1(SCB2)、SM2、SM3、SM4、SM7、SM9、祖冲之密码算法(ZUC)那等等。其中SM1、SM4、SM7、祖冲之密码(ZUC)是对称算法;SM2、SM9是非对称算法;SM3是哈希算法。目前,这些算法已广泛应用于各个领域当中,期待有一天会有采用国密算法的区块链应用出现。其中SM1、SM7算法不公开,调用该算法时,需要通过加密芯片的接口进行调用;比较少的人了解这些算法的使用方式,在这里对这些国密算法做一下简单的科普。SM1 算法是分组密码算法,分组长度为128位,密钥长度都为 128 比特,算法安全保密强度及相关软硬件实现性能与 AES 相当,算法不公开,仅以IP核的形式存在于芯片中。采用该算法已经研制了系列芯片、智能IC卡、智能密码钥匙、加密卡、加密机等安全产品,广泛应用于电子政务、电子商务及国民经济的各个应用领域(包括国家政务通、警务通等重要领域)。SM7算法,是一种分组密码的算法,分组长度一般为128比特,密钥长度为128比特。SM7适用于非接触式IC卡,应用包括身份识别类应用(门禁卡类、工作证、参赛证),票务类应用(大型赛事门票、展会门票),支付与通卡类应用(积分消费卡、校园一卡通、企业一卡通等)。
Ⅳ 通过中国国家商用密码局认可的数据加密算法有哪些
1、对称密码算法:SMS4;2、签名算法:ECDSA; 3、密钥协商算法:ECDH;4、杂凑算法:SHA-256;5、随机数生成算法:自行选择。
Ⅵ 科普:国产密码算法
密码学(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卸载技术及负载均衡机制,在保障通讯数据安全传输的同时,减少后台应用服务器的性能消耗,并实现服务器集群的冗余高可用,大幅度提升整个业务应用系统的安全性和稳定性。此外,借助多重性能优化技术更可缩短了业务访问的响应等待时间,明显提升用户的业务体验。
基于 数字证书 实现终端身份认证,给予密码运算实现本地数据的加密存储,数字证书硬件存储和密码运算由移动终端内置的密码部件提供。
移动应用管理系统服务器采用签名证书对移动应用软件安装包进行签名,移动应用管理系统客户端对签名信息进行验签,保障移动应用软件安装包的真实性和完整性。
移动办公应用系统采用签名证书对关键访问请求进行签名验证。
采用加密证书对关键传输数据和业务操作指令,以及移动终端本地存储的重要数据进行加密保护。
移动办公系统使用商用密码,基于数字证书认证系统,构建覆盖移动终端、网络、移动政务应用的安全保障体系,实现政务移动终端安全、接入安全、传输安全和移动应用安全 。
Ⅶ 5分钟掌握密码学基础知识
密码学的目标:
机密性、完整性、身份认证和不可否认性。
机密性:确保数据在存储或传输中保持秘密状态
完整性:保证数据在传输中不被篡改
身份认证:对声明的系统用户进行身份验证
不可否认性:为接收者提供了担保,保证消息确实来自发送者而不是来自伪装者。
现代密码学基础知识:
1、对称密钥算法
加密和解密使用相同的密钥,密钥需要事先分发给所有参与通信的成员。当密钥长度足够长时,破解比较困难。缺点如下:
需要解决密钥分发问题。需要事先采用安全的方式共享加密密钥。
未解决不可否认性。任意拥有密钥的人都可以加密,无法分辨加密消息来自于谁。
密钥需要经常更新。每当有成员离开用户组时,所有涉及这个成员的密钥都需要更新。
DES算法:美国政府1977年公布,DES是一个64位的分组密码,实际使用的密钥长度为56位。
3DES算法:由于现代密码分析技术和超级计算能力提升,DES算法已经不在安全。DES的修改版本三重数据加密算法3DES能够使用相同的算法实现更安全的加密。
AES算法:2000年10月,美国国家标准和技术协会NIST宣布Rijndael分组密码替换DES成为新的加密算法标准。AES密码准许使用三种密钥长度:128位,192位,256位。
常见的对称密码算法
算法分组大小(位)密钥大小(位)
DES6456
3DES64112或168
AES128128、192、256
Rijndael可变128、192、256
Twofish1281-256
Blowfish(通常在SSH中使用)6432-448
IDEA64128
2、非对称密钥算法
非对称密钥算法也叫公钥算法,有效的解决了对称密钥算法的很多痛点。在这个系统中,每个用户都有两个密钥,一个在所有用户间共享的公钥,一个是只有用户自己知道的私钥。
三种非对称密码算法的密钥长度
密码算法密钥长度
RSA1088
DSA1024
ECC160
3、散列函数
散列函数具有一个非常简单的用途,就是它们接收一个可能很长的消息,然后根据消息内容生成唯一的输出值,以此来确保消息是否被篡改。
散列算法记忆表
算法名称哈希值的长度(位)
HAVAL一种MD5变种128、160、192、224、256
HMAC可变
MD2128
MD4128
MD5128
SHA-1160
SHA-224224
SHA-256256
SHA-384384
SHA-512512
4、数字签名
数字签名的应用有两个明显的作用:
向接收方保证:消息确实来自声明的发送者,并且实施了不可否认性
向接收方保证:消息在发送方和接收方之间进行传输过程中不会被改变。
签名过程
验签过程
5、公钥基础设施(PKI)
公钥基础设施PKI使得原本互不相识的双方间通信变得更加容易。由可信证书颁发机构CA签发证书来对用户的公钥做身份证明。
数字证书为通信双方提供了保证,保证正在通信的人确实具有他们所宣称的身份。数字证书本质上是个人公钥的认可副本。当用户验证证书确实是由可信证书颁发机构(CA)发布时,他们就相信这个公钥是合法的。数字证书X.509国际标准包含以下数据:
序列号(来自证书建立者)
签名算法标识符
发布者姓名(发布证书的证书授权机构的身份标识)
有效期
主体的名字
主体的公钥
Ⅷ 国密算法
国密即国家密码局认定的国产密码算法。主要有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
Ⅸ 003 国密算法【技术】
国密算法:国家密码局认定的国产密码算法,即商用密码。
非对称密码(公钥算法):SM2,SM9
对称密码(分组密码,序列密码):SM1,SM4,SM7,ZUC
杂凑算法(散列,哈希算法):SM3
概述 : 对称加密算法(分组密码) ,分组长度128位,密钥长度128位, 算法不公开 ,通过加密芯片的接口进行调用。
场景 :采用该算法已经研制了系列芯片、智能IC卡、智能密码钥匙、加密卡、加密机等安全产品,广泛应用于电子政务、电子商务及国民经济的各个应用领域(包括国家政务通、警务通等重要领域)。
概述 : 非对称加密算法(公钥算法) ,加密强度为256位,是一种椭圆曲线算法。
公钥密码学与其他密码学完全不同, 使用这种方法的加密系统,不仅公开加密算法本身,也公开了加密用的密钥。公钥密码系统与只使用一个密钥的对称传统密码不同,算法是基于数学函数而不是基于替换和置换。公钥密码学是非对称的,它使用两个独立的密钥,即密钥分为公钥和私钥,因此称双密钥体制。双钥体制的公钥可以公开,因此称为公钥算法。
使用私钥加密后的密文只能用对应公钥进行解密,反之使用公钥加密的密文也只能用对应的私钥进行解密。通过对私钥进行椭圆曲线运算可以生成公钥,而由于椭圆曲线的特点,知道公钥却很难反推出私钥,这就决定了SM2算法的安全性。SM2算法最常见的应用是进行身份认证,也就是我们熟知的数字签名与验签,通过私钥的私密性来实现身份的唯一性和合法性。
场景: 适用于商用应用中的 数字签名和验证 ,可满足多种密码应用中的 身份认证 和 数据完整性,真实性 的安全需求。
场景: 适用于商用密码应用中的 密钥交换 ,可满足通信双方经过两次或可选三次信息传递过程,计算获取一个由双方共同决定的共享秘密密钥(会话密钥)。
场景: 适用于国家商用密码应用中的 消息加解密 ,消息发送者可以利用接收者的公钥对消息进行加密,接收者用对应的私钥进行解,获取消息。
涉及国密标准: GB/T 32918.1-2016、GB/T 32918.2-2016、GB/T 32918.3-2016、GB/T 32918.4-2016、GB/T 32918.5-2017、GB/T 35275-2017、GB/T 35276-2017。
概述:哈希算法(散列算法,杂凑算法) ,任意长度的数据经过SM3算法后会生成长度固定为256bit的摘要。SM3算法的逆运算在数学上是不可实现的,即通过256bit的摘要无法反推出原数据的内容,因此在信息安全领域内常用SM3算法对信息的完整性进行度量。
场景: 适用于商用密码应用中的 数字签名和验证 , 消息认证码的生成与验证 以及 随机数的生成 ,可满足多种密码应用的安全需求。
涉及国密标准: GB/T 32905-2016
概述:对称加密算法(分组密码) ,分组长度128位,密钥长度128位,使用某一密钥加密后的密文只能用该密钥解密出明文,故而称为对称加密。SM4算法采用32轮非线性迭代实现,加解密速度较快,常应用于大量数据的加密,保存在存储介质上的用户数据往往就使用SM4算法进行加密保护。
场景:大量数据的加密,解密,MAC的计算 。
分组密码就是将明文数据按固定长度进行分组,然后在同一密钥控制下逐组进行加密,从而将各个明文分组变换成一个等长的密文分组的密码。其中二进制明文分组的长度称为该分组密码的分组规模。
分组密码的实现原则如下:必须实现起来比较简单,知道密钥时加密和脱密都十分容易,适合硬件和(或)软件实现。加脱密速度和所消耗的资源和成本较低,能满足具体应用范围的需要。
分组密码的设计基本遵循混淆原则和扩散原则
①混淆原则就是将密文、明文、密钥三者之间的统计关系和代数关系变得尽可能复杂,使得敌手即使获得了密文和明文,也无法求出密钥的任何信息;即使获得了密文和明文的统计规律,也无法求出明文的任何信息。
②扩散原则就是应将明文的统计规律和结构规律散射到相当长的一段统计中去。也就是说让明文中的每一位影响密文中的尽可能多的位,或者说让密文中的每一位都受到明文中的尽可能多位的影响。
涉及国密标准: GB/T 32907-2016
概述 : 对称加密算法(分组密码) ,分组长度128位,密钥长度128位, 算法不公开 ,通过加密芯片的接口进行调用。
场景 :适用于非接触式IC卡,应用包括身份识别类应用(门禁卡、工作证、参赛证),票务类应用(大型赛事门票、展会门票),支付与通卡类应用(积分消费卡、校园一卡通、企业一卡通等)。
概述:非对称加密算法(标识密码) ,标识密码将用户的标识(如邮件地址、手机号码、QQ号码等)作为公钥,省略了交换数字证书和公钥过程,使得安全系统变得易于部署和管理,非常适合端对端离线安全通讯、云端数据加密、基于属性加密、基于策略加密的各种场合。
SM9算法不需要申请数字证书,适用于互联网应用的各种新兴应用的安全保障。如基于云技术的密码服务、电子邮件安全、智能终端保护、物联网安全、云存储安全等等。这些安全应用可采用手机号码或邮件地址作为公钥,实现数据加密、身份认证、通话加密、通道加密等安全应用,并具有使用方便,易于部署的特点,从而开启了普及密码算法的大门。
概述 : 对称加密算法(序列密码) ,是中国自主研究的流密码算法,是运用于移动通信4G网络中的国际标准密码算法,该算法包括祖冲之算法(ZUC)、加密算法(128-EEA3)和完整性算法(128-EIA3)三个部分。目前已有对ZUC算法的优化实现,有专门针对128-EEA3和128-EIA3的硬件实现与优化。
Ⅹ 关于标识密码的一点认知
之前整理过几篇关于数字证书的笔记。数字证书技术的是 PKI(Public Key Infrastructure)的重要组成部分,基于数字证书技术的身份认证方式,在在金融、通信、互联网、数据中心等领域发挥着关键作用。但发展多年的 PKI 体系也并非完美,关于数字证书生命周期的管理是其中一个关键问题,而当下受到越来越多关注的技术体系 - 基于标识的密码体系(IBC) ,正在尝试用一种新的方式解决传统 PKI 所面临的难题。趁热打铁写了一篇学习笔记,保持学习,青春永驻。
大家都清楚,在传统 PKI 体系下,一个实体具有一对密钥:一个是公开的公钥;一个是自己保管的私钥。在这样的系统中, 信息发送方需要正确获取接收方的公钥,否则就可能出现恶意攻击方可通过提供虚假接收方公钥,即中间人攻击的方式获取信息 。
为了证明接收方公钥的可信,传统 KPI 体系就需要一个 受信任的第三方来绑定实体与其拥有的密码对 。这个受信第三方即认证中心(CA:Certificate Authority),在对实体进行身份核实后,就为其生成一个公私钥对,并为该实体颁发一个证书,证书中包含实体的标识、公钥以及认证中心的数字签名。 信息发送方在发送信息前需要获取接收方的证书 。在验证证书的有效性后,发送方使用证书中的公钥加密。这就是基于数字证书的 PKI 系统。
基于数字证书的 PKI 系统有几个问题:
为了解决传统 PKI 的一些问题,以色列密码学家 Shamir 于1984年提出基于标识的密码体系,即 IBC(Identity-Based Cryptograph)。其最主要观点是 不需要由 CA 中心生成公私钥对,不需要使用证书传递公钥,而是使用用户标识如姓名、IP地址、电子邮箱地址、手机号码等代表用户的标识信息作为公钥,私钥则由密钥中心(Key Generate Center, 简称KGC)根据系统主密钥和用户标识计算得出 。
自 Shamir 1984年提出 IBC 思想的十几年,一直停留在概念阶段,直到2000年,D.Boneh 和 M.Franklin, 以及 R.Sakai、K.Ohgishi 和 M.Kasahara 两个团队均提出基于椭圆曲线数学难题的配对构造算法,解决了安全性和实现效率最优化的问题,标识密码终于引发了标识密码的新发展。2008年,我国将 IBC 正式纳入中国国家算法标准, 并获得国家商用密码管理局颁发的算法型号 SM9 。
IBC 体系标准主要包括 IBE加解密算法组 、 IBS签名算法组 、 IBKA身份认证协议 三个个组成部分。理解的时候,对照传统 KPI 体系标准,其实很容易理解。
加解密算法由四部分组成:
核心步骤描述如下:
数字签名算法也由四个部分组成:
核心步骤描述如下:
这个过程是不是看起来和传统 PKI 体系的数字签名是一样的思路?
同传统 PKI 体系,身份认证利用的是数字签名与验证原理,协议核心原理如下(以A认证B为例):
这个过程是不是看起来和传统 PKI 体系的身份认证是一样的思路?
传统 PKI 体系与 IBC 体系都是以公钥密码技术为基础,保证数据的真实性、机密性、完整性和不可抵赖性。IBC体系将代表用户唯一性的身份标识作为用户公钥,确实获得了一些天然优势,使得IBC体系比PKI庞大的证书管理和发布系统更易于应用。
特别要强调,在针对数字证书这个环节上,IBC 确实有优势,但绝不能以偏概全,认为 IBC 就是全面取代传统 PKI 的方案,密码体系可不仅仅指数字证书。
一张被到处引用的 PKI 与 IBC 的流程对比图,比较清晰的展示了二者的不同。
PKI 体系原理图:
IBC 体系原理图:
再次强调,IBC 是对 PKI 的有益补充,但不能简单认为 IBC 是全面取代传统 PKI 的技术体系!
标识密码体系没有证书管理的负担,简化了实施应用,能够快速实现安全通信,尤其适用于安全电子邮件系统、移动通信的客户以及需要向未注册人群发送信息的用户。
国际电信联盟(ITU)已采用 IBC 技术作为下一代移动电话的认证技术手段。美国食品药品管理局(FDA)在各大医疗机构中也在推广 IBC 应用。在电子商务领域,IBC 在美国已经成为 POS 终端和清算中心间保护信用卡信息的主流技术之一。在欧洲,意法半导体的研究人员己经与智能卡厂商 Incard 合作,联合开发实现在智能卡上部署标识密码。而国内,华为、中兴、上海贝尔等公司也在 NGN 中采用了 IBC 技术。
随着囯家密码管理局对 SM9 算法的规范和推广,用户将会越来越熟悉标识密码。标识密码技术有可能会广泛地应用于安全电子邮件、加密短信、加密通话、电子证照管理、电子病历、手机电子钱包、电子图书馆、身份证与社保、医保等的多卡合一后的管理使用等诸多领域。IBC 应用前景可期。
持续学习,青春永驻!