一种SM4认证加密算法的电路架构及控制方法技术

技术编号:38082466 阅读:11 留言:0更新日期:2023-07-06 08:49
本发明专利技术公开一种SM4认证加密算法的电路架构及控制方法,包括SM4算法核、控制状态、控制/数据/状态寄存器、模式输入控制逻辑和模式输出控制逻辑,通过针对SM4认证加密算法(SM4

【技术实现步骤摘要】
一种SM4认证加密算法的电路架构及控制方法


[0001]本专利技术涉及集成电路领域,具体涉及一种SM4认证加密算法的电路架构。

技术介绍

[0002]物联网 (Internet of Things, IoT) 已被广泛应用于各个行业,比如,在工业领域,将物联网终端部署在工业装置上,通过物联网终端实时监控和采集装置运行状态,然后将采集数据传输至云端大数据平台,技术人员借助于人工智能技术,实现工业装置的预测性维护,从而达到降低设备停运风险,缩减维护成本的目的。在这个应用案例中,数据影响大数据平台决策,若被篡改,则有可能导致错误指令下发、工业装置维护不及时,使得工业装置损坏停运,造成重大经济损失。在其他行业应用中,也有类似场景。物联网采集数据的重要性对数据安全保护提出新的需求和挑战。为了保护这些数据,避免因数据篡改而引起事故,需面向物联网制定数据安全保护解决方案。
[0003]为了防止物联网采集数据在传输过程中被篡改,应在数据发送之前做好数据完整性和机密性保护,使得即使在传输过程中经过网关或代理设备,也不会因为网关或代理设备的安全漏洞导致数据被恶意篡改。认证加密(Authenticated Encryption with Additional Data, AEAD) 算法可以同时提供数据完整性和机密性保护。在物联网终端上部署AEAD算法,可以提供数据源端的机密性和完整性保护。该类算法的部署可以采用软件或硬件实现。软件实现性能较低,占用较大程序存储空间(RFC7227定义的“0”类资源受限设备程序存储空间不足100 KB),而且功耗较高,因而不适合资源受限的物联网设备,特别是电池供电物联网设备。相较于软件实现,硬件实现性能高、功耗低、几乎不占用程序存储空间,因而更适合于物联网应用场景。
[0004]SM4

CCM和SM4

GCM算法是互联网工程任务组(IETF,Internet Engineering Task Force)2021年发布于RFC8998的国密认证加密算法。
[0005]SM4

CCM算法是将我国的分组密码算法标准SM4和美国标准技术研究所发布的分组密码工作模式CCM融合,为数据的安全提供机密性和完整性保障。与原始的CCM模式相比,SM4

CCM算法参数固定。比如,SM4

CCM生成认证码的长度固定为16个字节即128比特,而原始CCM标准支持七种不同长度; SM4

CCM Nonce的长度固定为12个字节,而原始CCM支持七种长度。参数固定带来的好处是算法实现的资源开销降低,因而更加适合于物联网之类的资源受限场景。CCM模式包含计数器(Counter, CTR)模式和CBC

MAC模式。CBC

MAC模式计算所有输入数据的消息认证码,包括Nonce,附加认证数据(AdditionalAuthenticated Data, AAD)和明文。 CTR模式负责明文的加密。在将数据送入CCM之前,需将数据按照128比特进行拼接和分组,然后依据数据类型启动不同的工作模式。比如,第一步传递的是Nonce数据块,第二步传递的是AAD数据块,这两种类型的数据块仅需启动CBC

MAC模式。第三步传递的是明文消息负载,需要同时启动CTR模式和CBC

MAC模式。前三步已经将数据传递完毕,最后一步是完成消息认证码的生成。
[0006]SM4

GCM算法将我国的分组密码算法标准SM4和美国标准技术研究所发布的分组
密码工作模式GCM融合,能够同时提供数据机密性和完整性保障。与原始的GCM标准相比,SM4

GCM的算法参数也是固定的。比如,SM4

GCM生成的认证码长度固定为16字节,而原始GCM支持32比特、64比特等较短长度的认证码;SM4

GCM初始化向量(RFC8998也称之为Nonce)的长度固定为12字节即96比特,而原始GCM支持长度不等于96比特的初始化向量。GCM模式由CTR模式和GHASH算法组成。其中,CTR模式对明文进行加密生成密文,而GHASH则计算AAD、密文、AAD的长度以及密文的长度的消息认证码。对比CCM和GCM可以发现,GCM模式下的认证码生成依赖的是密文,而CCM模式下的依赖的是明文。与CCM模式相同,在将数据送入GCM之前,需将数据按照128比特进行拼接和分组,然后依据数据类型启动不同的工作模式。比如,第一步传递的是Nonce数据块,第二步传递的是AAD数据块,这两种类型的数据块仅需启动GHASH模式。第三步传递的是明文消息负载,需要同时启动CTR模式和GHASH模式。前三步已经将数据传递完毕,最后一步是完成消息认证码的生成。
[0007]上述算法分析可以得出以下四个发现:(1) SM4

CCM和SM4

GCM均需要CTR模式;(2) 两种算法的工作流程相似,均可分为四步;(3)CBC

MAC模式和CTR模式均需要SM4,差别仅在于SM4的输入/输出数据不同;(4) 除了数据长度寄存器和参数H寄存器不能资源共享之外,SM4

CCM和SM4

GCM的存储资源均可以共享。

技术实现思路

[0008]本专利技术的目的在于提供一种SM4认证加密算法的电路架构,通过针对SM4认证加密算法(SM4

CCM和SM4

GCM)的硬件电路架构设计,将SM4

CCM算法的硬件实现融入到SM4

GCM算法的硬件实现中,通过控制资源、存储资源和计算资源的共享,实现同一款电路支持多种分组密码算法模式,具体包括SM4

ECB、SM4

CBC、SM4

CTR、SM4

CCM和SM4

GCM。
[0009]一种SM4认证加密算法的电路架构,包括SM4算法核、控制状态机、控制/数据/状态寄存器、模式输入控制逻辑和模式输出控制逻辑,所述控制/数据/状态寄存器连接在总线接口和控制状态机之间,所述模式输入控制逻辑与SM4算法核连接,且SM4算法核还与模式输出控制逻辑连接,所述模式输入控制逻辑、 SM4 算法核和模式输出控制逻辑都与控制状态机连接;所述控制状态机依照CCM/GCM 算法流程设计,包括9 个状态:状态S1 为Nonce 处理阶段,此阶段运行SM4

ECB 模式;状态S2 为AAD 的处理阶段,此阶段运行SM4

CBC 或者GHASH模式;状态S3
ꢀ−ꢀ
S5 为消息负载的处理阶段,此阶段先计数值更新,然后启动SM4

CTR 模式,最后依据CCM/GCM 分别启动S本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种SM4认证加密算法的电路架构,其特征在于,包括SM4算法核S109、控制状态机S113、控制/数据/状态寄存器S106、模式输入控制逻辑S108和模式输出控制逻辑S110,所述控制/数据/状态寄存器S106连接在总线接口和控制状态机S113之间,所述模式输入控制逻辑S108与SM4算法核S109连接,且SM4算法核S109还与模式输出控制逻辑S110连接,所述模式输入控制逻辑S108、SM4算法核S109和模式输出控制逻辑S110都与控制状态机S113连接;所述控制状态机S113依照CCM/GCM算法流程设计,包括9个状态:状态S1为Nonce处理阶段,此阶段运行SM4

ECB模式;状态S2为AAD的处理阶段,此阶段运行SM4

CBC或者GHASH模式;状态S3

S5为消息负载的处理阶段,此阶段先更新计数值,然后启动SM4

CTR模式,最后依据CCM/GCM分别启动SM4

CBC模式或者GHASH算法;状态S6

S8为认证码生成阶段,此阶段GCM算法比CCM算法多了一个长度计数器GHASH计算。2.根据权利要求1所述的一种SM4认证加密算法的电路架构,其特征在于:所述状态S...

【专利技术属性】
技术研发人员:陈锐李春强马燕芹赵慧娟马浩
申请(专利权)人:南京工业职业技术大学
类型:发明
国别省市:

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

1