加密物联网技术方案—基于国密芯片
基于国密算法的MQTT安全机制研究与实现

基于国密算法的MQTT安全机制研究与实现
刘泽超;梁涛;孙若尘;郝志强;李俊
【期刊名称】《计算机科学》
【年(卷),期】2024(51)2
【摘要】针对现有MQTT协议缺乏有效身份认证以及数据以明文形式传输的问题,提出了一种基于国密算法SM2,SM3,SM4的MQTT安全保护方案。
通过SM2算法实现客户端与MQTT Broker之间的双向身份认证;通过SM4算法加密MQTT 协议中用户名、密码、主题的消息内容等数据;通过SM3算法保证MQTT协议传输数据的完整性。
将自主可控的国产密码技术应用到MQTT协议中,可有效提升该协议的安全防护能力。
安全性分析和实验结果表明,所提方案在解决了MQTT协议安全问题的同时,也可以满足实际的应用需求。
【总页数】10页(P333-342)
【作者】刘泽超;梁涛;孙若尘;郝志强;李俊
【作者单位】哈尔滨工程大学计算机科学与技术学院;电子政务建模仿真国家工程实验室;国家工业信息安全发展研究中心;三亚学院信息与智能工程学院
【正文语种】中文
【中图分类】TP309.2
【相关文献】
1.基于OpenCryptoki实现国密算法功能的研究
2.基于国密算法的北斗短报文安全防护系统的研究与实现
3.基于国密算法的新型电子邮件加密系统研究与实现
4.一种基于国密算法实现银行柜面电子签字的设计研究
因版权原因,仅展示原文概要,查看原文内容请购买。
211081252_基于国密算法的通信数据加密传输方法

I G I T C W24DIGITCW2023.03传统的通信数据加密[1]传输方法运算速度慢,并且由于对信息安全问题重视程度低,导致系统防御能力太弱。
在传输数据时没有加密,导致数据传输不完整,被非法监听与篡改,没有身份认证功能使得结果无法达到预期。
故本文基于国密算法的通信数据加密传输方法,以通信数据加密传输作为研究对象,运用国密算法,结合实际情况展开实验和分析。
1 通信数据加密传输1.1 构建多节点通信数据拓扑模型通过操作端的上传与更新,获得任务[2]。
采用VPN 组网实现多个端口有效连接,该网络拓扑结构中的VPN 网络宽带为,则(1)式中,表示不同节点通信网络数据中的中心节点;为中心节点中的两侧节点;为所有节点的交集。
在网络通信时,根据分层时间与接收信号时间,发送信号从数据链路层发出请求,达到传输层后,使用TCP 对接收到的报文进行提取与分析,对所有数据报文上按照顺序完成标号,记录其对应的端口号,将标记结果传递给网络层,IP 增加主机MAC 地址,与IP 地址完基于国密算法的通信数据加密传输方法刘仲驰(江西制造职业技术学院信息工程学院,江西 南昌 330095)摘要:由于传统通信数据加密传输方法表占用内存大,加密与解密速度慢,文章基于国密算法的通信数据加密传输方法,构建多节点通信数据拓扑模型,根据分层的时间与接收信号的时间获得请求信号,通过TCP/IP实现双方网络通信,实现收发两端之间的连接;运用国密算法对随机数进行加密与解密,并在网关处认证身份标识,阻止网络异常攻击完成入网认证;设定同步传输密钥,在传输过程中通信数据信息在两端同步传输,从而高效完成基于国密算法的通信数据加密传输。
实验结果表明,此方法表占用内存小,加解密速度快,经济可行。
关键词:国密算法;通信数据;加密传输;TCP/IP协议doi:10.3969/J.ISSN.1672-7274.2023.03.008中图分类号:TN 919.3 文献标示码:A 文章编码:1672-7274(2023)03-0024-03Encryption Transmission Method of Communication Data Basedon National Security AlgorithmLIU Zhongchi(Department of Information Engineering, Jiangxi Technical Collegeof Manufacturing, Nanchang 330095, China)Abstract: Because the traditional communication data encryption transmission method table occupies large memory and the encryption and decryption speed is slow, this paper studies the communication data encryption transmission method based on the national secret algorithm. Build a multi-node communication data topology model, obtain the request signal according to the layered time and the time of receiving the signal, realize the network communication between the two sides through TCP/IP protocol, and realize the connection between the receiving and sending ends; Use the national secret algorithm to encrypt and decrypt the random number, and authenticate the identity at the gateway to prevent the network abnormal attack to complete the network access authentication; Set the synchronous transmission key to synchronously transmit the communication data information at both ends of the transmission process, so as to efficiently complete the encrypted transmission of communication data based on the national secret algorithm. The experimental results show that this method occupies less memory, has fast encryption and decryption speed, and is economically feasible.Key words: national secret algorithm; communication data; encrypted transmission; TCP/IP protocol作者简介:刘仲驰(1978-),男,汉族,江西南昌人,副教授,研究生,研究方向为计算机网络。
物联网中的安全数据传输与加密技术应用

