[發(fā)明專利]一種基于OpenCL的AES并行化實現(xiàn)方法有效
| 申請?zhí)枺?/td> | 201410153285.2 | 申請日: | 2014-04-16 |
| 公開(公告)號: | CN103973431B | 公開(公告)日: | 2017-04-05 |
| 發(fā)明(設(shè)計)人: | 龔征;袁宇恒;何振忠;溫雅敏 | 申請(專利權(quán))人: | 華南師范大學 |
| 主分類號: | H04L9/06 | 分類號: | H04L9/06;G06F9/38 |
| 代理公司: | 廣州市華學知識產(chǎn)權(quán)代理有限公司44245 | 代理人: | 黃磊 |
| 地址: | 510631 廣東省*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 opencl aes 并行 實現(xiàn) 方法 | ||
1.一種基于OpenCL的AES并行化實現(xiàn)方法,其特征在于,包括下述步驟:
S1、確定明/密文及輪密鑰分組的數(shù)量,準備好明/密文及輪密鑰數(shù)據(jù)的數(shù)據(jù);
S2、確定AES的執(zhí)行模式,為編寫內(nèi)核函數(shù)做準備;
S3、編寫內(nèi)核函數(shù);
S4、編寫OpenCL程序主文件,為OpenCL程序的執(zhí)行做準備;
S5、設(shè)置程序運行參數(shù),分配內(nèi)存空間,運行程序;
S6、獲取加解密結(jié)果,釋放資源。
2.根據(jù)權(quán)利要求1所述的基于OpenCL的AES并行化實現(xiàn)方法,其特征在于,步驟S1中,輪密鑰的數(shù)據(jù)在主機端預先生成好。
3.根據(jù)權(quán)利要求1所述的基于OpenCL的AES并行化實現(xiàn)方法,其特征在于,步驟S2中,根據(jù)AES的設(shè)計,將每一輪的不同操作轉(zhuǎn)化為僅用T表和異或來實現(xiàn);其具體實現(xiàn)方式是:
假設(shè)a為一輪的輸入,長度為128比特,此處看成是4×4字節(jié)的矩陣,按照32比特劃分為4份,即a0,a1,a2,a3,1份相當于原有矩陣中的1行,如a0,j代表原有矩陣中的第一行第j列的元素,d為一輪的輸出,那么,d可以表示為:
dj=T0[a0,j]⊕T1[a1,j+1]⊕T2[a2,j+2]⊕T3[a3,j+3]⊕kj;
其中T0,T1,T2,T3為4個T表,kj為第j列要與之異或的子輪密鑰;經(jīng)過上述處理后,原本需要經(jīng)過字節(jié)替換、行移位、列混合以及輪密鑰加四個操作才能獲取的一輪的輸出,現(xiàn)在就轉(zhuǎn)化為僅依靠查表和異或就能獲取到;在完成上述操作前需要預先準備好T表并將其寫在內(nèi)核文件中;
T表的類型可設(shè)為4字節(jié)的靜態(tài)無符號整型私有值、4字節(jié)的無符號整型常量或靜態(tài)無符號整型常量類型,需要注意,T表應(yīng)寫在內(nèi)核函數(shù)之外,因為內(nèi)核函數(shù)之內(nèi)不允許使用靜態(tài)類型,而且將T表寫在內(nèi)核函數(shù)中會導致程序運行時性能的下降。
4.根據(jù)權(quán)利要求3所述的基于OpenCL的AES并行化實現(xiàn)方法,其特征在于,步驟S2中,AES的執(zhí)行模式選用電子密碼本ECB模式、計時器CTR模式以及輸出反饋OFB模式三種模式中的一種。
5.根據(jù)權(quán)利要求1所述的基于OpenCL的AES并行化實現(xiàn)方法,其特征在于,步驟S3中,編寫內(nèi)核參數(shù)的具體方法為:
S31、該函數(shù)有四個參數(shù),分別是輸入數(shù)據(jù)的地址、輸出數(shù)據(jù)的地址、輪密鑰的地址、輪數(shù),其中,輸入和輸出數(shù)據(jù)的地址類型均為無符號字符向量全局指針global uchar4*,輪密鑰的地址類型為無符號字符向量常量指針constant uchar4*,輪數(shù)的類型為整型;該內(nèi)核函數(shù)的參數(shù)可根據(jù)實際的需求增加或減少;
S32、存放加/解密結(jié)果的中間變量設(shè)為私有無符號字符向量private uchar4類型,其中uchar4為OpenCL中特有的類型,用來表示向量,類型后的數(shù)字表示該向量包含多少個值,uchar4就是包含4個無符號字符類型的向量;
S33、由于程序?qū)嶋H運行時,一個工作節(jié)點單獨負責一個內(nèi)核程序的執(zhí)行,然而各個工作節(jié)點的輸入輸出數(shù)據(jù)也是獨立的,所以編寫內(nèi)核函數(shù)的時候,應(yīng)確保當前執(zhí)行的工作節(jié)點訪問到正確的數(shù)據(jù);可通過使用get_global_id()函數(shù)來標識當前工作節(jié)點在工作空間中的位置,利用該位置來限定各個工作節(jié)點所訪問數(shù)據(jù)的位置;
S34、根據(jù)上述選擇的AES的執(zhí)行模式,結(jié)合上述的對AES進行優(yōu)化的方法,將AES的加/解密算法寫進內(nèi)核函數(shù),待加/解密的數(shù)據(jù)應(yīng)利用輸入數(shù)據(jù)地址從輸入數(shù)據(jù)的空間之中讀取,加/解密完成后,利用輸出數(shù)據(jù)的地址將加/解密的結(jié)果寫入到輸出數(shù)據(jù)的空間之中。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于華南師范大學,未經(jīng)華南師范大學許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410153285.2/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:故障診斷方法及裝置
- 下一篇:一種空調(diào)制冷劑的過濾裝置





