[發明專利]一種基于異構加速平臺的AES對稱加解密方法及系統在審
| 申請號: | 201710935906.6 | 申請日: | 2017-10-10 |
| 公開(公告)號: | CN107491317A | 公開(公告)日: | 2017-12-19 |
| 發明(設計)人: | 李雪雷;王麗;曹芳;段志剛 | 申請(專利權)人: | 鄭州云海信息技術有限公司 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44;G06F21/60;H04L9/28;H04L9/06 |
| 代理公司: | 北京集佳知識產權代理有限公司11227 | 代理人: | 羅滿 |
| 地址: | 450018 河南省鄭州市*** | 國省代碼: | 河南;41 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 加速 平臺 aes 對稱 解密 方法 系統 | ||
技術領域
本發明涉及數據加解密技術領域,特別涉及一種基于異構加速平臺的AES對稱加解密方法及系統。
背景技術
對稱加密算法是應用較早的加密算法,技術成熟。在對稱加密算法中,數據發信方將明文(原始數據)和加密密鑰一起經過特殊加密算法處理后,使其變成復雜的加密密文發送出去。收信方收到密文后,若想解讀原文,則需要使用加密用過的密鑰及相同算法的逆算法對密文進行解密,才能使其恢復成可讀明文。在對稱加密算法中,使用的密鑰只有一個,發收信雙方都使用這個密鑰對數據進行加密和解密,這就要求解密方事先必須知道加密密鑰。
對稱加密算法中存在一類應用領域十分廣泛的商用密碼標準,主要用于對不涉及國家秘密內容但又具有敏感性的內部信息、行政事務信息、經濟信息等進行加密保護。比如:商用密碼可用于企業門禁管理、企業內部的各類敏感信息的傳輸加密、存儲加密,防止非法第三方獲取信息內容;也可用于各種安全認證、網上銀行、數字簽名等。
AES在密碼學中又稱Rijndael加密法,是美國聯邦政府采用的一種區塊加密標準,已經被多方分析且廣為全世界所使用的商用密碼加密標準。
經過五年的甄選流程,高級加密標準由美國國家標準與技術研究院(NIST)于2001年11月26日發布于FIPS PUB 197,并在2002年5月26日成為有效的標準。2006年,高級加密標準已然成為對稱密鑰加密中最流行的算法之一。AES加密數據塊分組長度必須為128比特,密鑰長度可以是128比特、192比特、256比特中的任意一個(如果數據塊及密鑰長度不足時,會補齊)。AES加密有很多輪的重復和變換,加密過程是在一個4×4的字節矩陣上運作,這個矩陣又稱為“狀態(state)”,其初值就是一個明文區塊(矩陣中一個元素大小就是明文區塊中的一個Byte)。各輪AES加密循環(除最后一輪外)均包含4個步驟:
1.AddRoundKey:矩陣中的每一個字節都與該次輪秘鑰(round key)做XOR運算;每個子密鑰由密鑰生成方案產生。
2.SubBytes:通過非線性的替換函數,用查找表的方式把每個字節替換成對應的字節。
3.ShiftRows:將矩陣中的每個橫列進行循環式移位。
4.MixColumns:為了充分混合矩陣中各個直行的操作。這個步驟使用線性轉換來混合每列的四個字節。最后一個加密循環中省略MixColumns步驟,而以另一個AddRoundKey取代。
由于信息時代數據量的暴增,信息和數據的隱私安全成為各商業領域內最有價值的資產。各商業公司會對自己領域內的數據從系統準入到數據讀取都會做嚴格的信息保護。數據加密就是對信息進行保護的一種有效手段,能夠阻止非授權用戶的讀取和傳播。然而,對數據的加密和解密過程需要一定的計算資源,尤其是在數據暴增、響應時間有限的條件下,如何實現較快的AES加解密速度以滿足用戶對數據的存取響應成為一項嚴峻的挑戰。
發明內容
有鑒于此,本發明的目的在于提供一種基于異構加速平臺的AES對稱加解密方法及系統,能夠明顯提升AES對稱加解密速度。其具體方案如下:
一種基于異構加速平臺的AES對稱加解密方法,包括:
CPU端運行主機端可執行文件,以將待處理數據集和啟動控制信號發送至FPGA端,并獲取所述FPGA端得到的處理結果;
所述FPGA端在所述啟動控制信號的控制下,運行Kernel可執行文件,以對所述待處理數據集進行與目標算法對應的數據加密或解密處理,得到相應的處理結果;
其中,所述目標算法為AES對稱加密或解密算法;所述主機端可執行文件和所述Kernel可執行文件分別為基于主機端程序和Kernel程序生成的可執行文件;所述主機端程序和所述Kernel程序為利用OpenCL對所述目標算法進行高級語言描述后生成的程序。
可選的,所述主機端可執行文件的生成過程,包括:
利用GCC編譯器對所述主機端程序進行編譯,得到所述主機端可執行文件。
可選的,所述Kernel可執行文件的生成過程,包括:
利用Altera SDK for OpenCL對所述Kernel程序進行編譯,以生成相應的AOCX文件,得到所述Kernel可執行文件。
可選的,所述CPU端將待處理數據集和啟動控制信號發送至FPGA端的步驟,包括:
對原始目標數據進行分組,得到分組數據;其中,所述原始目標數據為原始的待加密數據或待解密數據;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于鄭州云海信息技術有限公司,未經鄭州云海信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710935906.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:使用情境信號安全執行語音動作
- 下一篇:程序和標識信息的處理方法、裝置和系統