物联网中的安全数据传输与加密技术应用随着物联网技术的快速发展,大量的设备和传感器连接到互联网上,从而产生了海量的数据。
然而,物联网中的数据传输存在着安全威胁,如数据泄露、篡改和未经授权的访问。
为解决这些安全问题,安全数据传输和加密技术应用变得至关重要。
一、安全数据传输技术1. 安全套接层(SSL)和传输层安全(TLS)SSL和TLS是广泛应用于物联网的安全数据传输协议。
它们基于公钥基础设施(PKI)和对称密钥加密算法。
SSL和TLS能够保护数据的机密性、完整性和身份认证。
通过SSL和TLS协议,物联网设备能够进行端到端的安全通信,防止信息被窃听和篡改。
2. 虚拟专用网络(VPN)物联网系统中的设备和传感器通常分布在不同的地理位置,通过公共网络进行通信。
VPN技术可以在公共网络上建立一个加密的通信管道,确保数据传输的机密性和完整性。
使用VPN可以避免数据在传输过程中被窃听和篡改的风险,提高数据传输的安全性。
3. 数据包过滤和防火墙物联网设备可能面临来自外部网络的攻击,如分布式拒绝服务(DDoS)攻击。
为了保护物联网设备的数据传输安全,可以通过数据包过滤和防火墙技术对传入和传出的数据流进行过滤和检查,阻止恶意流量和攻击行为。
二、加密技术应用1. 对称加密算法对称加密算法使用同一个密钥对数据进行加密和解密。
在物联网中,对称加密算法广泛应用于数据传输过程中的加密操作。
常见的对称加密算法有AES、DES和3DES等。
通过对数据使用对称加密算法进行加密,可以保护数据的机密性,防止数据泄露。
2. 非对称加密算法非对称加密算法使用一对密钥,包括公钥和私钥。
数据发送方使用公钥进行加密操作,而数据接收方使用相应的私钥进行解密操作。
非对称加密算法可以实现数据的机密性和身份认证。
常见的非对称加密算法有RSA和椭圆曲线密码算法(ECC)等。
3. 数字签名数字签名是一种用于身份认证和数据完整性验证的技术。
发送方使用自己的私钥对数据进行签名,接收方可以使用发送方的公钥来验证数据的完整性和真实性。
一块用于V2X_通信的国密安全芯片设计与验证

doi:10.3969/j.issn.1005-2550.2023.03.012 收稿日期:2023-04-03一块用于V2X通信的国密安全芯片设计与验证*汪钊旭1,邹雪城1,江 鸿2,孙添平3,刘政林1(1. 华中科技大学 集成电路学院,武汉 430074;2. 武汉兴和云网科技股份有限公司,武汉 430072;3. 深圳市爱协生科技股份有限公司,深圳 518101)摘 要:随着车联网的不断发展,人们对车联网系统的安全性也提出了更高的要求。
为了保护用户的隐私和人身安全,需要采用加解密算法对车联网通信进行保护。
在中国,国密算法是被广泛采用的一种加解密算法,因此,本文设计了一块支持SM2、SM3、SM4算法,用于车联网场景的安全芯片,同时兼容RSA和ECC算法,完成了仿真及FPGA验证并使用55nm工艺库进行了流片。
电路总面积为3.98mm2,约1.2×106个MOS管,外设最高工作频率为200MHz,可在2.14M时钟周期内完成一次257位二元扩域点乘运算,具有较高的面积利用率和兼容性。
关键词:国密算法;SOC;安全芯片;SM2中图分类号:U462.1 文献标识码:A 文章编号:1005-2550(2023)03-0065-06Design and Verification of a National Security Chip for V2XCommunicationWANG Zhao-Xu1, ZOU Xue-cheng1, JIANG Hong2, SUN Tian-ping3, LIU Zheng-lin1(1.School of Integrated Circuit,Huazhong University of Science and T echnology,Wuhan430074,China; 2.Wuhan Single Cloud Network T echnology Co.,Ltd, Wuhan 430072, China;3. Shenzhen AiXieSheng T echnology Co.,LTD, Shenzhen 518101, China)Abstract: With the continuous development of Telematics, there comes higher requirements for the security of T elematics systems. In order to protect the privacy andpersonal safety of users, encryption and decryption algorithms need to be used to protectthe T elematics communication. In China, the SM algorithm is a widely adopted encryptionand decryption algorithm. Therefore,this paper designs a security chip that supports SM2,SM3, and SM4 algorithms, also compatible with RSA and ECC algorithms. The simulationand FPGA verification have been completed and taped out using the 55nm process library.The total area of the circuit is 3.98 mm2, with about 1.2×106 MOS tubes, the maximumperipheral operating frequency is 200 MHz, which can complete a 257-bit binary extendeddomain dot product operation in 2.14M clock cycles with high area utilization andcompatibility.Key Words: SM Cryptographic Algorithm; SOC; Security Chip; SM2*基金项目:国家自然科学基金资助项目(62274068).1 引言当前,各国政府和产业界正在着力发展智能汽车,据中国汽车工程学会预测,到2025年和2030年,我国网联车销售占比将增长到80%、100%,其销售规模将达到2800万辆、3800万辆。
基于国密算法SM2软硬件协同系统的FPGA架构

