当前位置:文档之家› 国密算法介绍

国密算法介绍

国密算法介绍
国密算法介绍

国家商用密码算法简介

密码学是研究编制密码和破译密码的技术科学,起源于隐秘消息传输,在编码和破译中逐渐发展起来。密码学是一个综合性的技术科学,与语言学、数学、电子学、声学、信息论、计算机科学等有着广泛而密切的联系。密码学的基本思想是对敏感消息的保护,主要包括机密性,鉴别,消息完整性和不可否认性,从而涉及加密,杂凑函数,数字签名,消息认证码等。

一.密码学简介

密码学中应用最为广泛的的三类算法包括对称算法、非对称算法、杂凑算法。

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密钥长度保密年限

80 80 1024 160 2010

112 112 2048 224 2030

128 128 3072 256 2040

192 192 7680 384 2080

256 256 15360 512 2120 2.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 k q 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给出了数字签名算法(包括数字签名生成算法,数字签名验证算法),密钥交换协议,以及密钥封装机制和公钥加密算法(包括密钥封装算法,加密盒解密算法)。数字签名算法适用于接收者通过签名者的标识验证数据的完整性和数据发送者的身份,也适用于第三方确定签名及所签数据的真实性。密钥交换协议可以使用通信双方通过双方的标识和自身的私钥经过两次或者可选三次信息传递过程,计算获取一个由双方共同决定的共享秘密密钥。密钥封装机制和公钥加密算法中,利用密钥封装机制可以封装密钥给特定的实体。公钥加密和解密算法即基于标识的非对称秘密算法,该算法使消息发送者可以利用接收者的标识对消息进行加密,唯有接收者可以用相应的私钥对该密文进行解密,从而获取消息。基于对的算法中同样使用了国家密管理局批准的SM3密码杂凑算法和随机数发生器,密钥封装机制和公钥加密算法中使用了国家密码管理局批准的对称密码算法和消息认证码函数。基于对的数字签名算法,密钥交换协议以及密钥封装机制和公钥加密算法的具体算法,流程图和示例见SM9标准。

2.7祖冲之对称算法

祖冲之密码算法由中国科学院等单位研制,运用于下一代移动通信4G网络LTE中的国际标准密码算法。祖冲之密码算法(ZUC)的名字源于我国古代数学家祖冲之,祖冲之算法集是由我国学者自主设计的加密和完整性算法,是一种流密码。它是两个新的LTE算法的核心,这两个LTE算法分别是加密算法128-EEA3和完整性算法128-EIA3。ZUC算法由3个基本部分组成,依次为:1、比特重组;

2、非线性函数F;

3、线性反馈移位寄存器(LFSR)。

国密算法(国家商用密码算法简介)

国家商用密码算法简介 密码学是研究编制密码和破译密码的技术科学,起源于隐秘消息传输,在编码和破译中逐渐发展起来。密码学是一个综合性的技术科学,与语言学、数学、电子学、声学、信息论、计算机科学等有着广泛而密切的联系。密码学的基本思想是对敏感消息的保护,主要包括机密性,鉴别,消息完整性和不可否认性,从而涉及加密,杂凑函数,数字签名,消息认证码等。 一.密码学简介 密码学中应用最为广泛的的三类算法包括对称算法、非对称算法、杂凑算法。 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)给定杂凑函数的描述,找到两个不同的输入消息杂凑到同一个值是计算上不可行的,或给定 杂凑函数的描述和一个随机选择的消息,找到另一个与该消息不同的消息使得它们杂凑到同一个值是计算上不可行的。 杂凑函数主要用于完整性校验和提高数字签名的有效性,目前已有很多方案。这些算法都是伪随机函数,任何杂凑值都是等可能的。输出并不以可辨别的方式依赖于输入;在任何输入串中单个比特

国密SM2密码算法的C语言实现

