一种基于SM9标识密码算法的加解密协处理器及其运算方法技术

技术编号:18403524 阅读:21 留言:0更新日期:2018-07-08 21:59
本发明专利技术涉及一种基于SM9标识密码算法的加解密协处理器及其运算方法,所述加解密协处理器包括:指令输入装置,其用于将外部命令进行转换;SM9核心运算模块,其用于完成椭圆曲线密码ECC点加、ECC倍加、扩域ECC点加、扩域ECC倍加、大数模幂以及扩域元素模幂;流水控制运算模块,其用于实现对SM9核心运算模块、SM9预处理运算模块和基本运算器的动态调用和流水线的数据调度,并且所述流水控制运算模块通过数据周期控制完成ECC点乘和扩域ECC点乘运算;SM9预处理运算模块,其用于进行标识的拼接、坐标系转换前的计算、公共参数的计算和ECC配对运算操作;基本运算器,其用于完成模乘,模加以及模减运算,所述基本运算器与所述流水控制运算模块和SM9核心运算模块相连接。

A encryption and decryption coprocessor based on SM9 identification cryptography algorithm and its operation method

The invention relates to an encryption and decryption coprocessor based on the SM9 identification cipher algorithm and its operation method. The encryption and decryption coprocessor includes an instruction input device, which is used to convert the external command; the SM9 core operation module is used to complete the elliptic curve cryptography ECC point addition, the ECC multiplication, the expanded domain ECC point addition, and the extended domain ECC. The power of multiplier, large number modulus and expansion of domain elements; flow control operation module is used to realize the dynamic call to the SM9 core operation module, the SM9 preprocessing module and the basic operation device and the data scheduling of the pipeline, and the flow control operation module completes the ECC dot multiplication and the extended domain ECC dot multiplication through the data cycle control. The SM9 preprocessing module, which is used to carry out the splicing of the identification, the calculation before the coordinate system conversion, the calculation of the common parameters, and the operation of the ECC pairing operation; the basic arithmetic unit is used to complete the mode multiplication, the mode addition and the mode subtraction operation. The basic arithmetic unit is related to the running water control module and the SM9 core operation module. Connect.

