[發明專利]基于CUDA的ARIA對稱分組密碼算法并行化方法無效
| 申請號: | 201310401251.6 | 申請日: | 2013-09-05 |
| 公開(公告)號: | CN103490877A | 公開(公告)日: | 2014-01-01 |
| 發明(設計)人: | 肖利民;李勇男;李映;阮利 | 申請(專利權)人: | 北京航空航天大學 |
| 主分類號: | H04L9/06 | 分類號: | H04L9/06;G06F9/46 |
| 代理公司: | 北京金恒聯合知識產權代理事務所 11324 | 代理人: | 李強 |
| 地址: | 100191*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 cuda aria 對稱 分組 密碼 算法 并行 方法 | ||
技術領域
本發明提出了針對ARIA對稱分組密碼算法的并行化方法,具體涉及一種含四個S盒的ARIA對稱分組密碼算法和基于CUDA(Compute?Unified?Device?Architecture)編程架構的并行算法設計,屬于計算機技術領域。?
背景技術
ARIA對稱分組密碼算法?
ARIA是一種采用四個S盒的對稱分組密碼算法,可以使用128、192、256比特位三種密鑰長度,對應的加密輪數分別為12、14、16輪。本發明采用128比特位密鑰長度說明并行化方法。加密之前需要計算出所有的輪密鑰,即密鑰擴展算法,加密的具體過程如如圖1所示,若采用n輪輪函數的ARIA對稱分組密碼算法,則前n-1輪每一輪的輪函數由以下三個部分組成:?
(1)輪密鑰加(Round?Key?Addition)每個數據分組與一個輪密鑰(Round-key)進行異或。?
(2)置換層(Substitution?Layer)如圖2,圖3所示,ARIA對稱分組密碼算法的置換層需要用四個S盒(S-box),包括S1、S2、和。置換層共有兩種,其中一種用在奇數輪,另一種用在偶數輪。其中每一個S盒是一個8比特位的16行16列的替換表。以S1盒中的替換為例,S1(0x00)=0x63,S1(0x05)=0x6B。?
(3)擴散層(Diffusion?Layer)將一個16字節的輸入線性映射為16字節的輸出函數,其映射關系為1個16X16的二進制自逆矩陣。?
如圖1所示,ARIA對稱分組密碼算法的最后一輪輪函數需要執行兩次輪密鑰加和一次置換。因此,對于n輪的ARIA對稱分組密碼算法,需要n+1組密鑰。本發明采用的128位ARIA對稱分組密碼算法共有12輪加密,共需要13輪密鑰。?
CUDA(Compute?Unified?Device?Architecture)?
CUDA是目前最常用的編程架構。在CUDA編程架構中,CPU(Central?Processing?Unit,即中央處理器)作為主機,GPU(Graphic?Processing?Unit,即圖形處理器)作為協處理器或者設備,是一種異構計算結構。一個系統中可以存在一個主機和多個設備,它們協同工作,各司其職。CPU擁有豐富的控制邏輯,負責邏輯性強的事務處理和串行計算,GPU上控制邏輯簡單但計算資源豐富,負責執行高度線程化的并行處理任務。它們擁有相互獨立的存儲器空間:內存和顯存。CUDA使用不同的方式來控制內存和顯存。對于內存,使用C程序的內存管理函數;對顯存,則使用CUDA的存儲管理函數來進行開辟、初始化、釋放顯存空間,以及在內存和顯存之間進行數據傳輸等。CUDA的存儲器結構如圖4所示,每個線程均擁有自己私有的寄存器、局部存儲器(Local?Memory)。每個線程塊內的線程共享一塊共享存儲器(Shared?Memory);一個線程網格(Grid)內的所有線程均可以訪問同一塊全局存儲器(Global?Memory)。這四種存儲空間都是可讀可寫的,而另外還有兩種只讀存儲器,即常數存儲器(Constant?Memory)和紋理存儲器(Texture?Memory)。?
發明內容
本發明的一個目的,是基于CUDA為使用四個S盒的ARIA對稱分組密碼算法提供三種粒度的并行化方法。該方法首先對ARIA對稱分組密碼算法的輪函數進行化簡,使輪函數轉換為多次查找表操作和異或操作。然后根據輪函數的化簡結果和CUDA編程架構的特點提出三種粒度的并行化方法,并設計ARIA對稱分組密碼算法在CUDA編程架構上的存儲器映射方案和線程映射方案。本發明提出的并行化方法可以提高ARIA對稱分組密碼算法加密解密的速度。?
本發明提供了基于CUDA的ARIA對稱分組密碼算法三種并行化方法,其特征在于:?
(1)根據ARIA對稱分組密碼算法的特點將輪函數化簡為多次查找表操作和異或操作;?
(2)基于CUDA編程架構的三種粒度并行化方法;?
(3)ARIA對稱分組密碼算法中的S盒、輪密鑰、明文、密文進行存儲器分配方案;?
(4)ARIA對稱分組密碼算法三種不同粒度并行化方法的線程映射方案。?
附圖說明
圖1是加密流程圖。?
圖2示意顯示了置換層類型1。?
圖3示意顯示了置換層類型2。?
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京航空航天大學,未經北京航空航天大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310401251.6/2.html,轉載請聲明來源鉆瓜專利網。





