[发明专利]一种基于OpenCL的Bitslicing-KLEIN的快速实现方法有效
申请号: | 201610369557.1 | 申请日: | 2016-05-27 |
公开(公告)号: | CN105933111B | 公开(公告)日: | 2019-03-22 |
发明(设计)人: | 龚征;袁宇恒;温雅敏;廖国鸿;魏标;李泮琳;黎伟杰 | 申请(专利权)人: | 华南师范大学;广东财经大学 |
主分类号: | H04L9/08 | 分类号: | H04L9/08 |
代理公司: | 广州市华学知识产权代理有限公司 44245 | 代理人: | 裘晖 |
地址: | 510631 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于OpenCL的Bitslicing‑KLEIN快速实现方法,包括下述步骤:S1、对需要加/解密的数据进行重排;S2、对重排后的数据执行bitslicing化KLEIN的轮函数,执行次数由密钥长度决定;S3、将处理好的数据还原为正确的明密文格式;S4、将上述步骤写成供OpenCL主程序调用的内核函数;S5、根据管道延迟隐藏技术确定分块大小及调度策略,编写OpenCL主程序;S6、执行程序,输出加解密结果,释放资源。本发明通过引入重排机制对原有的bitslicing化后的KLEIN版本进行了优化,并使用OpenCL将优化后的算法进行并行化实现,不仅使得KLEIN算法具备了抗边信道的缓存和计时攻击的特性,还提高了算法的性能,可用于快速加解密或口令破解机等,同时能使Bitslicing‑KLEIN在支持OpenCL的平台和设备上并行运行并获得最佳性能。 | ||
搜索关键词: | 一种 基于 opencl bitslicing klein 快速 实现 方法 | ||
【主权项】:
1.一种基于OpenCL的Bitslicing‑KLEIN的快速实现方法,其特征在于,包括下述步骤:S1、对需要加/解密的数据进行重排,输入数据经过重排后,排列成适合Bitslicing‑KLEIN中的SubNibbles和MixNibbles操作的形式;步骤S1中,对输入数据进行重排的具体方法是:为了发挥bitslicing技术的并行特性,需要将明文或者密文从s0s1s2s3s4s5s6s7s8s9s10s11s12s13s14s15重排为s0s1s8s9s2s3s10s11s4s5s12s13s6s7s14s15,其中si为4比特,对应KLEIN中的第i个S盒的输入,重排时需要同时按照MixNibbles时的输入作为划分,将第i个比特位分配到对应的变量上,MixNibbles将相邻的两个S盒的输入划分为一组,重排时需要将MixNibbles输入的所有第0比特分配到变量v0中,则v0=s1|0s9|0s3|0s11|0s5|0s13|0s7|0s15|0,v1为所有输入的第1比特,v2,v3以此类推,其中si|0为第i个S盒输入的最低位,类似地将MixNibbles所有输入的第4比特分配到变量v4中,则v4=s0|0s8|0s2|0s10|0s4|0s12|0s6|0s14|0,v5为所有输入的第5比特,v6,v7以此类推;S2、对重排后的数据执行bitslicing化KLEIN的轮函数,执行次数由密钥长度决定;S3、将处理好的数据还原为正确的明密文格式,轮函数执行过后,对数据进行重排,使其还原成明文或者密文的格式,再将其保存到输出数据所在的存储区域中;S4、将上述步骤S1‑S3写成供OpenCL主程序调用的内核函数,函数的参数包括加/解密用的明/密文数据的地址、轮数、加/解密用的密钥数据的地址以及存放加/解密结果的地址;S5、根据最优化策略确定分块大小及调度策略,编写OpenCL主程序,主程序包括设置分块大小,获取可用平台,获取设备列表并选中目标设备作为运行设备,创建上下文环境,创建内核程序对象并进行编译、创建传输队列和内核执行队列,创建内存空间,设置参数映射,拷贝数据到设备,根据管道延迟隐藏技术安排传输队列和内核队列的执行顺序,从目标设备中拷贝执行结果,释放资源;S6、运行主程序,输出加/解密结果,释放资源,主程序编写好后,直接运行,目标设备会按照主程序的设置及调度策略合理地循环执行拷贝数据到目标设备,让各个线程运行内核程序,将运行结果从目标设备拷贝回主机三个操作,等所有数据处理结果都完成之后,将结果输出到指定的位置并释放资源。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华南师范大学;广东财经大学,未经华南师范大学;广东财经大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610369557.1/,转载请声明来源钻瓜专利网。