【技术实现步骤摘要】
一种基于SM9标识密码算法的加解密协处理器及其运算方法
本专利技术涉及加解密装置领域,并且更具体地,涉及一种基于SM9标识密码算法的加解密协处理器及其运算方法。
技术介绍
基于身份标识的密码系统(Identity-BasedCryptograph,简称IBC),是一种非对称的公钥密码体系。用户的公钥由用户标识唯一确定,从而用户不需要第三方来保证公钥的真实性。用椭圆曲线配对构造标识公钥密码,在椭圆曲线的循环子群与扩域的乘法循环子群之间建立联系,构成了双线性难题。当椭圆曲线离散对数问题和扩域离散对数问题的求解难度相当时,可用椭圆曲线对构造出安全性和实现效率最优化的标识密码系统。2007年中国国家标识密码算法正式通过评审,给予SM9商密算法型号;2014年完成了SM9算法曲线的选定工作;2016年国家密码管理局发布了《SM9标识密码算法》,标准编号:GM/T0044-2016。SM9标识密码算法具有方便易用的特点,这使得它可以广泛应用于智能终端、物联网等硬件设备中,因此设计一款实用高效的SM9标识密码算法加解密协处理器就显得尤为重要。
技术实现思路
为了解决
技术介绍
存在的上述问题,本专利技术提供一种基于SM9标识密码算法的加解密协处理器。SM9密码运算可以效拆解为大数运算、扩域元素运算、扩域ECC(椭圆曲线密码)运算、ECC配对运算和ECC运算,其中大数运算是最基础的运算模块,其他运算模块都依赖于大数运算,通过这些运算模块可以构筑SM9密码运算,包括加解密、签名验证和密钥交换。因此,本专利技术所述加解密协处理器包括:指令输入装置,其用于将外部命令进行转换,所述装置分别与SM9核心运算模块、SM9预处理运算模块、以及流水控制运算模块相连接;SM9核心运算模块,其用于完成椭圆曲线密码ECC点加、ECC倍加、扩域ECC点加、扩域ECC倍加、大数模幂以及扩域元素模幂,所述SM9核心运算模块与SM9预处理运算模块、流水控制运算模块以及基本运算器相连接;流水控制运算模块,其用于实现对SM9核心运算模块、SM9预处理运算模块和基本运算器的动态调用和流水线的数据调度,并且所述流水控制运算模块通过数据周期控制完成ECC点乘和扩域ECC点乘运算,所述流水控制运算模块分别与指令输入装置、SM9核心运算模块、SM9预处理运算模块和基本运算器相连接;SM9预处理运算模块,其用于进行标识的拼接、坐标系转换前的计算、公共参数的计算和ECC配对运算操作,所述SM9预处理运算模块分别与指令输入装置、SM9核心运算模块和流水控制运算模块相连接;基本运算器,其用于完成模乘,模加以及模减运算,所述基本运算器与所述流水控制运算模块和SM9核心运算模块相连接。进一步地,所述基本运算器包括:循环移位寄存器组、乘法器、选通器、临时寄存器、加法器、进位寄存器和减法逻辑单元。进一步地,所述加解密协处理器还包括缓存,所述的缓存分别与所述的指令输入装置和基本运算器相连接。进一步地,所述指令输入装置是译码器,其中所述译码器控制SM9核心运算模块、SM9预处理运算模块以及流水控制运算模块完成SM9标识密码运算,控制基本运算器完成模乘、加、减计算以及控制缓存的初始化,移位和存储。进一步地,所述译码器用于提供启动信号,其包括接收外部微程序控制器的写信号、读信号、复位信号、8位的地址信号的输入端,以及接收从SM9核心运算模块、SM9预处理运算模块以及流水控制运算模块返回的状态值的输入端。进一步地,所述启动信号为向SM9核心运算模块发出的经译码产生的启动信号、向SM9预处理运算模块发出的经译码产生的启动信号、向流水控制运算模块发出的经译码产生的启动信号和向缓存输出的经译码产生的读/写数据的信号。进一步地,所述流水控制运算模块的流水线数据调度在将复杂运算分为顺序执行的5个步骤,每个时钟周期仅完成其中一个步骤,即单级流水线工作时,一次运算需要5个时钟周期计算出结果。进一步地,所述SM9预处理运算模块中标识的拼接采用组合连接方式,坐标系的转换和公共参数的计算由模乘结合加法器来完成,ECC配对运算主要是通过基本大数运算、扩域元素运算以及ECC点加/倍加运算来实现。根据本专利技术的另一方面,本专利技术提供一种基于SM9标识密码算法进行加解密计算的方法,所述方法包括:令输入装置将外部命令进行转换;基本运算器完成模乘,模加以及模减运算;流水控制运算模块进行基本运算器的动态调用和流水线的数据调度,通过数据周期控制完成ECC点乘和扩域ECC点乘运算;流水控制运算模块进行基本运算器和SM9核心运算模块的动态调用和流水线的数据调度,通过数据周期控制完成椭圆曲线密码ECC点加、ECC倍加、扩域ECC点加、扩域ECC倍加、大数模幂以及扩域元素模幂运算;流水控制运算模块进行基本运算器和SM9预处理模块的动态调用和流水线的数据调度,通过数据周期控制完成标识的拼接、坐标系转换前的计算、公共参数的计算和ECC配对运算操作;以及完成SM9密码运算。通过本专利技术提供的基于SM9标识密码算法的加解密协处理器,将SM9标识密码算法有效拆解,在数据处理的规整性、并行性、器件的复用性和重构性上具有一定的创新性,而且所述加解密协处理器接口方式简单,采用模块化控制,使运算速度大大加快,将ECC点乘和ECC配对等复杂运算分解为规整的乘法全加减基本计算,规整了计算操作,减少中间步骤,减少了寄存器的个数,具有较强的实用性。附图说明通过参考下面的附图,可以更为完整地理解本专利技术的示例性实施方式:图1是本专利技术具体实施方式的基于SM9标识密码算法的加解密协处理器的结构图;以及图2是本专利技术具体实施方式的基于SM9标识密码算法进行加解密计算的方法的流程图。具体实施方式现在参考附图介绍本专利技术的示例性实施方式,然而,本专利技术可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本专利技术,并且向所属
的技术人员充分传达本专利技术的范围。对于表示在附图中的示例性实施方式中的术语并不是对本专利技术的限定。在附图中,相同的单元/元件使用相同的附图标记。除非另有说明,此处使用的术语(包括科技术语)对所属
的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。图1是本专利技术具体实施方式的基于SM9标识密码算法的加解密协处理器的结构图。如图1所示,所述加解密协处理器100包括指令输入装置101、SM9核心运算模块102、流水控制运算模块103、SM9预处理运算模块104、基本运算器105和缓存106。指令输入装置101,其用于将外部命令进行转换,所述装置分别与SM9核心运算模块、SM9预处理运算模块、以及流水控制运算模块相连接;SM9核心运算模块102,其用于完成椭圆曲线密码ECC点加、ECC倍加、扩域ECC点加、扩域ECC倍加、大数模幂以及扩域元素模幂,所述SM9核心运算模块与SM9预处理运算模块、流水控制运算模块以及基本运算器相连接;流水控制运算模块103,其用于实现对SM9核心运算模块、SM9预处理运算模块和基本运算器的动态调用和流水线的数据调度,并且所述流水控制运算模块通过数据周期控制完成ECC点乘和扩域ECC点本文档来自技高网
...

