版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
司本申请公开了一种基于FPGA的SM4加密方明文数据;在FPGA芯片上配置多个SM4加密核心每个SM4加密核心采用流水线架构,流水线架构生N比特随机数作为每个SM4加密核心的加密密钥;采集握手信号计算每个SM4加密核心的运算各个SM4加密核心之间的FPGA资源分配;在加密2在FPGA芯片上配置多个SM4加密核心,利用SM4加密核心对明文数据进行并行加密运根据计算得到的运算效率,采用优先级调度算法动态调整各个SM4加密核心之间的在每个SM4加密核心执行加密运算的过程中,采用多项式运算与逻辑运算相混合的方取数控制器根据第一握手信号的起始时间戳T1_start和第三握手信号的结束时间戳轮函数控制器根据第一握手信号的结束时间戳T1_end,和第二握手信号的密钥控制器根据第二握手信号的结束时间戳T2_end,和第三握手信号的起始时间戳将SM4加密IP核的RTL级描述输入到逻辑综合工具中,对SM4加密IP核代码进行逻辑综将生成的逻辑门级网表文件作为输入,采用布局布线合成工具对SM4加密IP核进行3在完成FPGA布局布线之后,将SM4加密IP核通过端口映射的方式与FPGA芯片的物理资逻辑综合工具包括SynopsysDesignCompiler、CadenceRTLCompiler和MentorGraphicsPrecision中的布局布线合成工具包括XilinxVivado、IntelQuartus和LatticeDiamond中的至少轮函数运算器采用支持动态配置加密轮数的可编程架构,通过可配置寄存器设置SM4密钥加器采用支持密钥分组划分和分组密钥预测的头指针和链表操作接口,每个链表节点用于记录一个明文数据分组的起始地址和分组长4轮函数控制器,根据SM4加密算法的流程,控制数据分组在各级流水线模块之间的传密钥分组缓存模块,缓存SM4加密算法使用的密钥,密钥扩展模块,通过查表方式对密钥分组缓存模块密钥异或模块,将轮函数运算器输出的中间结果与密钥异或是否完成,如果未完成则进入下一轮次继续执行,直到完成配置的SM4加密轮数为在取数器、轮函数运算器和密钥加器之间设置独立通道,独立通道取数器完成明文分组取数后,从伪随机数发生器获取当前时刻在每个SM4加密核心执行加密运算的过程中,采用多项式运算与逻辑运算相混合的方在取数控制器读取明文数据分组时,将明文数据作为多5密钥;在密钥加器执行轮密钥加操作时,将轮函数运算结果与轮密钥先6[0005]针对现有技术中存在的SM4算法加密中抗侧信道攻击能力有限的问题,本申请提78述语言,根据SM4加密算法的规范和流程,编写SM4加密IP核的RTL(RegisterTransfer[0015]布局布线映射到FPGA物理资源:将SM4加密IP核的逻辑门级网表文件输入到FPGA9中选择至少一种逻辑综合工具,用于将SM4加密IP核的RTL级描述转换为逻辑门级网表。设计空间探索功能,帮助设计人员快速收敛设计。MentorGraphicsPrecision:Mentor电路的正确性和性能。布局布线合成工具的选择:从XilinxVivado、IntelQuartus和满足不同设计需求。IntelQuartus:Intel(前Altera)公分组到达时,通过链表操作接口insertNode()将新的链表节点插入到链表的尾部。根据在循环缓冲区中的缓存和读取。写指针(writePtr)指向循环缓冲区中下一个可写入的位性变换子模块对输入的数据分组进行S盒(SubstitutionBox)替换操作,实现字节级别的算模块的输出到流水线下一级。轮函数选择器可以使用多路选择器(MUX)或者数据选择器结果通过流水线传递到下一轮次。判断当前轮次是否达到SM4加密轮数配置值,如果未达建立独立的握手通道,利用伪随机数发生器产生的握手口令和物理非确定性源PHYS的输中的口令1进行验证,验证方法是将收到的口令1与轮函数运算器本地PHYS的输出进行对数控制器根据第一握手信号的结束时间戳T1_end,和第二握手信号的结束时间戳T2_end,计算轮函数运算器的运算时间T2=T2_end_T1_end。这里的T2包括了轮函数运算器接收第合考虑了SM4加密核心中各个模块的运算时间和影响权重,得到了一个全面的效率评估结用LFSR生成多项式f(k)=ak^2+bk+c中变量k的随机值,Bracewell序列B(n)生成多项式系推测密钥。攻击者难以通过分析密钥加操作的时序规律来推测密钥。[0051]通过在FPGA芯片上配置多个采用流水线架构的SM4加密核心,利用多核并行处理[0052]采集SM4加密核心内部各阶段之间的握手信号,通过握手信号准确反映各阶段的[0054]在SM4加密核心内部采用多项式运算与逻辑运算相混合的计算方式,通过非线性[0057]图1是根据本申请一些实施例所示的一种基于FPGA的SM4加密方法的示例性流程[0061]图1是根据本申请一些实施例所示的一种基于FPGA的SM4加密方法的示例性流程数据。将接收到的明文数据通过数据总线传输到FPGA芯片内部的数据缓存模块,如FIFO、RAM等。数据缓存模块的位宽和深度根据SM4加密算法的分组长度和吞吐量要求进行设计。[0063]图2是根据本申请一些实施例所示的配置加密核心的示例性流程图,在FPGA芯片上配置多个SM4加密核心:采用VerilogHDL或VHDL硬件描述语言,根据SM4加密算法的规并通过流水线的方式连接。使用SynopsysDesignCompiler、CadenceRTLCompiler或物理噪声的随机数提取电路,如环形振荡器(RingOscillator)或者混沌映射电路[0067]循环缓冲区:使用FPGA的中对应明文数据分组的起始地址)和分组长度储区的BRAM中读取对应的明文数据分组。读取的数据分组被发送给SM4加密核心的轮函数入,8比特输出的非线性置换表。使用FPGA的分布式存储资源(如DistributedRAM或者使用FPGA的逻辑资源(如LUT)和移位寄存器实现线性变换电路。每个轮函数运算模块的输通过流水线的方式连接,每个模块对应SM4加密算法的一轮加密运算。流水线的深度根据选择器的输入端连接各个轮函数运算模块的输出,输入数据宽度为128比特乘以轮函数运函数运算模块数量)。轮函数选择器的输出端连接流水线的下一级模块,输出数据宽度为密钥提供给对应的轮函数运算模块。轮函数控制器还负责控制数据分组在流水线中的进取数控制器从分组存储区读取第一个明文数据分组,送入流水线的第一级轮函数运算模用异或(XOR)运算和循环移位操作实现密钥扩展过程中的线性变换。对扩展子密钥的数据其他伪随机数生成器产生随机置换序列,并通过交叉开关(CrossbarSwitch)或者数据选择器(Multiplexer)实现数据位的置换。密钥扩展模块的输出为当前加密轮次使用的轮密输入包括轮函数运算器输出的中间结果(128比特)和密钥扩展模块生成的轮密钥(32比制器通过计数器记录当前的加密轮次,并与SM4加密轮数配置进行比较,判断加密是否完[0078]图3是根据本申请一些实施例所示的采集握手信号的示例性流程图,独立握手通声、光子噪声等)产生真随机数。将PHYS的输出与伪随机数发生器生成的握手口令进行组算取数器的运算时间T1=T3_end_T1_start。轮函数控制器根据第一握手信号的结束时间戳T1_end和第二握手信号的结束时间戳T2_end,计算轮函数运算器的运算时间T2=T2_较高的SM4加密核心排在队列前面,运算效率较低的排在后面。当FPGA中有可用的逻辑资[0085]在SM4加密核心执行加密运算时,将明文数据、中间结果与随机多项式运算相混Br
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026科室院感工作计划
- 2026年能源投资猎头招聘协议
- 2026年会展租赁物业服务合同
- 2026年云计算代工金融科技合作协议
- 2026年安防顾问托管运营合同
- 2026年制造改造金融科技合作合同
- 村委班子联席工作制度
- 预防学生触电工作制度
- 领导包点责任工作制度
- 领导接访处访工作制度
- 宠物乐园规划方案
- (正式版)CB∕T 4550-2024 船舶行业企业安全设备设施管理规定
- 2024年广东省中考生物+地理试卷(含答案)
- 员工宿舍安全卫生检查
- 福建省莆田市2022-2023学年六年级下学期期末数学试卷
- 劳务派遣劳务外包服务方案(技术方案)
- 2023版全媒体运营师职业标准
- 牵手两代怎样提升孩子的自护技能教案
- 护理查房早期人工流产的护理查房
- 《等腰三角形的判定与反证法》优课一等奖课件
- 广东省五年一贯制语文试卷
评论
0/150
提交评论