龙源期刊网 https://www.doczj.com/doc/db2711765.html, 国密SM2密码算法的C语言实现 作者:邢维哲 来源:《中国新通信》2017年第18期 【摘要】 N.Koblitz和https://www.doczj.com/doc/db2711765.html,ler在1985年各自独立地提出将椭圆曲线应用于公钥密码系统。SM2椭圆曲线密码算法是国家密码管理局批准的一组算法,在电力自动化通讯中得到了 广泛应用。本文介绍了SM2椭圆曲线公钥密码算法和加密解密算法中一部分过程的C语言实现。 【关键词】椭圆曲线 SM2 密码算法公钥加密解密 Implementation of Public Key Cryptographic Algorithm SM2 based on C language XINGWEIZHE (1. XINGWEIZHE COLLEGE OF ENGINEERING, PEKING UNIVERSITY,BEIJING,100871) Abstract: Applying elliptic curves on public key cryptosystem was put forward independently by Koblitz and https://www.doczj.com/doc/db2711765.html,ler in 1985. Public Key Cryptographic Algorithm SM2 is Public Key Cryptographic Algorithm SM2, as the Chinese national cryptographic standard, is widely used in communications of automation system. This paper introduces elliptic curve cryptosystem and gives an implementation based on C language. Key word: elliptic curve cryptosystem; Public Key Cryptographic Algorithm SM2; elliptic curve

国密算法和国际密码算法在车载单片机上应用的对比研究

n C tinfo security 技术研究2019年第8期\_________________________________________________________________________________________________________■doi:10.3969/j.issn.1671-1122.2019.08.010 国密算法和国际密码算法在车载单片机上 应用的对比研究 ---------------------------吴志红,赵建宁,朱元,陆科---------------------------- (同济大学,上海201800) 摘要:文章介绍了车载网络安全和密码学应用的研究现状,结合前人的研究分析了国密SM4、SM3、SM2算法和对应国际密码算法的差异。在可编程的硬件加密模 块上进行实验,从软件执行时间、运行内存占用等方面对比了国密算法和国际密码算 法的性能。结果表明,国密SM系列算法和对应国际密码算法占用大小相当的运行内存, 任何一种国密算法和对应的国际密码算法在软件执行速度方面都存在差异,但算法执 行时间的差别最大不超过31%。文章研究可为基于国密算法的车载和车联网安全通信 提供基础,也可为开发国密算法的硬件加密模块提供参考。 关键词:车联网;国密算法;国际密码算法;车载单片机 中图分类号:TP309文献标识码:A文章编号:1671-1122(2019)08-0068-08 中文引用格式:吴志红,赵建宁,朱元,等.国密算法和国际密码算法在车载单片机上应用的对比研究[J]. 信息网络安全,2019,19(8):68-75. 英文引用格式:WU Zhihong,ZHAO Jianning,ZHU Yuan,et https://www.doczj.com/doc/db2711765.html,parative Study on Application of Chinese Cryptographic Algorithms and International Cryptographic Algorithms in Vehicle Microcotrollers卩].Netinfb Security 2019,19(8):68-75. Comparative Study on Application of Chinese Cryptographic Algorithms and International Cryptographic Algorithms in Vehicle Microcotrollers WU Zhihong,ZHAO Jianning,ZHU Yuan,LU Ke (Tongji University,Shanghai201800,China) Abstract:This paper introduces the research status of in-vehicle cybersecurity and cryptography applications,and analyzes the differences between the Chinese cryptographic algorithms-SM4,SM3,SM2and corresponding international cryptographic algorithms based on previous study.Experiments are carried out on the programmable hardware encryption module.The performance of the Chinese cryptographic algorithms and corresponding international cryptographic algorithms is compared in terms of software execution time and running memory occupation.There is a difference in software execution speed between 收稿日期:2019-3-2 基金项目:国家重点研发计划[2017YFE0101400] 作者简介:吴志红(1961—),男,浙江,教授,博士,主要研究方向为电机传动、嵌入式系统安防机制;赵建宁(1989—),男,河南,博士研究生,主要研究方向为汽车网络安全防扒车载安全协议、密码学应用;朱元(1976—),男,江苏,副教授,博士,主要研究方向为电机传动、汽车功能安全、信息安全;陆科(1983—),男,江苏,博士,主要研究方向为汽车功能安全、信息妥全。 通信作者:赵建宁1510810@https://www.doczj.com/doc/db2711765.html, 68

基于国密算法、数字证书的安全问题理解

