基于CUDA的SM4加密算法高速实现.pdfVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于CUDA的SM4加密算法高速实现.pdf

第16卷第1期 石家庄铁路职业技术学院学报 VOL.16 No.1 2017 年3月 JOURNAL OF SHIJIAZHUANG INSTITUTE OF RAILWAY TECHNOLOGY Mar. 2 0 1 7 基于 CUDA 的 SM4 加密算法高速实现 王德民 陈 达 (桂林电子科技大学信息与通信学院 广西桂林 541004 ) 摘要:传统的SM4 加密运算是在CPU 上实现的,为了提高加密速度以处理大规模的加密运算,根 据分组密码SM4 的结构和特点,实现了一个利用GPU 的通用计算能力,在统一计算设备架构(CUDA ) 平台上运行的SM4 并行算法。通过两个实验平台,对SM4 并行算法(基于CUDA )和串行算法(基于 CPU )的性能进行了对比和实验验证。结果表明,该并行SM4 算法在平台1 上最高能达到40.6 倍的加 速比和85.4%的加速效率,在平台2 上最高能达到64.7 倍的加速比和49.5% 的加速效率。 关键词:SM4 CUDA 并行计算 中国分类号:O246 文献标识码:A 文章编号:1673-1816(2017)01-0059-05 1 引言 随着无线局域网(Wireless Local Area Network, WLAN )的日益普及,其传输信息的安全性面临严 峻的挑战。SM4 算法[1],是由国家商用密码管理办公室于2006 年 1 月公布的用于无线局域网产品的分 组对称密码算法,该算法在大量需要安全通信的应用中担当加密、解密任务,具有安全、高效和简明 等特性。但是 SM4 运算复杂度极高,过程冗长,非常不适应于网络传输和视频加密等对速度要求较高 的场合。业界许多基于 FPGA 设计的被提出[2,3] 。但采用 FPGA 这类专用硬件设计的 SM4 算法实现不 够灵活,存在如升级维护难、开发周期长,成本高等缺点。因此,开发快速运行的并行 SM4 加解密算 法,从而实现高速数据流的实时加解密功能,是亟待解决的重要问题。 基于以上背景,为了提升加解密性能,本文在分析 SM4 算法的基础上,提出基于 GPU 并行计算 的 SM4 加解密基本架构。并在不同的实验品平台上对不同的明文数据分块大小进行性能比较,得到不 同分块下的加速比与加速效率。 2 SM4 算法描述 SM4 是一种 Feistel 结构的分组密码算法,其分组长度和密钥长度均为 128bit。加解密算法与密钥 扩张算法都采用 32 轮非线性迭代结构[4] 。解密算法与加密算法的结构相同,只是轮密钥的使用顺序相 反,即解密算法使用的轮密钥是加密算法使用的轮密钥的逆序。 2.1 加解密算法描述 定义 为 e 比特的向量集,i 为 32bit 循环左移 i 位,⊕为 32bit 异或。 收稿日期:2016-04-12 作者简介:王德民(1991-)男,海南临高人,学士,研究方向集成电路。 59 万方数据 石家庄铁路职业技术学院学报 2017 年第 1 期 现对 SM4 解密算法进行具体介绍。128bit 的明文或密文输入经初始变换分成4 个字节,与轮密钥 经过轮函数的运算经过 32 轮的迭代完成加解密运算。 设 明 文 输 入 为 , 密 文 输 出 为 , 轮 密 钥 为 ,则该算法的加密过程为: (1) (2 ) 在式(1)中, 称为加密算法的轮函数; 为

文档评论(0)

小马过河 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档