计算机理论论文基于fpga的sm3算法优化设计与实现

计算机理论论文基于fpga的sm3算法优化设计与实现

ID:10423473

大小:26.00 KB

页数:3页

时间:2018-07-06

计算机理论论文基于fpga的sm3算法优化设计与实现_第1页
计算机理论论文基于fpga的sm3算法优化设计与实现_第2页
计算机理论论文基于fpga的sm3算法优化设计与实现_第3页
资源描述:

《计算机理论论文基于fpga的sm3算法优化设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、中国农村医疗保险必须有商业保险公司进入,才能形成完整的医疗保障体系。面对巨大的农村医疗保险市场,保险公司却驻足不前,究其原因主要是缺乏政府政策支持,现有农村医疗卫生环境及其卫生管理体制与商业健康保险配套需求差距较大,风险较高。针对农村医疗保险市场,保险公司应积极主动地争取改善外部环境,同时应及早地制定公司进入战略,以获取新的保险业务增长点中国农村医疗保险必须有商业保险公司进入,才能形成完整的医疗保障体系。面对巨大的农村医疗保险市场,保险公司却驻足不前,究其原因主要是缺乏政府政策支持,现有农村医疗卫生环境及其卫生管理体制与商业健康

2、保险配套需求差距较大,风险较高。针对农村医疗保险市场,保险公司应积极主动地争取改善外部环境,同时应及早地制定公司进入战略,以获取新的保险业务增长点中国农村医疗保险必须有商业保险公司进入,才能形成完整的医疗保障体系。面对巨大的农村医疗保险市场,保险公司却驻足不前,究其原因主要是缺乏政府政策支持,现有农村医疗卫生环境及其卫生管理体制与商业健康保险配套需求差距较大,风险较高。针对农村医疗保险市场,保险公司应积极主动地争取改善外部环境,同时应及早地制定公司进入战略,以获取新的保险业务增长点中国农村医疗保险必须有商业保险公司进入,才能形成

3、完整的医疗保障体系。面对巨大的农村医疗保险市场,保险公司却驻足不前,究其原因主要是缺乏政府政策支持,现有农村医疗卫生环境及其卫生管理体制与商业健康保险配套需求差距较大,风险较高。针对农村医疗保险市场,保险公司应积极主动地争取改善外部环境,同时应及早地制定公司进入战略,以获取新的保险业务增长点基于FPGA的SM3算法优化设计与实现王晓燕1,杨先文2(1.河南中医学院学生工作部(处),河南郑州;2.解放军信息工程大学电子技术学院,河南郑州)摘要:针对国家密码管理局发布的SM3密码杂凑算法,文章对其基本流程进行了概括。基于FPGA实现

4、平台,提出了SM3算法IP核设计的整体架构,并讨论了其关键逻辑的优化设计。选用Altera公司Cyclone系列器件作为目标器件,与已有研究成果进行了实现比较。结果显示SM3算法的IP核实现性能优越,可为密码SoC产品的开发提供算法引擎支持。关键词:密码杂凑算法;片上系统(SoC);关键路径;优化设计;IP核;现场可编程门阵列(FPGA)1概述杂凑算法又称为Hash函数、散列函数,它是能够将任意有限长的输入消息映射为固定长度的输出值并且计算容易的一类函数。杂凑函数是现代密码学中一类重要的基础算法,在构建信息安全系统的过程中,提供

5、了数据完整性认证和对消息源进行认证的支撑功能。杂凑函数一般采用分组迭代的设计方法,如国际上已有的典型杂凑算法均采用MD类型分组迭代结构,其中以SHA-1算法和SHA-256/384/512算法为代表。该类算法具有压缩函数非线性度高、消息填充和分组强等优点,但也存在威胁安全性的缺点。为此,研究人员致力于并行模式杂凑算法的设计、分析和构造,并由国家密码管理局于2010年12月22日最终发布了适用于商用密码应用的SM3密码杂凑算法[3]。本文基于现场可编程门阵列(FieldProgrammableGateArray,FPGA)器件完成

6、了SM3算法的优化设计与快速实现,并以IP软核的形式为实际密码SoC产品的开发提供SM3算法引擎支持。2SM3算法介绍SM3密码杂凑算法是一种基于分组迭代结构的杂凑算法,该算法采用消息双字结合的消息字处理方式,使用来自不同群运算的混合,实现了消息在局部范围内快速扩散和混乱,有效防止了比特追踪及其它已知分析方法的攻击。SM3算法安全性好、结构新颖,适合软硬件和智能卡实现。针对长度为l(l<264)比特的报文消息,SM3杂凑算法经过填充和迭代压缩,生成杂凑值,杂凑值长度为256比特,其具体处理过程可概括为以下四个步骤[3]:步

7、骤1:消息填充。假设报文消息m的长度为l比特,首先将比特“1”添加到消息的末尾,再添加k个“0”,其中k是满足l+1+k=448mod512的最小的非负整数;然后再添加一个64位比特串,该比特串是长度l的二进制表示。填充后的报文消息m’’的比特长度为512的倍数。步骤2:初始化缓冲区。SM3函数的中间结果和最终结果保存于256比特的缓冲区中,缓冲区用8个32位的寄存器A、B、C、D、E、F、G、H表示,并将寄存器初始化为下列32比特的整数:A=f,B=4914b2b9,C=d7,D=da8a0600,E=a96f30bc,F=a

8、a,G=e38dee4d,H=b0fb0e4e。步骤3:消息迭代压缩。将填充后的消息m’’按512比特进行分组:m’’=B(0)B(1)...B(n?1)。对m’’按下列方式迭代:V(i+1)=CF(V(i),B(i))。其中,CF是由64步迭代运算组成,每步都

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。