基于国密算法、数字证书的安全问题理解 1. 国密算法发展背景 随着金融安全上升到国家安全高度,近年来国家有关机关和监管机构站在国家安全和长远战略的高度提出了推动国密算法应用实施、加强行业安全可控的要求。摆脱对国外技术和产品的过度依赖,建设行业网络安全环境,增强我国行业信息系统的“安全可控”能力显得尤为必要和迫切。 密码算法是保障信息安全的核心技术,尤其是最关键的银行业核心领域长期以来都是沿用3DES、SHA-1、RSA等国际通用的密码算法体系及相关标准,为从根本上摆脱对国外密码技术和产品的过度依赖。2010年底,国家密码管理局公布了我国自主研制的“椭圆曲线公钥密码算法”(SM2算法)。为保障重要经济系统密码应用安全,国家密码管理局于2011年发布了《关于做好公钥密码算法升级工作的通知》,要求“自2011年3月1日期,在建和拟建公钥密码基础设施电子认证系统和密钥管理系统应使用SM2算法。自2011年7月1日起,投入运行并使用公钥密码的信息系统,应使用SM2算法。” 2. 国密算法 安全的本质是算法和安全系统 保证安全最根本的方法是基础软件和基础硬件都是自己控制,目前我国无法短期国产化的情况下,数据加密是最好的方式。如果加密算法以及实现都是外国提供的,安全性从何说起,所以我国国家密码局发布了自主可控的国密算法 国密算法:为了保障商用密码的安全性,国家商用密码管理办公室制定了一系列密码标准,包括SM1(SCB2)、SM2、SM3、SM4、SM7、SM9、祖冲之密码算法(ZUC)那等等。 其中SM1、SM4、SM7、祖冲之密码(ZUC)是对称算法;SM2、SM9是非对称算法;SM3是哈希算法。 目前SM1、SM7算法不公开,调用该算法时,需要通过加密芯片的接口进行调用 3. 国密算法的现状 虽然在SSL VPN、数字证书认证系统、密钥管理系统、金融数据加密机、签名验签服务器、智能密码钥匙、智能IC卡、PCI密码卡等产品上改造完毕,但是目前的信息系统整体架构中还有操作系统、数据库、中间件、浏览器、网络设备、负载均衡设备、芯片等软硬件,由于复杂的原因无法完全把密码模块升级为国产密码模块,导致整个信息系统还存在安全薄弱环节。 4. 浏览器与SSL证书 SSL证书的作用就是传输加密 如果网站安装了SSL证书,就启用了https访问,那么你的访问就更加安全了。

国密算法应用流程

RJMU401国密算法应用流程 一、国密芯片RJMU401数据加密传输、身份认证及数据完整性保证 1、传输信道中的数据都采用SM4分组加密算法,保证数据传输时数据的机密性; 2、使用散列算法SM3保证数据的完整性,以防止数据在传输的过程中被篡改; 3、使用非对称算法SM2的私钥签名来保证数据的不可抵赖性,确保数据是从某一个确 定的车载用户端发出; 4、具体流程如下: a、用户数据使用SM3进行散列运算得到数据摘要,再使用非对称算法SM2进行 摘要签名; b、同时使用对称算法SM4的密钥对数据摘要进行加密并传输给安全模块; c、使用同一个对称算法SM4密钥对用户数据进行加密,并将加密后的密文传输给 监控端; d、监控端收到数据密文后,使用对应的密钥进行对称算法SM4解密,并使用散列 算法对解密后的数据进行运算得到数据摘要1; e、监控端对收到的摘要签名进行对称算法SM4解密,再经过非对称算法解密得到 最初的数据摘要2; f、对比数据摘要1和数据摘要2,若两者相等则认为传输数据具备完整性;否则 认为数据出错; 图1、数据加密传输、数据完整性及签名认证流程 补充说明: 1、需要有一主机发起认证指令,监控端收到对应指令后,会产生一个随机数(会话密 钥),可用该随机数作为对称加密SM4的单次密钥,用于加密传输的数据; 2、此SM4的会话密钥不会明文传输,监控端查找对应车载用户端的公钥进行加密,传 给对应的车载用户端,车载用户端收到数据后,用自己的SM2私钥解密,即可得到此次会话密钥。(会话密钥采用非对称密钥机制进行传输) 3、每一个车载用户端存放一个或者两个SM2密钥对,可采用CA证书形式。证书在车 载用户端生产时候预置进安全芯片RJMU401,监控端存储所有的车载用户端的SM2密钥对(证书)。

国密算法

国密算法(SM1/2/4)芯片用户手册(UART接口) 注意:用户在实际使用时只需通过UART口控制国密算法芯片即可,控制协议及使用参考示例见下面 QQ:1900109344(算法芯片交流)

