一種基于糾錯碼與低輪aes的加密方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)加密技術(shù)領(lǐng)域,尤其涉及一種基于糾錯碼與低輪AES的加密方法及系統(tǒng)。
【背景技術(shù)】
[0002]AES (高級加密標準)編碼提出于2000年,是一種主流的分組密碼加密標準。其每次固定加密128比特數(shù)據(jù);針對不同的加密強度,可以選擇長度為128、192、256比特的密鑰,分別對應了 10、12、14輪加密計算。其每一輪加密計算包含了輪密鑰加、S-box變換、行移位、列混合操作,最后一輪沒有列混合操作。
[0003]以最簡單的10輪AES為例,為了滿足日益增長的數(shù)據(jù)帶寬需求,10輪的AES編碼通常采用若干個輪加密模塊串行或并行來提高性能,由此需要較多的計算資源,在某些資源受限場合下會產(chǎn)生較大的設計困難。
[0004]另外,在很多應用場合下(包括但不限于通信、存儲領(lǐng)域),數(shù)據(jù)會有一定概率出現(xiàn)隨機錯誤。此時,糾錯碼生成模塊是必須的模塊之一。糾錯碼技術(shù)作為一種線性編碼,但其本身不具備好的加密性能。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的是提供一種基于糾錯碼與低輪AES的加密方法及系統(tǒng),可以在具有誤碼、需要糾錯的應用中以較小的計算資源消耗(包括軟件計算時的CPU時間消耗,硬件計算時的面積、功耗消耗)實現(xiàn)較好的AES加密性能。
[0006]本發(fā)明的目的是通過以下技術(shù)方案實現(xiàn)的:
[0007]一種基于糾錯碼與低輪AES的加密系統(tǒng),該系統(tǒng)包括:
[0008]低輪AES加密模塊,用于利用獲取到的AES高級加密標準密鑰對輸入的數(shù)據(jù)進行低輪AES加密,獲得AES密文數(shù)據(jù);
[0009]糾錯碼編碼模塊,用于根據(jù)AES密文數(shù)據(jù)長度與糾錯碼長度的差值,生成一個該差值長度的糾錯碼編碼密鑰,并將該糾錯碼編碼密鑰與AES密文數(shù)據(jù)拼接后進行糾錯編碼,獲得糾錯碼編碼結(jié)果;舍棄該糾錯碼編碼結(jié)果中的糾錯碼編碼密鑰,獲得經(jīng)過加密及糾錯后的數(shù)據(jù)。
[0010]進一步的,所述低輪AES加密模塊采用7輪加密器流水化編碼加密,或者最少至I輪并循環(huán)利用的加密器進行流水化編碼加密。
[0011]進一步的,該系統(tǒng)中設有若干組低輪AES加密模塊與糾錯碼編碼模塊,組與組之間并行執(zhí)行加密與糾錯碼編碼任務。
[0012]一種基于糾錯碼與低輪AES的加密方法,該方法基于前述的系統(tǒng)實現(xiàn),其包括:
[0013]利用獲取到的AES高級加密標準密鑰對輸入的數(shù)據(jù)進行低輪AES加密,獲得AES密文數(shù)據(jù);
[0014]根據(jù)AES密文數(shù)據(jù)長度與糾錯碼長度的差值,生成一個該差值長度的糾錯碼編碼密鑰,并將該糾錯碼編碼密鑰與AES密文數(shù)據(jù)拼接后進行糾錯編碼,獲得糾錯碼編碼結(jié)果;舍棄該糾錯碼編碼結(jié)果中的糾錯碼編碼密鑰,獲得經(jīng)過加密及糾錯后的數(shù)據(jù)。
[0015]進一步的,低輪AES加密時,采用7輪加密器流水化編碼加密,或者最少至I輪并循環(huán)利用的加密器進行流水化編碼加密。
[0016]進一步的,該方法還包括:并行執(zhí)行若干組數(shù)據(jù)的加密與糾錯碼編碼任務。
[0017]由上述本發(fā)明提供的技術(shù)方案可以看出,將糾錯碼編碼與低輪AES加密結(jié)合到一起的加密方法,為同時具有糾錯與加密需求的應用提供了一種低計算資源消耗、高安全性的加密方法。
【附圖說明】
[0018]為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域的普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他附圖。
[0019]圖1為本發(fā)明實施例一提供的一種基于糾錯碼與低輪AES的加密系統(tǒng)的示意圖;
[0020]圖2為本發(fā)明實施例一提供的用于具有糾錯、加密需求的硬盤時的示意圖;
[0021]圖3為本發(fā)明實施例一提供的具有糾錯、加密需求的網(wǎng)絡數(shù)據(jù)傳輸時的示意圖;
[0022]圖4為本發(fā)明實施例二提供的一種基于糾錯碼與低輪AES的加密方法的流程圖。
【具體實施方式】
[0023]下面結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明的保護范圍。
[0024]實施例一
[0025]本發(fā)明實施例一提供的一種基于糾錯碼與低輪AES的加密系統(tǒng),該系統(tǒng)主要包括:
[0026]低輪AES加密模塊,用于利用獲取到的AES高級加密標準密鑰對輸入的數(shù)據(jù)進行低輪AES加密,獲得AES密文數(shù)據(jù);
[0027]糾錯碼編碼模塊,用于根據(jù)AES密文數(shù)據(jù)長度與糾錯碼長度的差值,生成一個該差值長度的糾錯碼編碼密鑰,并將該糾錯碼編碼密鑰與AES密文數(shù)據(jù)拼接后進行糾錯編碼,獲得糾錯碼編碼結(jié)果;舍棄該糾錯碼編碼結(jié)果中的糾錯碼編碼密鑰,獲得經(jīng)過加密及糾錯后的數(shù)據(jù)。
[0028]如圖1所示,數(shù)據(jù)輸入后依次經(jīng)過低輪AES加密模塊11與糾錯碼編碼模塊12進行上述處理后,獲得并輸出經(jīng)過加密及糾錯后的數(shù)據(jù)。
[0029]本發(fā)明實施例的方案適用于數(shù)據(jù)會有一定概率出現(xiàn)隨機錯誤的場合。本方案中包含一個或若干個糾錯碼模塊(可采用不同的糾錯碼算法),以及一個或若干個低輪AES加密模塊,在提供糾錯功能的同時提供加密功能。
[0030]本發(fā)明實施例中,AES加密模塊為縮減輪數(shù)之后的AES加密模塊(加密算法可采用通用AES輪加密算法),以較小的計算資源消耗實現(xiàn)較好的AES加密性能。示例性的,為了滿足不同情況下的性能需求,低輪AES加密模塊可以7輪加密器流水化編碼加密,也可以采用最少至I輪加密器(但要循環(huán)利用)進行流水化編碼加密。同時,也可以多個低輪AES加密模塊并行,以達到更高的性能要求。
[0031]本發(fā)明實施例中,糾錯碼模塊可以采用通用的糾錯碼編碼算法。為了讓糾錯碼具有相應的保密能力,對糾錯碼需要采用添加一組糾錯碼密鑰,并設計相應的機制。
[0032]示例性的,以(10230,9790)的RS碼為例說明,標準的(10230,9790)的RS碼,其輸入數(shù)據(jù)為9790比特,編碼后輸出數(shù)據(jù)長度為10230比特,其輸出格式為在原9790比特數(shù)據(jù)之后添加了 440比特冗余校驗數(shù)據(jù)。本發(fā)明所述的RS碼編碼模塊輸入