【技术保护点】
1.一种基于SM9标识密码算法的加解密协处理器,其特征在于,所述加解密协处理器包括:指令输入装置,其用于将外部命令进行转换,所述装置分别与SM9核心运算模块、SM9预处理运算模块、以及流水控制运算模块相连接;SM9核心运算模块,其用于完成椭圆曲线密码ECC点加、ECC倍加、扩域ECC点加、扩域ECC倍加、大数模幂以及扩域元素模幂,所述SM9核心运算模块与SM9预处理运算模块、流水控制运算模块以及基本运算器相连接;流水控制运算模块,其用于实现对SM9核心运算模块、SM9预处理运算模块和基本运算器的动态调用和流水线的数据调度,并且所述流水控制运算模块通过数据周期控制完成ECC点乘和扩域ECC点乘运算,所述流水控制运算模块分别与指令输入装置、SM9核心运算模块、SM9预处理运算模块和基本运算器相连接;SM9预处理运算模块,其用于进行标识的拼接、坐标系转换前的计算、公共参数的计算和ECC配对运算操作,所述SM9预处理运算模块分别与指令输入装置、SM9核心运算模块和流水控制运算模块相连接;以及基本运算器,其用于完成模乘,模加以及模减运算,所述基本运算器与所述流水控制运算模块和SM9核心运算模块相连接。...

【技术特征摘要】
1.一种基于SM9标识密码算法的加解密协处理器,其特征在于,所述加解密协处理器包括:指令输入装置,其用于将外部命令进行转换,所述装置分别与SM9核心运算模块、SM9预处理运算模块、以及流水控制运算模块相连接;SM9核心运算模块,其用于完成椭圆曲线密码ECC点加、ECC倍加、扩域ECC点加、扩域ECC倍加、大数模幂以及扩域元素模幂,所述SM9核心运算模块与SM9预处理运算模块、流水控制运算模块以及基本运算器相连接;流水控制运算模块,其用于实现对SM9核心运算模块、SM9预处理运算模块和基本运算器的动态调用和流水线的数据调度,并且所述流水控制运算模块通过数据周期控制完成ECC点乘和扩域ECC点乘运算,所述流水控制运算模块分别与指令输入装置、SM9核心运算模块、SM9预处理运算模块和基本运算器相连接;SM9预处理运算模块,其用于进行标识的拼接、坐标系转换前的计算、公共参数的计算和ECC配对运算操作,所述SM9预处理运算模块分别与指令输入装置、SM9核心运算模块和流水控制运算模块相连接;以及基本运算器,其用于完成模乘,模加以及模减运算,所述基本运算器与所述流水控制运算模块和SM9核心运算模块相连接。2.根据权利要求1所述的加解密协处理器,其特征在于,所述基本运算器包括:循环移位寄存器组、乘法器、选通器、临时寄存器、加法器、进位寄存器和减法逻辑单元。3.根据权利要求1所述的加解密协处理器,其特征在于,所述加解密协处理器还包括缓存,所述的缓存分别与所述的指令输入装置和基本运算器相连接。4.根据权利要求3所述的加解密协处理器,其特征在于,所述指令输入装置是译码器,其中所述译码器控制SM9核心运算模块、SM9预处理运算模块以及流水控制运算模块完成SM9标识密码运算,控制基本运算器完成模乘、加、减计算以及控制缓存的初始化,移位和存储。5.根据权利要求4所...

【专利技术属性】
技术研发人员:张庆胜郭宝安苏斌
申请(专利权)人:航天信息股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1