目录 1.概述 (3) 2.基本特征 (3) 3.通信协议 (3) 3.1.物理层 (3) 3.2.链路层 (4) 3.2.1.通讯数据包定义 (4) 3.2.2.协议描述 (4) 3.3.数据单元格式 (5) 3.3.1.命令单元格式 (5) 3.3.2.应答单元格式 (5) 3.4.SM1算法操作指令 (6) 3.4.1.SM1 加密/解密 (6) 3.4.2.SM1算法密钥导入指令 (6) 3.5.SM2算法操作指令 (7) 3.5.1.SM2_Sign SM2签名 (7) 3.5.2.SM2_V erify SM2验证 (7) 3.5.3.SM2_Enc SM2加密 (8) 3.5.4.SM2_Dec SM2解密 (9) 3.5.5.SM2_GetPairKey 产生SM2密钥对 (9) 3.5.6.SM2算法公钥导入 (10) 3.6.SM4算法操作指令 (10) 3.6.1.SM4加密/解密 (10) 3.6.2.SM4算法密钥导入指令 (11) 3.7.校验/修改Pin指令 (11) 3.8.国密算法使用示例(Uart口命令流) (12) 3.8.1.SM1算法操作示例 (12) 3.8.2.SM2算法操作示例 (13) 3.8.3.SM4算法操作示例 (14) 3.9.参考数据 (15) 3.9.1.SM1参考数据 (15) 3.9.2.SM2参考数据 (15) 3.9.3.SM4参考数据 (17)

数据存储及码流数据传输中的国密算法安全应用

? 160 ? ELECTRONICS WORLD ?技术交流 数据存储及码流数据传输中的国密算法安全应用 深圳市东进技术股份有限公司 王良田 前言:国密算法作为现代行业核心领域通用的密码算法,为进一步提升密码算法的可控性能,工作人员采用实时数据加密处理的方法,有效降低信息传输风险,增强数据信息的安全性。本文主要针对数据存储及码流数据传输中国密算法的运用进行分析。 工作人员在进行数据传输时,及时采用动态密钥方式进行数据加密处理,并加强密钥、算法等体系的设计和研究,在多次现场实践的基础上,信息安全得到可靠保障。码流信息传输中,国密算法作为主要技术支撑,通过借助信息隐藏理论构建码流信息安全管理框架,并对相应的码流信息有效分类,从而快速掌握关键技术。国密算法是信息隐蔽传输的载体,以信息伪装形式,并通过信道渠道,将相应信息进行密钥处理,大大提升码流数据信息的机密性。 1.国密算法的相关介绍 1.1 国密算法概念 国密算法主要包括SM2、SM3、SM4等多种算法原理,建立在密钥体系之上,相应人员在采用国密算法的环节,需全面掌握对称加密算法SM4、非对称加密算法SM2、摘要算法SM3等基础理论,SM2\SM3\SM4是经过国家认定的国产密码算法,其工作任务是:加密、解密、签名、验签、摘要等操作。1.2 主要类型 SM2属于非对称加密算法类型,密钥长度:公钥长度是32字节,私钥长度为32字节,是一种基于椭圆曲线理论实现的非对称算法,加密强度是256位,目前在密钥体系中主要用于密钥交换;SM3属于摘要算法类型,密钥长度不明确,对输入数据无要求,输出数据是固定长度:32字节,实际工作中主要对于给定长度位的码流信息再经过填充、迭代、选裁等处理,最终生成摘要值,加密强度为256比特,目前在码流信息传输中,人员为保证相应信息的完整性,将SM3加密算法进行广泛运用,确保工作信息不被篡改;SM4属于对称加密算法类型,密钥长度为16字节,输出数据的长度为16字节整数倍,加密强度为128比特,采用的是32轮非线性迭代结构,现如今被广泛运用于码流数据信息加密操作中。 2.国密算法在数据存储及码流数据传输中的应用现状 传统的码流数据传输中,人员为提高数据存储的安全性,主要采用人工巡查方式,每日进行安全巡查,然而导致大量人力和物力浪费,更为严重的是,码流信息传输的安全性得不到保障。行业领域内的数据安全成为社会关注的话题,也是行业发展中需要解决的问题,运用国密算法的基础上,工作人员及时掌握传感器获得信息参数,并对数据存储及码流信息传输等过程实行信息安全监控,监控中发现:传输过程迅速,同时安全性有保障,工作信息免受外界环境干扰。 现阶段国密算法在数据存储及码流数据传输中的应用现状:管理人员加强信息安全体系研究,注重对国密算法的运用,积极掌握自动化监控系统的关键技术。比如在码流信息存储及传输环节,工 作人员广泛运用国密算法进行数据加密,大大提升码流信息传输的便捷性和安全性。 3.国密算法在数据存储及码流数据传输中的应用策略 3.1 安全体系架构 (1)为保证国密算法在数据存储中的有效运用,工作人员及时了解安全体系架构的知识,以提升传输层安全、数据层安全、管理安全等的目标出发。(2)认真完成身份认证,促进码流数据信息传输的完整性、不可否认性、保密性。(3)认真做好授权管理,充分发挥管理职能,综合考虑系统功能,快速推进安全体系构架。(4)广泛运用国密算法,对于传输层、数据层、管理层涉及到的安全问题提高重视,及时做好隐患排查,进一步完善码流信息传输的安全强度。图1 所示为安全体系架构。 图1 安全体系架构 3.2 算法安全设计 (1)加密设计:工作人员采用多算法多层次加密,提高码流信息传输的安全性,提升信息加密强度,比如人员利用SM4算法、SM2算法完成码流文件信息的加密、解密、验证、存储等操作,验证成功后方可使用私钥进行签名。(2)算法运用设计:算法运用中,数据加密处理中,使用预先存储的第一对密钥,码流信息加密时及时输入原文,借助密码卡快输出密文,验证签名时,快速输出签名结果,在卡内进行运算过程,保证了整个加密、计算过程的保密性。(3)码流文件设计:对相应码流文件信息进行加密、解密等操作时,首先服务端输入密码卡,然后送入对称密钥,同时输出密文,解密时,有效输出明文,并由客户端进行码流文件信息加 密,最终输出了明文,整个操作环节,都以信息安全为主要考虑。(4)密钥设计:密钥体系设计中,采用权限分散、多人共管的基本原则,对密钥体系进行有效分层,比如将密钥体系分为有效的系统根密钥、文件保护密钥、系统主密钥、用户证书密钥、通讯会话密钥等多种类型,强化码流文件信息安全保护,在系统内将相应信息及时存储下来,同时进行及时加密处理,采用有效的通讯会话密钥,加强码流信息传输过程保护,及时形成科学完善的密钥体系。3.3 数据加密方式 芯片在码流信息传输中起到非常重要的作用,是加密引擎系 (下转第163页)