敬请登录网站在线投稿 2019年第7期15基于国密算法S M 2软硬件协同系统的F P G A架构*张盛仕1,胡湘宏1,熊晓明1,2(1.广东工业大学自动化学院,广州510006;2.广州国家现代服务业集成电路设计产业化基地)*基金项目:广东省省级科技计划项目(2015B 010128013);广东省省级科技计划项目(2017B 010124003)㊂摘要:本文利用软硬件协同设计思想对密码系统进行了软硬件划分后,提出了一种适用于椭圆曲线密码S o C 的S M 2硬件I P 架构,该I P 实现了素数域下S M 2的点乘以及模运算功能,利用129位宽的乘法器㊁搭配快速模约减在6个周期下完成模乘运算,从而提高点乘的运算性能㊂本文设计的I P 在单位面积达到优异性能,从面积成本以及速度方面综合考虑,本设计提出的架构更适合应用于S o C 芯片㊂关键词:S M 2;软硬件协同设计;点乘;快速模约减;S o C 中图分类号:T P 33 文献标识码:AF PG A A r c h i t e c t u r e o f S o f t w a r e a n dH a r d w a r e C o -d e s i g n B a s e d o n N a t i o n a l S e c r e t A l go r i t h m S M 2Z h a n g S h e n g s h i 1,H u X i a n g h o n g 1,X i o n g X i a o m i n g1,2(1.S c h o o l o f A u t o m a t i o n ,G u a n g d o n g U n i v e r s i t y o f T e c h n o l o g y ,G u a n gz h o u 510006,C h i n a ;2.G u a n g z h o u N a t i o n a l I n t e g r a t e d C i r c u i t D e s i g n I n d u s t r i a l i z a t i o n C e n t e r f o r M o d e r n S e r v i c e I n d u s t r y)A b s t r a c t :I n t h i s p a p e r ,t h e h a r d w a r e a n d s o f t w a r e p a r t i t i o n i n g o f t h e c r y p t o s y s t e m i s c a r r i e d o u t b y t h e h a r d w a r e /s o f t w a r e c o -d e s i gn .A S M 2h a r d w a r e I P a r c h i t e c t u r e s u i t a b l e f o r e l l i p t i c c u r v e c r y p t o g r a p h y S o C i s p r o p o s e d .T h i s I P r e a l i z e s t h e p o i n t m u l t i pl i c a t i o n a n d m o d -u l a r o p e r a t i o n o f S M 2i n t h e p r i m e d o m a i n .T h e 129-b i t w i d e m u l t i p l i e r ,c o m b i n e d w i t h t h e f a s t m o d u l a r r e d u c t i o n ,c o m pl e t e s t h e m o d u -l a r m u l t i p l i c a t i o n o p e r a t i o n i n 6c y c l e s ,t h u s i m p r o v e s t h e p e r f o r m a n c e o f t h e p o i n t m u l t i p l i c a t i o n .T h e I P d e s i g n e d i n t h i s p a pe r a c h i e v e s e x c e l l e n t p e rf o r m a n c e p e r u n i t a r e a .I n t e r m s o f a r e a c o s t a n d s p e e d ,t h e a r c h i t e c t u r e p r o p o s e d i n t h e d e s ig n i s m o r e s u i t a b l e f o r S o C chi p s .K e y wo r d s :S M 2;h a r d w a r e /s o f t w a r e c o -d e s i g n ;p o i n t m u l t i p l i c a t i o n ;f a s t m o d u l a r r e d u c t i o n ;S o C 引 言椭圆曲线密码体系E C C 是1985年由K o b l i t z [1]和M i l l e r [2]提出的,相比于R S A 公钥密码算法,E C C 在相同安全性等级下所使用的密钥长度更短㊂目前S M 2椭圆曲线公钥密码算法[3]是由国家密码管理局于2010年发布的一种基于E C C 的公钥密码算法㊂该协议规定了S M 2椭圆曲线公钥密码算法下公钥加解密㊁签名验证㊁密钥交换等功能㊂椭圆曲线算法的功能实现主要基于椭圆曲线上的点乘算法实现的,在芯片面积有限的物联网设备上,快速实现点乘运算是提高S M 2算法性能的关键[8]㊂针对目前S M 2点乘运算时间过长和运算资源过多而受限制,以及性能与资源折中考虑,本文首先从乘法运算入手优化模乘器的硬件实现架构,在资源合理运用的情况下实现S M 2的点乘运算,设计出一款S M 2的椭圆曲线密码I P ,并采用软硬件协同设计思想,利用软件调用该I P ,从而实现S M 2的签名验签等功能㊂1 S M 2算法方案设计图1 椭圆曲线密码的架构层次1.1 软硬件划分S M 2椭圆曲线密码算法在实现上具有层次性的特点,可将该算法中的各种运算划分为4个层次,如图1所示,分别是S M 2协议层㊁加密主运算层㊁点运算操作层㊁模16M i c r o c o n t r o l l e r s &E m b e d d e d S ys t e m s 2019年第7期w w w .m e s n e t .c o m .c n运算操作层[7]㊂顶层为S M 2协议协议层,包括数字签名㊁验证㊁密钥交换㊁加解密等,主要通过系统软件根据需求实现;其次为椭圆曲线加密主运算层,负责完成椭圆曲线密码的核心运算点乘运算;点运算层包括点加运算和倍点运算,该层为实现点乘运算的基础;最后是模运算操作层,主要完成模加㊁模减㊁模乘和模逆4种基本模运算㊂层次自下而上,上层设计可以调用下层,下层承担上层的基础㊂椭圆曲线算法S M 2的核心运算是点乘,根据相关的软件评估,点乘运算占据算法功能实现的大部分执行时间[7]㊂为了提高整个S M 2运算性能,将点乘运算通过硬件优化实现㊂在点乘运算过程中需要多次调用模乘运算单元,在设计上本文优先优化模乘器的硬件架构,在模乘器的基础上搭建模乘运算的硬件设计,基于以上这一实现层次,将密码算法的底层运算采用硬件可配置的实现方式,协议层利用C P U 通过软件来调用底层硬件运算,通过不同的软件程序实现不同加密功能需求,从而提升算法系统使用灵活度以及运行速度,同时也节约了资源㊂1.2 S M 2软硬件接口设计为了实现软件程序能够调用S M 2的点乘及底层模运算,需要进行软硬件接口设计,在本文中,软件层操作需要通过主控处理器C P U 完成,C P U 采用总线寻址方式读写寄存器,软件地址下的寄存器直接与硬件地址下的寄存器相对应,从而实现对S M 2算法底层硬件运算资源的调用;在硬件接口设计上将S M 2算法模块通过AM B A 2.0总线与处理器进行连接,处理器通过A H B 总线可以实现对硬件寄存器的读写操作㊂设计上首先将运算功能完整的S M 2模块单元作为从设备端挂载在A H B 总线上,C P U作为A H B 总线的主设备端,在A H B 中利用地址译码器为S M 2单元分配硬件地址,处理器通过配置S M 2_A H B总线接口中相应的寄存器使S M 2执行点乘运算及模运算,其中S M 2_A H B 接口设计包括数据输入寄存器㊁数据输出寄存器㊁控制寄存器㊁状态寄存器以及寄存器地址译码器,图2所示为S M 2模块接口的结构框图㊂图2 S M 2模块接口的结构框图根据S M 2的算法需要,本接口设计定义32个32位的数据输入寄存器㊁16个32位的数据输出寄存器㊁1个32位的控制寄存器和1个32位的状态寄存器㊂该接口中数据输入寄存器㊁数据输出寄存器主要作为算法运算数据的入口及出口,实现输入数据以及运算结果的软硬件交互;控制寄存器以及状态寄存器可以实现S M 2模块运算控制以及模块工作状态的监控功能㊂表1为控制寄存器的描述,本设计中控制寄存器主要实现数据读写控制㊁运算启动停止㊁运算类型控制㊁复位操作和计算完成中断信号使能㊂表1 控制寄存器的描述位名称类型描述[3:0]运算类型R /W 运算模式控制4数据读取R /W 0:数据读取1:数据写入5启动控制R /W 0:运算停止1:运算启动6复位R /W 1:复位寄存器0:正常工作7运算结束中断信号R /W 0:中断信号1:中断信号[31:8]保留R/W 无表2为状态寄存器的描述,设计中状态寄存器主要包括加密模块的4种工作状态以及异常标志㊂表2 状态寄存器的描述位名称类型描述[1:0]状态标志R 00:空闲01:数据写入10:正在加密11:运算完成2异常标志R 1:运算异常0:运算正常[31:3]保留R无2 算法实现2.1 模乘运算模乘算法的设计是S M 2点乘算法的关键,直接影响S M 2的性能以及资源,目前,为了提高E C C 算法的运算速度,大多数模乘运算的硬件结构引入了以乘法器为基础的架构,本文采用一种全精度的乘法器结构,将模乘运算分为两个独立的运算阶段,第一运算阶段为大数的乘法运算,第二运算阶段为取模运算㊂首先是乘法运算的设计,针对长度为256位的两个大数相乘,若直接使用256位乘法器进行运算,可以在一个时钟周期下完成大数相乘运算,参考文献[5]中直接采用256位数的乘法器,虽然点乘性能得到巨大提升,但是相应也带来了资源浪费,单单考虑运算效率而不考虑芯片实际开发面积的利用率及成本是不合理的,所以综合考虑运算性能效率以及资源利用率两方面,本文采用插入流水线敬请登录网站在线投稿 2019年第7期17设计以及基于129位乘法器方式完成大数相乘运算,利用K a r a t s u b a -O f m a n 算法,采用129位乘法运算以及512位的加法运算,利用5个周期的时间完成256位的乘法运算,得到512位的大数结果,极大地提高了运算效率,其中该算法如下:输入: m=128,2m 位整数A ,B ;满足A=a 1ˑ2m +a 0,B =b 1ˑ2m+b 0输出: C =AˑB ,C 为4m 位整数1.P 0ѳa 0ˑb 0;a s u m ѳa 0+a 1;2.P 1ѳa 1ˑb 1;b s u m ѳb 0+b 1;3.P s ѳa s u m ˑb s u m ;C ѳP 1,P 0 -P 02m;4.C ѳC -P 12m;5.C ѳC +P s2m;算法的数据通路设计主要包括129位乘法器㊁512位的加法器及选择器,以及中间运算结果的寄存器,通过控制通路的有限状态机控制完成算法中所定义的运算,模乘模块的输入为两个256位的大数以及启动运算的控制信号,控制通路决定算法中运算的执行顺序㊂根据算法,本设计实现上将两个256位的大数A ㊁B 进行拆分,结果如下:A=a 1ˑ2m+a 0 B =b 1ˑ2m+b 0其中,m 为128㊂算法中包含了以下三种类型的运算:128位的加法运算㊁长度为(m+1)的乘法运算㊁512位的加法运算㊂在硬件设计上针对P 02m ㊁P 12m ㊁P s 2m均以移位的方式实现,节省了运算时间,由于硬件上的减法运算可以转化为加法运算,故设计中需要完成2次128位的加法运算㊁3次129位的乘法运算㊁3次512位的加法运算,为了提高系统的运行效率,本文将算法中步骤1~3的加法运算乘法运算同时进行,采用流水线的方式完成算法的运算㊂图3 K a r a t s u b a O f m a n 算法流水线设计大数乘法器流水线设计如图3所示,该流水线设计包含两部分:一部分为(m +1)位的乘法运算;另一部分为512位加法运算,其中加法器带s u b 的控制信号,该信号可以选择加法器工作模式㊂在运算的第一个周期,数据a 0㊁b 0经过乘法器运算得到结果寄存在寄存器P 0,同时加法器完成a 0与a 1的相加运算,并将结果存储在a s u m 寄存器中;在第二个周期中,数据a 1㊁b 1完成相乘,结果存于P 1中,b 0㊁b 1相加数据存于b s u m 中,此时图3中的L ㊁R 分别对应P 1㊁P 0寄存器;在第三个周期中,a s u m ㊁b s u m 相乘结果存于P s 中,同时将之前运算的结果P 1㊁P 0进行数据拼接{P 1,P 0},将P 0向左移动m 位得到P 02m结果,s e l 置1,s u b 置0,加法器完成算法步骤3的减法运算,得到结果并寄存在C 中;在运算第4个周期时,R 对应原先P 1的值并对其进行左移m 位操作,s e l 置0,s u b 置1,将上一周期运算的结果C 值与P 12m 值进行相减,得到结果返回给C 寄存器;在第5个周期中,此时R 对应之前P s 的值,对其进行左移m 位得到P s2m,s e l 置0,s u b 置0,将P s2m的结果与C 做相加运算,得到最终512位的乘法器结果并返回给C 寄存器㊂由于加法运算不存在数据冲突问题,考虑该流水线的效率即最大周期只受(m+1)乘法器运算的最长路径影响,为了减小设计面积,所有的加法运算可由512位加法器完成㊂接下来需要进行取模运算,S M 2算法基于数据长度为256位的素数域,故命名为素域p 256,算法在进行所有的模运算过程中,模运算的结果必须经过求模运算,使最终结果位于[0,p 256-1]范围内,传统的模乘运算是在进行乘法运算的同时对运算产生的中间值进行取模操作,该方法需要在乘法运算中反复对素域p 256进行减法操作,影响模乘运算的速度㊂针对上述的运算速度问题,本文采用快速模约减的方式对乘法器运算结果进行约减,在一个周期内完成上一阶段乘法运算得到的512位大数结果的约减操作,该算法的使用是由S M 2素域p 256决定,由于S M 2算法的素域值p 256可以表示成2的幂次和或者差,故可将素域p 256转换为p 256=2256-2224-296+264-1快速约减形式,从而可以推导出2的高次幂的取模结果公式如下:2256ʉ2224+296-264+1(m o d p 256)2288ʉ2224+2128-264+232+1(m o d p 256)︙ ︙2480ʉ3*2224+2192+2*2160+2128+296+2*232+2(m o d p 256)另外将512位数的乘法运算结果按位宽为32位进行拆分,可以划分为16个权重分别为232*i的值,其中i 为[0,15]的整数即C =(c 15, ,c 2,c 1,c 0),则可将长度为512位数的大数C 转换为下式:C =c 15*2480+c 14*2448+ +c 1*232+c 0根据上述表格保留各权重的系数后,对2的高次幂权重(大于等于2256)进行求模运算后,经过转换后得到的结果算法如下:输入:C =(c 15, ,c 2,c 1,c 0)为232进制整数,0ɤC ɤp 2256输出: C (m o d p 256)1.定义256位整数18M i c r o c o n t r o l l e r s &E m b e d d e d S ys t e m s 2019年第7期w w w .m e s n e t .c o m .c ns 1=c 7,c 6,c 5,c 4,c 3,c 2,c 1,c 0 , s 2=c 15,c 14,c 13,c 12,c 11,0,c 9,c 8 , s 3=c 14,0,c 15,c 14,c 13,0,c 14,c 13, s 4=c 13,0,0,0,0,0,c 15,c 14 , s 5=c 12,0,0,0,0,0,0,c 15, s 6=c 11,c 11,c 10,c 15,c 14,0,c 13,c 12 , s 7=c 10,c 15,c 14,c 13,c 12,0,c 11,c 10 , s 8=c 9,0,0,c 9,c 8,0,c 10,c 9 , s 9=c 8,0,0,0,c 15,0,c 12,c 11, s 10=c 15,0,0,0,0,0,0,0 , s 11=0,0,0,0,0,c 14,0,0 , s 12=0,0,0,0,0,c 13,0,0 , s 13=0,0,0,0,0,c 9,0,0 , s 14=0,0,0,0,0,c 8,0,0 ,2.返回s 1+s 2+2s 3+2s 4+2s 5+s 6+s 7+s 8+s 9+2s 10-s 11+s 12-s 13-s 14)m o d p 256该算法可将长度为512位的大数进行求模运算,最终结果为模约减后的模乘结果㊂由于在椭圆曲线点加以及倍点运算中,存在这种两个大数相乘求模后与另一个大数相减的操作,类似于((A*B )m o d p 256-X )m o d p 256的运算形式,若按照常规运算,先进行大数乘法运算和模约减运算,再进行模减操作,该模减操作将多占用一个时间周期,故本设计为了加快运算速度,将该模减运算放在模约减运算中进行,即在模约减算法步骤2的基础上再增加p 256-X 的运算,则算法3的输入为C -X ,其中X 为模减运算的减数,输出变为如下:C -Xʉ(s 1+s 2+2s 3+2s 4+2s 5+s 6+s 7+s 8+s 9+2s 10-s 11+s 12-s 13-s 14+p 256-X )m o d p 2562.2 点乘运算根据椭圆曲线的数学知识,椭圆曲线上对于同一个点的多次加法运算成为该点的多倍点运算,称为点乘运算[7]㊂设k 为一个正整数,P 是椭圆曲线上的点,称点P 的k 次加为点P 的k 倍点运算,记为Q=k P ㊂椭圆曲线点乘运算类似于基本的加法运算,然而每次倍点㊁点加运算在仿射坐标下都会使用到求逆运算,求逆运算远比乘法运算消耗时间长[7]㊂本文首先在J a c o b i a na f f i n e 混合坐标下进行多倍点运算,最后将计算结果转化到仿射坐标系上,得到点乘结果,从而大大提高了点乘运算的运行效率,在J a c ob i a n a f f i n e 混合坐标下,点加及倍点运算不需要多次调用逆运算,只需在最后增加几个模乘运算以及两次求逆运算就可以将J ac o b i a n a f f i n e 坐标下点乘结果转换为仿射坐标下的结果㊂点乘运算本文选用的算法分别应对两种情况,一种是未知点的点乘,采用从左到右的二进制方法;另一种是椭圆曲线基点的点乘,采用点乘的窗口N A F 法㊂在设计S M 2运算模块的过程中,为了降低软硬件数据传输过程的时间代价,S M 2模块内置了一部分用于存储功能的寄存器资源,利用这些寄存器来存储算法运算过程中的中间变量,另外还分配了一些寄存器用来存储固定点和常量,从而可以减少算法运算过程中数据交互消耗的时间㊂点乘运算单元主要由以下模块组成:①N A F :N A F 编码模块,采用位宽w 为4的编码方式,主要调用大数移位器以及选择器㊂②点加(P o i n t A d d i t i o n P A ):J a c o b i a n a f f i n e 混合坐标系下点加运算R=P +Q ㊂③倍点(P o i n t D o u b l i n g,P D ):J a c o b i a n 射影坐标系下倍点运算Q=2P ㊂④坐标系转换(C o o r d i n a t e s C o n v e r s i o n C C ):点乘结果从J a c o b i a n 射影坐标系转换到仿射坐标系RX ,Y ,Z =Q (x ,y ),该转换包括模逆及模乘运算㊂⑤模运算:基于大数加法器的基础完成不同素数域下的模加㊁模减㊁模乘㊁模逆运算㊂⑥模乘单元:基于素数域p 256下的模乘单元,该单元主要应用于点乘运算单元㊂表3列出了各部分运算硬件上所执行周期数㊂点乘运算执行时间由N A F 编码㊁点加㊁倍点和坐标系转换决定,模加和模减运算速度快,模乘的运算速度直接影响了点乘单元的速度㊂表3 运算所执行周期数3 实验结果及分析3.1 实验环境本设计使用硬件描述语言V e r i l o g H DL 实现S M 2加密I P 后,首先利用了逻辑综合工具D e s i g n C o m pl i e r 对I P 进行逻辑综合评估;之后使用硬件平台X i l i n x x c 7a 100t系列的F P G A 开发板进行板极测试,验证其正确性及工作性能,软件的开发环境为X i l i n x V i v a d o 2015.4㊁X i l i n xS D K 2015.4以及V i s u a l S t u d i o㊂3.2 逻辑综合实验结果利用V e r i l o g H DL 实现S M 2加密模块,支持S M 2256位素数域上的模运算和点乘运算,该I P 基于S M I C敬请登录网站在线投稿2019年第7期190.13μm A R M标准单元库,通过综合工具D e s i g n C o m-p l i e r完成S M2加密I P的逻辑综合㊂由综合结果表明,该I P的最大工作频率达到200MH z,加密I P的等效门面积为248.9K,利用模式选择器可完成不同素域下的模运算㊂为了便于与其他E C C系统进行性能对比,进行多次综合迭代,得到最优的逻辑综合结果,性能对比如表4所列㊂表4性能对比参数本文参考文献[5]参考文献[6]参考文献[9]曲线G F(P)G F(P)G F(P)G F(P)位宽256位256位256位256位工艺S M I C S M I C S M I C S M I C工艺/μm0.130.130.130.13频率/MH z200.0163.7137.7556等效门/K248.9659120122周期数/K14.33.3340562点乘时间/μs71.520.3626801010k P/s1398649105373990速度/面积56.274.53.18.11从表4中可以看出,本文设计的最高频率可达到200MH z,仅次于参考文献[9],在点乘运算上单位时间运算点乘的数目相较参考文献[6]和[9]表现出更加优异的性能,同时在单位面积下点乘的效率远远大过参考文献[6]和参考文献[9]㊂在多个架构中,参考文献[5]的利用率高㊁点乘运算速度最快,可是该架构受最高频率制约,并且占用面积最大,是本文设计架构面积的2.6倍,是其他参考文献的5倍,考虑到S o C芯片设计开发的成本,面积过大不适合应用于S o C芯片㊂综上所述,从芯片面积成本以及速度方面的综合考虑,本设计提出的架构更适合应用于S o C芯片㊂3.3F P G A测试结果将设计完成的S M2I P模块与主控处理器C K802集成,由于S M2的协议机制还需要一些辅助函数的支持,其中包括S M3和随机数生成器,将这些I P硬件与主控C P U 集成,利用X i l i n x x c7a100t系列的F P G A开发板进行逻辑综合以及布局布线,通过X i l i n x S D K软件开发环境实现S M2的签名验签功能,利用V i s u a l S t u d i o下S M2签名验签的测试结果,通过V i s u a l S t u d i o结果与F P G A运算结果进行对比,判定S M2硬件下签名验签结果与软件下出来的结果一致,从而验证了硬件设计的正确性㊂其次利用该系统集成的定时器T i m e r得到对该I P模块的运算效率,表5列出在48MH z频率下各密码的速度,其中签名验签速度远远高于参考文献[7]中的速度,满足设计指标㊂结语本文对S M2椭圆曲线密码算法进行软硬件划分,提表548M H z 频率下各密码速度功能类型周期数速度/(次/s)模加66771964模减66572180模乘92551891模逆121139636固定点154973097非固定点199542405S M2签名265561807S M2验签52834908出一种软硬件接口的设计方案,优化模乘运算,提出一种适用于椭圆曲线密码S o C的S M2硬件I P架构,架构性能优于其他同类E C C设计,利用F P G A实现该架构后评估该架构下的S M2商用密码签名验签功能㊁性能等㊂本文提出的S M2硬件架构还需进一步研究,主要集中在三个方面:一个是椭圆曲线算法的低功耗设计,针对物联网S o C功耗也是一个重要的参数指标;二是突破架构的单一性,如突破参数固定以及R S A算法兼容运用等;三是密码算法的抗攻击测试分析㊂参考文献[1]K o b l i t z N.E l l i p t i c c u r v e c r y p t o s y s t e m s[J].M a t h e m a t i c s o fC o m p u t a t i o n,1987,48(177):203209.[2]M i l l e r V S.U s e o f E l l i p t i c C u r v e s i n C r y p t o g r a p h y[J].L e c-t u r e N o t e s i n C o m p u t e r S c i e n c e,1986,218(1):417426.[3]国家密码管理局.S M2椭圆曲线公钥密码算法[E B/O L]. [201902].h t t p://w w w.o s c c a.g o v.c n/N e w s_1197h t m.[4]F e n g X,S h u g u o L I.A H i g h P e r f o r m a n c e F P G A I m p l e m e n t a t i o n o f256位E l l i p t i c C u r v e C r y p t o g r a p h y P r o c e s s o r O v e r G F(p) [J].I e i c e T r a n s a c t i o n s o n F u n d a m e n t a l s o f E l e c t r o n i c sC o m m u n i c a t i o n s&C o m p u t e r S c i e n c e s,2015,98(3):863869.[5]Z h a o Z,B a i G.U l t r a H i g h S p e e d S M2A S I C I m p l e m e n t a-t i o n[C]//2014I E E E13t h I n t e r n a t i o n a l C o n f e r e n c e o n T r u s t,S e c u r i t y a n d P r i v a c y i n C o m p u t i n g a n d C o mm u n i c a-t i o n s,2014:182188.[6]C h e n G,B a i G,C h e n H.A H i g h P e r f o r m a n c e E l l i p t i c C u r v eC r y p t o g r a p h i c P r o c e s s o r f o r G e n e r a l C u r v e s O v e r G F(p)B a s e d o n a S y s t o l i c A r i t h m e t i c U n i t[J].I E E E T r a n s a c t i o n s o n C i r c u i t s &S y s t e m s I I E x p r e s s B r i e f s,2007,54(5):412416. [7]谢天艺,黄凯,修思文,等.素数域椭圆曲线密码加速器的V L S I实现[J].计算机工程与应用,2016,52(1):8994.[8]李杨,王劲林,曾学文,等.O C T E O N处理器上实现国密S M2算法整体优化方案研究[J].计算机应用与软件,2017 (9):306310.[9]S a t o h A,T a k a n o K.A s c a l a b l e d u a l f i e l d e l l i p t i c c u r v e c r y p-t o g r a p h i c p r o c e s s o r[J].C o m p u t e r s I E E E T r a n s a c t i o n s o n, 2003,52(4):449460.张盛仕(硕士研究生)㊁胡湘宏(博士研究生),主要研究方向为信息安全和集成电路设计;熊晓明(教授),主要研究方向为集成电路和片上系统设计㊁集成电路计算机辅助设计和电子设计自动化㊂(责任编辑:薛士然收稿日期:2019-02-22)。
基于国密SM2算法的广播加密方案设计

