整体思路是把待处理的大量数据划分为尺寸相同的多个小数据块,然后在GPU上使用的AES算法对各个小数据块进行并行的运算,运算完成后把每个小数据块的值按顺序保存在一起,这样就可以使用大量的线程来并行地对每个小数据块进行运算[12]。
AES算法并行实现的详细步骤为:
1、首先在主机端把所有文件顺序读入一个动态分配的数组中,方便向设备端传送数据。详见4.5.2节。
2、从键盘读入一个128位密钥,将其扩展为AES 10轮加密所需的11个四字节字的扩展密钥。详见4.5.3节。
3、调用内核函数,将数据传入设备端进行计算。调用形式如下[13]:
testKernel<<<  dim3 grid, dim3 threads >>>(char* d_odata , char* d_AES , char* d_AES_ES , size_t  width)
参数:
grid-栅格数
threads-线程数
d_odata-输出结果缓冲区指针
d_AES-存放密文的数组指针
d_AES_ES-存放扩展密钥的数组指针
width-线程块宽度 (size_t width = blockx * threadx)
4、内核加密完成后,由主机端从存放结果的缓冲区读出结果,并写入文件中。
4.4  程序流程图
4.4.1 加密部分
图 4.3 加密部分程序流程图
4.4.2 解密部分
上一篇:C#连锁酒店入住管理系统开发+文献综述
下一篇:ASP面向高校学生的驴友网站的设计与实现

基于高斯过程动态模型的时序数据恢复方法

高校校园网信息安全隐患及防范措施

ASP.Net+sqlserver高校班级日志...

高职院校公共机房的管理维护【2471字】

高级RFID阅读器應用對处理器的要求【1354字】

试析高职院校计算机专业...

论高职计算机應用专业課...

浅谈高校行政管理人员的...

浅论职工思想政治工作茬...

STC89C52单片机NRF24L01的无线病房呼叫系统设计

上海居民的社会参与研究

酵母菌发酵生产天然香料...

从政策角度谈黑龙江對俄...

AES算法GPU协处理下分组加...

压疮高危人群的标准化中...

提高教育质量,构建大學生...

基于Joomla平台的计算机学院网站设计与开发