国产密码算法及应用

国产密码算法及应用 商用密码,是指能够实现商用密码算法的加密、解密和认证等功能的技术。(包括密码算法编程技术和密码算法芯片、加密卡等的实现技术)。商用密码技术是商用密码的核心,国家将商用密码技术列入国家秘密,任何单位和个人都有责任和义务保护商用密码技术的秘密。 商用密码的应用领域十分广泛,主要用于对不涉及国家秘密内容但又具有敏感性的内部信息、行政事务信息、经济信息等进行加密保护。比如各种安全认证、网上银行、数字签名等。 为了保障商用密码安全,国家商用密码管理办公室制定了一系列密码标准,包括SSF33、SM1(SCB2)、SM2、SM3、SM4、SM7、SM9、祖冲之密码算法等等。其中SSF33、SM1、SM4、SM7、祖冲之密码是对称算法;SM2、SM9是非对称算法;SM3是哈希算法。 目前已经公布算法文本的包括SM2椭圆曲线公钥密码算法、SM3密码杂凑算法、SM4分组密码算法等。 一、国密算法简介 1.SM1对称密码 国密SM1算法是由国家密码管理局编制的一种商用密码分组标准对称算法,分组长度为128位,密钥长度都为128比特,算法安全

保密强度及相关软硬件实现性能与AES相当,算法不公开,仅以IP 核的形式存在于芯片中。 采用该算法已经研制了系列芯片、智能IC卡、智能密码钥匙、加密卡、加密机等安全产品,广泛应用于电子政务、电子商务及国民经济的各个应用领域(包括国家政务通、警务通等重要领域)。 2.SM2椭圆曲线公钥密码算法 SM2算法就是ECC椭圆曲线密码机制,但在签名、密钥交换方面不同于ECDSA、ECDH等国际标准,而是采取了更为安全的机制。国密SM2算法标准包括4个部分,第1部分为总则,主要介绍了ECC 基本的算法描述,包括素数域和二元扩域两种算法描述,第2部分为数字签名算法,这个算法不同于ECDSA算法,其计算量大,也比ECDSA 复杂些,也许这样会更安全吧,第3部分为密钥交换协议,与ECDH 功能相同,但复杂性高,计算量加大,第4部分为公钥加密算法,使用ECC公钥进行加密和ECC私钥进行加密算法,其实现上是在ECDH 上分散出流密钥,之后与明文或者是密文进行异或运算,并没有采用第3部分的密钥交换协议产生的密钥。对于SM2算法的总体感觉,应该是国家发明,其计算上比国际上公布的ECC算法复杂,相对来说算法速度可能慢,但可能是更安全一点。 设需要发送的消息为比特串M,len为M的比特长度。为了对明文M进行加密,作为加密者的用户应实现以下运算步骤: 步骤1:用随机数发生器产生随机数k∈[1,n -1];

