[发明专利]一种基于GPU的多变量密码算法并行化加速方法有效
申请号: | 201810228547.5 | 申请日: | 2018-03-20 |
公开(公告)号: | CN108510429B | 公开(公告)日: | 2021-11-02 |
发明(设计)人: | 龚征;廖国鸿;黎伟杰;马昌社;刘志杰;罗裴然;黄家敏 | 申请(专利权)人: | 华南师范大学 |
主分类号: | G06T1/20 | 分类号: | G06T1/20;G06F9/38 |
代理公司: | 广州市华学知识产权代理有限公司 44245 | 代理人: | 李斌 |
地址: | 510631 广东省广州市天*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于GPU的多变量密码算法并行化加速方法,该方法包括下述步骤:S1、对多变量等式的所有项进行同阶化操作;S2、生成GF2域上乘法表;S3、将项数表和乘法表映射到GPU的纹理内存;S4、对每一块数据调用多变量主内核函数进行计算并执行Reduce操作;S5、编写主函数来调度多变量主内核函数;S6、执行程序,输出加解密结果,释放资源。本发明主要通过将多变量的所有项进行同阶化并结合Map‑Reduce的思想来对多变量密码体制的密码算法进行优化,并以SpongeMPH哈希函数算法为例,给出了CUDA平台下面的实现与性能比较。实验表明该方案提高了算法的运行效率,可用于加速基于多变量密码体制的密码算法。 | ||
搜索关键词: | 一种 基于 gpu 多变 密码 算法 并行 加速 方法 | ||
【主权项】:
1.一种基于GPU的多变量密码算法并行化加速方法,其特征在于,包括下述步骤:S1、对多变量等式的所有项进行同阶化操作;S2、生成有限域上的生成元表及对数表,通过这两个表进行查表操作实现有限域的乘法来提高GPU线程计算过程中的一致性,所述的生成元表是指q阶有限域F上的生成元g生成的前q‑1个自然数0,1,2,…,q‑2的幂次方与0构成的表即table[i]=gi且令table[p‑1]=1,table[p]=g;所述对数表是指对于有限域上的任意元素a,有arc_table[a]=i,其中table[i]=a,且令arc_table[0]的值为一个大负数,使得0*a=table[arc_table[0]+arc_table[a]]中arc_table[0]+arc_table[a]恒为负数,而table[负数]的值为0;S3、将项表、系数表、生成元表及对数表映射到GPU的纹理内存,所述项表是指多变量方程中分别构成每一项的变量的下标,当某一项为a1x1x3x4,其中x1x3x4为变量,则项表在相应位置存1,3,4;所述系数表是指多变量方程中每一项的系数,与项表一一对应;S4、对每一块数据调用多变量主内核函数进行计算并执行Reduce求和操作,所述多变量主内核函数的参数包括待处理数据的地址、当前多项式变量的值的地址及中间临时数据存放的地址;所述多变量主内核函数的内容包括在GPU里的每个基本调度单位里获取每一个变量的值,计算每一项运算完的值,然后进行Reduce求和操作,获取每个多项式的结果并保存到当前多项式的变量数组中S5、编写主函数来调度多变量主内核函数,主函数包括设置分块大小、申请GPU内存空间以及纹理内存绑定,不断的将分块数据传递给主内核函数,最终将计算结果拷贝回主机端内存,释放资源;S6、执行程序,输出加解密结果,释放资源。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华南师范大学,未经华南师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810228547.5/,转载请声明来源钻瓜专利网。