基于国密SM2算法的广播加密方案设计
付有才;庞浩霖;何凯
【期刊名称】《东莞理工学院学报》
【年(卷),期】2023(30)1
【摘要】广播加密广泛应用于付费电视、卫星广播通讯、数字版权分发(CD/DVD)等领域。
SM2公钥加密算法基于椭圆曲线设计,安全高效并应用于物联网等领域。
为将SM2算法应用在多接收者背景,本文在国密SM2公钥加密算法的基础上提出一个广播加密方案,方案具有较低的计算和通讯开销。
方案的系统参数和密钥大小
固定,密文长度与接收者数目呈线性相关,实验表明解密时间受接收者数目影响较小。
【总页数】6页(P51-55)
【作者】付有才;庞浩霖;何凯
【作者单位】东莞理工学院计算机科学与技术学院
【正文语种】中文
【中图分类】TN918.4
【相关文献】
1.基于国密算法SM2软硬件协同系统的FPGA架构
2.基于SM2国密算法优化的
区块链设计3.基于国密SM2 和SM9 的加法同态加密方案4.基于SM2/SM3国密算法的数字电影发行密钥实现方法5.基于国密算法SM2、SM3、SM4的高速混合加密系统硬件设计
因版权原因,仅展示原文概要,查看原文内容请购买。
国密密码应用方案