国密算法芯片

国密算法芯片 用户手册 注意:用户在实际使用时需要通过UART口控制国密算法芯片,控制协议见下面说明,芯片本身只包含其中某几个算法,需要在购买时说明。 通过UART口发命令即可,方便用户使用,价格便宜 QQ:2425053909(注明加密芯片)

目录 1.概述 (2) 2.基本特征 (2) 3.通信协议 (2) 3.1.物理层 (2) 3.2.链路层 (3) 3.2.1. 通讯数据包定义 (3) 3.2.2. 协议描述 (3) 3.3.数据单元格式 (4) 3.3.1. 命令单元格式 (4) 3.3.2. 应答单元格式 (4) 4.国密芯片加解密指令 (5) 4.1.SM1算法操作指令 (5) 4.2.SM4算法操作指令 (5) 4.3.SM7算法操作指令 (6) 4.4.SSF33算法操作指令 (7) 4.5.SM3算法操作指令 (7)

1.概述 本文档适用于使用国密算法芯片进行终端开发的用户。终端开发者通过发送串口命令的方式操作国密芯片进行数据交换,国密产品应用开发。通过阅读本文档,终端开发者可以在无需考虑国密算法实现细节情况下,借助国密芯片来迅速改造现有系统使之适合国密应用。 2.基本特征 芯片的基本特征见下表: 3.通信协议 3.1.物理层 国密芯片采用系统供电方式,电压5V或者3.3V。国密芯片串口与系统MCU 串口相连,异步全双工通讯,波特率默认为115200bps。数据格式为1位起始位、8位数据位和1位停止位,无校验位。 系统MCU向国密芯片发送命令时,在同一个命令内,相连两个发送字符之间的间隔不应大于10个字符时间,否则国密芯片可能会认为命令超时导致无任何响应。

国密算法在金融IC卡应用的根CA技术要求

国产密码算法根CA系统技术要求 2012年7月

目次 1范围 (3) 2技术要求性引用文件 (3) 3术语及定义 (3) 3.1 发卡机构标识代码Bank Identification Number;BIN (3) 3.2 EMV (3) 3.3 入网机构标识码institution identification code (3) 3.4 成员机构(Member organisation) (4) 3.5 金融IC卡借记/贷记应用根CA(Financial IC Card Debit/Credit Applications Root CA) 4 3.6 发卡机构(Issuer) (4) 3.7 收单机构(Acquirer) (4) 3.8 主账号primary account number;PAN (4) 3.9 RID, Registered application provider identifier (4) 3.10 公钥密码算法(Public key cryptographic algorithm) (4) 3.11 哈希算法(Hash algorithm) (4) 3.12 静态数据认证,Static data authentication;SDA (4) 3.13 动态数据认证,Dynamic data authentication;DDA (4) 3.14 CDA, Combined dynamic data authentication/application cryptogram generation .4 4符号和缩略语 (4) 5根CA系统涉及密码算法的环节 (5) 6根CA的SM2密钥对 (5) 6.1 根CA的SM2私钥 (5) 6.2 根CA的SM2公钥 (5) 7根CA公钥文件 (5) 7.1 根CA公钥文件命名 (5) 7.2 根CA公钥文件内容 (6) 7.3 根CA公钥证书验证 (6) 8发卡行公钥证书申请 (7)

基于国密算法的文件安全系统研究与实现

