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