国密密码应用方案
国密密码是指中国自主研发的密码算法标准,具有高度的安全性和可靠性,在政府、金融、电信等领域得到广泛应用。
为了更好地推广和应用国密密码,需要制定相应的应用方案。
在政府领域,国密密码已经成为信息安全保障的重要手段。
各级政府部门应根据实际需求,采用适合的国密密码算法,加密敏感信息和重要数据,确保信息安全。
在金融领域,国密密码的应用也越来越广泛。
银行、证券等机构可以采用国密密码算法对交易数据、客户信息等进行加密保护,防止信息泄露和攻击。
在电信领域,国密密码可以用于网络安全防护。
电信运营商可以采用国密算法加密通信内容,保护用户隐私和网络安全。
此外,国密密码还可以应用于物联网、云计算等领域,为数据安全提供保障。
总之,国密密码的应用方案需要根据各个领域的实际需求进行制定,以确保信息安全和数据保护。
同时,相关机构和企业需要加强技术研发和人才培养,推进国密密码的广泛应用和推广。
- 1 -。
加密芯片 原理

加密芯片原理
加密芯片是一种专门设计用于保护敏感信息安全的集成电路。
它采用了一系列的加密算法和技术,将数据进行加密处理,使得未经授权的人无法获取或篡改其中的内容。
加密芯片主要包括以下几个关键原理:
1. 对称加密算法:加密芯片使用对称加密算法对数据进行加密和解密。
该算法使用相同的密钥进行加密和解密操作,因此需要确保密钥的安全性。
常见的对称加密算法包括DES、AES 等。
2. 非对称加密算法:为了保证密钥的安全性,加密芯片通常会采用非对称加密算法。
该算法使用一对密钥,其中一个用于加密,另一个用于解密。
公钥用于加密数据,私钥用于解密数据。
常见的非对称加密算法包括RSA、ECC等。
3. 安全认证:加密芯片还会使用安全认证技术,以确保只有合法的用户才能对芯片进行操作。
安全认证通常采用密码学算法,并通过验证用户提供的密钥或数字证书的有效性来判断其身份的合法性。
4. 随机数生成:加密芯片需要大量的随机数用于加密和解密操作,因此随机数生成是其中一个重要的原理。
加密芯片会使用硬件随机数生成器或伪随机数生成算法来生成随机数,以提高安全性。
5. 物理攻击防护:为了防止物理攻击对加密芯片造成损害,加
密芯片通常还会采取物理攻击防护措施。
这些措施包括使用特殊材料制作芯片外壳、添加防烧蚀层、引入电压监测、温度监测等。
综上所述,加密芯片利用对称和非对称加密算法、安全认证、随机数生成和物理攻击防护等原理,确保敏感信息的安全性。
通过使用加密芯片,可以有效保护数据在传输和存储过程中的机密性、完整性和可靠性。