基于国密算法的文件安全系统研究与实现 徐学东1,季才伟2 (1.长春工程学院机电学院,吉林长春,130012;2.长春易申软件有限公司,吉林长春,130012) 摘要:针对网络环境下电子文件的安全需求,研究基于国密算法的文件安全系统。提出C/S架构的系统模型,针对公共信道交互的安全性问题,提出“新鲜性标识符+挑战应答模式”的认证及密码协议方案,并完成了算法、密钥体系安全性设计和产品开发,目前已并通过了国密测试。 关键词:国密算法;公共信道;挑战应答模式;密钥体系 Research on the file security system based on the National commercial cipher algorithm Xu Xuedong1,Ji Caiwei2 (1.School of Mechanical&Electrical Engineering Changchun institute of Technology,ChangChun,130012; 2.Changchun E-sun Software Co.,ChangChun,130012) Abstract:According to the security requirement of the electronic file in the network environment,Analysis the file security system based on the national commercial cipher algorithm. Present C/S structure of the system model, “the fresh identifier + challenge response mode”authentication and cryptographic protocol is put forward to solve the problem of the safety of public channel interaction,and gives the algorithm and key security system design and specific implementation process.At present, has passed the testing of National commercial cipher algorithm. Keywords:National commercial cipher algorithm;Common channel;Challenge response mode;Key system 0 引言 重要电子文件传输、存储等过程中存在非法访问、窃取的风 险,需要通过密码产品进行保护。我国《商用密码管理条例》规定, 对信息进行加密保护或认证所使用的密码技术和产品,只能使用 经国家密码管理局审批认定的商用密码产品。商密产品必须基于 国密商用算法,且需通过国密产品检测获得产品型号。 国密商用算法是指国密 SM 系列算法。在国密产品检测中, 除了应用国密算法,基于PKI的加密体系,公共信道双向认证、算 法和密钥管理安全性和性能均有很高的要求。研究基于国密算法 的电子文件安全系统的设计方案,确保可信认证及无漏洞交互, 达到国密产品检测的要求。 1 系统架构设计 网络环境下,电子文件一般采取集中管理、分布使用的管理 方式。基于SC/SS架构模型,系统由服务端和客户端构成。总体 架构如图1。服务端负责用户的身份认证,权限控制,电子文件的 加密存储和行为审计。客户端负责文件的解密,监控文件的使用。 两者共同完成用户身份认证、会话协商密钥和客户端系统的安全 监控、防破解功能。 系统的加解密环节则需要在服务端和客户端分别实现。服务 端密码运算采用国密局审批通过的SJK1238加密卡,负责与客户 端协商会话密钥,验证客户端身份,对文档进行加解密。客户端采 用SJK1104 USBkey,负责与服务端协商会话密钥时的数字签名、 通讯数据加解密及客户端文档解密。为确保性能及密钥的安全 性,密码运算采用硬件加密。具体算法为:公钥密码算法为SM2, 杂凑算法为SM3,对称密码算法为SM4。 2 公共信道认证及密码协议 由于客户端和安全服务器的交互必须通过公共信道,其安全 设计至关重要。传统通过公共信道实现基于本地身份的交互认证 问题的研究已经较为深入。无密钥的安全传输机制也取得一些成 果。本设计的目标是简洁、高效、确保认证防止内部攻击。 2.1 新鲜性标识符概念 基于细粒度新鲜性的认证及密码协议是通过公共信道交互 的有效方案。其中新鲜性的概念是:协议运行期间,新鲜性标示 符N在产生时间t0之间没有被使用过。如果交互双方都相信新 鲜性标识符重复概率很低,攻击者在协议运行期间找到一个使用 过的标识符是实践上不可行的,则该新鲜性标识符只有若干合法 的主体拥有。 2.2 基于新鲜性标识符的挑战应答模式 挑战应答(Challenge/Response)模式是常用的认证方式,就 是每次认证时认证服务器端都给客户端发送一个"挑战"字串, 客户端程序收到这个"挑战"字串后,做出相应的"应答",认 证服务器将应答串与自己的计算结果比较,判断是否通过认证。 根据Dolev-Yao模型,每次交互过程双方均采用“新鲜性挑战”字 串,如加密算法完善,不同消息之间的格式不能相同,每个主体能 区分消息是否是由自己产生,则基于该新鲜性标识符进行双向认 证的过程就是安全的。 本系统客户端与服务器通讯采用标准双向认证协议,使用挑 战应答模式协商会话密钥,交互双方在交互过程中各产生一个新 鲜性随时数,作为签名验证的标识符。协商成功后通讯的数据均 使用会话密钥进行加密。协商过程如下: 基金项目:吉林省科技攻关计划项目(20140204060SF);吉林省教育厅科研规划项目(吉教科合字[2014]第337号)DOI:10.16520/https://www.doczj.com/doc/db2711765.html,ki.1000-8519.2016.18.029

国密算法高速加密芯片

国密算法 --TF32A09系列芯片 赵玉山1371 899 2179 芯片概述: TF32A09系列芯片采用独有的数据流加解密处理机制,实现了对高速数据流同步加解密功能,在加解密速度上全面超越了国内同类型芯片。 TF32A09系列芯片集成度高、安全性强、接口丰富、加解密速度快,具有极高的性价比。该系列芯片可广泛的应用于金融、电子政务、电子商务、配电、视频加 密、安全存储、工业安全防护、物联网安全防护等安全领域。 芯片架构:

关键特性: ?CS320D 32位安全内核,外部总线支持8位/16位/32位访问; ?工作频率可达到100MHz; ?64k Byte ROM,可将成熟固件或受保护代码掩膜到ROM,密码算法使用MPU保护; ?20kByte 片内SRAM,从容完成高速数据处理; ?512kByte Nor Flash,满足不同客户应用要求; ?拥有两个USB—OTG 接口,可根据应用需求设置成Host或Device ; ?集成多种通信接口和多种信息安全算法(SM1、SM2、SM3、SM4、3DES、RSA等),可实现高度整合的单芯片解决方案; ?支持在线调试,IDE 调试环境采用CodeWarrior。 内部存储器: ?20KB SRAM ?64KB ROM ?512KB FLASH 芯片外部接口:

技术参数: 1. 工作电压: 2.4V~ 3.6V 2. 频率:最高可达100MHZ 3. 外形尺寸:TF32A9FAL1(LQFP176,20X20X1.4mm ) TF32A9FCL1(LQFP80,10X10X1.4mm ) TF32A9FDL1(LQFP64,10X10X1.4mm ) 芯片优势: ? 自主设计,国产安全芯片 ? 专利设计,加密传输速度快 ? 拥有两个USB —OTG 接口,高速流加密 ? 接口丰富 ? 集成国密算法 外设模块 176Pin 芯片 80Pin 芯片 64Pin 芯片 USB1 ● ● ● USB2 ● ● 7816-1(智能卡) ● ● ● 7816-2(智能卡) ● ● SPI1 ● ● ● SPI2 ● UART1 ● ● ● UART2 ● ● NFC(nandFlash) ● ● I2C ● ● ● KPP(键盘) ● GPIO 32 16 2

车联网安全之国密算法与其他算法的区别

车联网安全之国密算法与其他算法的区别 概述: 在车联网中,不管是端到云、还是云到车,每个环节、每个节点的信息安全保障都离不开加解密算法的支持,加解密算法的合理使用以及其计算能力直接影响车联网的性能和用户的体验。 今天和大家讨论一下国密算法与其他加解密算法(即国际算法是美国的安全局发布,是现今最通用的商用算法)的差别,以便于车联网的设计者们在不同的环节、节点采用最优的算法,从而提高产品的性价比。 国密算法: 即国产密码算法,是国家密码局制定标准的一系列算法,其中包括了对称加密算法,椭圆曲线非对称加密算法,杂凑算法等,在金融领域目前主要使用公开的SM2、SM3、SM4三类算法,分别是非对称算法、哈希算法和对称算法。在车联网中,目前还没有车厂采用国密算法,但作者认为随着互联网安全作为国家属性的重要度提升,未来国密算法将是车联网安全领域的发展趋势。 与国际算法差别: SM1是国家密码管理部门审批的分组密码算法,分组长度和密钥长度都为128比特,算法安全保密强度及相关软硬件实现性能与AES相当,该算法不公开,仅以 IP核的形式存在于芯片中; 图1:SM1与AES的比较 SM2算法和RSA算法都是公钥密码算法,SM2算法是一种更先进安全的算法,在我们国家商用密码体系中被用来替换RSA算法。SM2性能更优更安全:密码复杂度高、处理速度快、硬件性能消耗更小。

图2:SM2与RSA的比较 注: 1. 亚指数级算法复杂度低于指数级别的算法。 2. RSA秘钥生成速度较慢。例:主频1.5G赫兹的话,RSA需要2-3秒的,这在车联网中是根本无法接受的,而SM2只需要几十毫秒。 SM3是摘要加密算法,该算法适用于商用密码应用中的数字签名和验证以及随机数的生成,是在SHA-256基础上改进实现的一种算法。SM3算法采用Merkle-Damgard结构,消息分组长度为512位,摘要值长度为256位。 图3:SM3与Sha256的比较 SM4分组密码算法是我国自主设计的分组对称密码算法,用于实现数据的加密/解密运算,以保证数据和信息的机密性,是专门为无线局域网产品设计的加密算法。

相关主题
文本预览
相关文档 最新文档