欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

數(shù)據(jù)加密的方法和裝置與流程

文檔序號:12809082閱讀:233來源:國知局
數(shù)據(jù)加密的方法和裝置與流程

本發(fā)明涉及信息安全領(lǐng)域,具體地,涉及一種數(shù)據(jù)加密的方法和裝置。



背景技術(shù):

近年來,密碼學(xué)理論研究及實(shí)際應(yīng)用得到大力的發(fā)展,設(shè)計(jì)出大量具有高安全可靠性且性能較好的分組密碼同時應(yīng)用于密碼領(lǐng)域,新的密碼算法的研究設(shè)計(jì)工作極大的促進(jìn)了密碼學(xué)及密碼應(yīng)用在各個領(lǐng)域的應(yīng)用,對國家安全、企業(yè)知識產(chǎn)權(quán)保護(hù)以及個人隱私等信息安全工作起到積極的保障作用。然而,隨著大數(shù)據(jù)、云計(jì)算、物聯(lián)網(wǎng)以及移動互聯(lián)網(wǎng)的發(fā)展以及無線網(wǎng)絡(luò)在生活的普及應(yīng)用,新的應(yīng)用場景對移動終端的安全提出了更高的要求,針對移動終端的靈活便捷、攜帶方便的特點(diǎn)來看,普適性的分組密碼如des、3des、sm4等算法由于其計(jì)算復(fù)雜性較高,而移動終端屬于資源受限類型的設(shè)備,在速率方面有一定的影響。因此,需要提供一種能夠滿足移動終端需求的加密算法。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的是提供一種數(shù)據(jù)加密的方法和裝置,以解決或者至少部分的解決上述技術(shù)問題。

為了實(shí)現(xiàn)上述目的,本發(fā)明提供一種數(shù)據(jù)加密的方法,該方法包括:

將待加密的數(shù)據(jù)進(jìn)行分組;

對于每組數(shù)據(jù)分別使用初始密鑰進(jìn)行初始加密,將初始加密后數(shù)據(jù)作為初始輸入以進(jìn)行多輪加密;

在每輪加密中,將輸入的數(shù)據(jù)進(jìn)行加密置換,使用與本次加密輪數(shù)對應(yīng)的密鑰對加密置換后數(shù)據(jù)進(jìn)行加密,將加密后數(shù)據(jù)作為下一輪加密的輸入數(shù)據(jù)。

優(yōu)選地,所述方法還包括:將待解密的數(shù)據(jù)進(jìn)行分組;對于每組數(shù)據(jù)分別使用與最后一輪加密對應(yīng)的密鑰進(jìn)行初始解密,將初始解密后數(shù)據(jù)作為初始輸入以進(jìn)行多輪解密;在每輪解密中,將輸入的數(shù)據(jù)進(jìn)行解密置換,使用與本次解密輪數(shù)對應(yīng)的密鑰對解密置換后數(shù)據(jù)進(jìn)行解密,將解密后數(shù)據(jù)作為下一輪解密輸入數(shù)據(jù)。

優(yōu)選地,所述方法還包括:對配置的密鑰進(jìn)行擴(kuò)展,按加密所需密鑰個數(shù)將擴(kuò)展后密鑰進(jìn)行分段,各段密鑰分別與初始加密和各輪加密中所用密鑰對應(yīng)。

優(yōu)選地,所述將輸入的數(shù)據(jù)進(jìn)行加密置換,包括:使用加密置換表對輸入的數(shù)據(jù)進(jìn)行s盒加密置換;使用加密置換表對s盒加密置換后數(shù)據(jù)進(jìn)行p置換。

優(yōu)選地,所述方法還包括:產(chǎn)生預(yù)設(shè)數(shù)量字節(jié)的隨機(jī)數(shù),利用隨機(jī)數(shù)產(chǎn)生初始加密置換表和/或初始解密置換表,將初始加密置換表和/或初始解密置換表進(jìn)行多次交替置換,生成用于加密置換的加密置換表和/或用于解密置換的解密置換表。

根據(jù)本發(fā)明的另一方面,還公開了一種數(shù)據(jù)加密的裝置,該裝置包括:分組模塊,用于將待加密的數(shù)據(jù)進(jìn)行分組;初始加密模塊,用于對于每組數(shù)據(jù)分別使用初始密鑰進(jìn)行初始加密,將初始加密后數(shù)據(jù)作為初始輸入數(shù)據(jù)輸入加密模塊;所述加密模塊用于在每輪加密中,將輸入的數(shù)據(jù)進(jìn)行加密置換,使用與本次加密輪數(shù)對應(yīng)的密鑰對加密置換后數(shù)據(jù)進(jìn)行加密,將加密后數(shù)據(jù)作為下一輪加密的輸入數(shù)據(jù)。

優(yōu)選地,所述裝置還包括:初始解密模塊和解密模塊;所述分組模塊還用于將待解密的數(shù)據(jù)進(jìn)行分組;所述初始解密模塊用于對于每組數(shù)據(jù)分別使用與最后一輪加密對應(yīng)的密鑰進(jìn)行初始解密,將初始解密后數(shù)據(jù)作為初始輸入數(shù)據(jù)輸入所述解密模塊;所述解密模塊用于在每輪解密中,將輸入的數(shù)據(jù)進(jìn)行解密置換,使用與本次解密輪數(shù)對應(yīng)的密鑰對解密置換后數(shù)據(jù)進(jìn)行解密,將解密后數(shù)據(jù)作為下一輪解密輸入數(shù)據(jù)。

優(yōu)選地,所述分組模塊還用于對配置的密鑰進(jìn)行擴(kuò)展,按加密所需密鑰個數(shù)將擴(kuò)展后密鑰進(jìn)行分段,各段密鑰分別與初始加密和各輪加密中所用密鑰對應(yīng)。

優(yōu)選地,所述加密模塊用于使用加密置換表對輸入的數(shù)據(jù)進(jìn)行s盒加密置換;使用加密置換表對s盒加密置換后數(shù)據(jù)進(jìn)行p置換。

優(yōu)選地,所述裝置還包括:生成模塊,用于產(chǎn)生預(yù)設(shè)數(shù)量字節(jié)的隨機(jī)數(shù),利用隨機(jī)數(shù)產(chǎn)生初始加密置換表和/或初始解密置換表,將初始加密置換表和/或初始解密置換表進(jìn)行多次交替置換,生成用于加密置換的加密置換表和/或用于解密置換的解密置換表。

通過上述技術(shù)方案,將待加密的數(shù)據(jù)進(jìn)行分組,對于每組數(shù)據(jù)分別使用初始密鑰進(jìn)行初始加密,將初始加密后數(shù)據(jù)作為初始輸入以進(jìn)行多輪加密;在每輪加密中,將輸入的數(shù)據(jù)進(jìn)行加密置換,使用與本次加密輪數(shù)對應(yīng)的密鑰對加密置換后數(shù)據(jù)進(jìn)行加密,將加密后數(shù)據(jù)作為下一輪加密的輸入數(shù)據(jù)。如此,能夠提供一種安全性較高,運(yùn)算量較少的加密技術(shù)方案,進(jìn)而能夠更好的滿足移動終端對于加密技術(shù)的需求。

本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的具體實(shí)施方式部分予以詳細(xì)說明。

附圖說明

附圖是用來提供對本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與下面的具體實(shí)施方式一起用于解釋本發(fā)明,但并不構(gòu)成對本發(fā)明的限制。在附圖中:

圖1是根據(jù)本發(fā)明一實(shí)施例的數(shù)據(jù)加密的方法的流程圖;

圖2是根據(jù)本發(fā)明一實(shí)施例的數(shù)據(jù)解密的方法的流程圖;

圖3是根據(jù)本發(fā)明一實(shí)施例的數(shù)據(jù)加密的裝置的結(jié)構(gòu)圖;

圖4是根據(jù)本發(fā)明一實(shí)施例的數(shù)據(jù)加密的裝置的結(jié)構(gòu)圖;以及

圖5是根據(jù)本發(fā)明一實(shí)施例的數(shù)據(jù)加密的裝置的結(jié)構(gòu)圖。

具體實(shí)施方式

以下結(jié)合附圖對本發(fā)明的具體實(shí)施方式進(jìn)行詳細(xì)說明。應(yīng)當(dāng)理解的是,此處所描述的具體實(shí)施方式僅用于說明和解釋本發(fā)明,并不用于限制本發(fā)明。

圖1是根據(jù)本發(fā)明一實(shí)施例的數(shù)據(jù)加密的方法的流程圖。如圖1所示,本發(fā)明可包括如下步驟。

在步驟s110中,將待加密的數(shù)據(jù)進(jìn)行分組。

舉例而言,將明文消息編碼表示成明文序列,劃分成長度為m的分組,例如劃分為64位的分組。在后續(xù)步驟中,將每分組分別在密鑰的作用下變換成等長的輸出密文序列。其中,密鑰可通過擴(kuò)展方式使支持64、80、96、112、128位長度的密鑰,分組迭代輪數(shù)可選擇10、11、12、13以及14次。

在一實(shí)施例中,所述方法還包括:對配置的密鑰進(jìn)行擴(kuò)展,按加密所需密鑰個數(shù)將擴(kuò)展后密鑰進(jìn)行分段,各段密鑰分別與初始加密和各輪加密中所用密鑰對應(yīng)。

例如,l字節(jié)長度的密鑰將被擴(kuò)展到8(r+1)字節(jié),擴(kuò)展后的密鑰為k0|k1|...|ki|...|kr=k0|k1|...|ki|...k8r+7,這里每個ki均為8字節(jié)長度,0≤i≤r;每個ki均有一個字節(jié),0≤i≤8r+7,r為進(jìn)行加密時的迭代輪數(shù)。因此密鑰k為8、10、12、14和16字節(jié),分組迭代輪數(shù)r可選擇10、11、12、13以及14次。

在一實(shí)施例中,所述方法還可包括:產(chǎn)生預(yù)設(shè)數(shù)量字節(jié)的隨機(jī)數(shù),利用隨機(jī)數(shù)產(chǎn)生初始加密置換表和/或初始解密置換表,將初始加密置換表和/或初始解密置換表進(jìn)行多次交替置換,生成加密置換表和/或解密置換表。

舉例而言,加密置換表和解密置換表通過偽隨機(jī)置換生成,引入迭代logistic(邏輯)映射,首先產(chǎn)生256字節(jié)的不重復(fù)數(shù),不重復(fù)數(shù)的范圍是0-30000,加密置換表s[256]和解密置換表s-1[256]是通過多次交替置換得到新的256字節(jié)的偽隨機(jī)置換表,交替置換過程為:t:s[t(j)]=t(j+1),s[t(255)]=t(0);s-1[t(j+1)]=t(j),s-1[t(0)]=t(255);其中0≤j≤254。

在步驟s120中,對于每組數(shù)據(jù)分別使用初始密鑰進(jìn)行初始加密,將初始加密后數(shù)據(jù)作為初始輸入以進(jìn)行多輪加密。

在步驟s130中,在每輪加密中,將輸入的數(shù)據(jù)進(jìn)行加密置換,使用與本次加密輪數(shù)對應(yīng)的密鑰對加密置換后數(shù)據(jù)進(jìn)行加密,將加密后數(shù)據(jù)作為下一輪加密的輸入數(shù)據(jù)。

在一實(shí)施例中,所述將輸入的數(shù)據(jù)進(jìn)行加密置換包括:使用加密置換表對輸入的數(shù)據(jù)進(jìn)行s盒加密置換;使用加密置換表對s盒加密置換后數(shù)據(jù)進(jìn)行p置換。

例如,在初始加密過程中,使用初始密鑰k0對數(shù)據(jù)進(jìn)行異或處理,初始密文其中p為64位的初始明文文本,k0是最初的8字節(jié)的密鑰。

在r輪加密過程中,r為預(yù)設(shè)加密輪數(shù),i屬于[1,r],每一輪的迭代包括:首先進(jìn)行s盒加密置換,使用加密置換表s對輸入的每一字節(jié)的數(shù)據(jù)執(zhí)行偽隨機(jī)置換,即mi(j)=s[ci-1(j)];然后將64位的數(shù)據(jù)mi置于8行8列的矩陣,使用加密置換表s對矩陣中每個對角線上執(zhí)行偽隨機(jī)置換;最后通過執(zhí)行異或操作獲得每一輪迭代的密文將本輪所得密文作為下一輪加密處理的輸入,重復(fù)進(jìn)行r次加密。當(dāng)執(zhí)行到最后一輪時,即獲得最終的密文c,完成加密過程。

在一實(shí)施例中,如圖2所示,所述方法還可包括如下步驟。

在步驟s210中,將待解密的數(shù)據(jù)進(jìn)行分組。在步驟s220中,對于每組數(shù)據(jù)分別使用與最后一輪加密對應(yīng)的密鑰進(jìn)行初始解密,將初始解密后數(shù)據(jù)作為初始輸入以進(jìn)行多輪解密。在步驟s230中,在每輪解密中,將輸入的數(shù)據(jù)進(jìn)行解密置換,使用與本次解密輪數(shù)對應(yīng)的密鑰對解密置換后數(shù)據(jù)進(jìn)行解密,將解密后數(shù)據(jù)作為下一輪解密輸入數(shù)據(jù)。

舉例而言,按預(yù)設(shè)大小對密文數(shù)據(jù)進(jìn)行分組。使用密鑰k的最后8個字節(jié)kr對密文進(jìn)行解密,其中c是64位的密文文本,kr是密鑰k的最后8個字節(jié)。在r輪解密過程中,i屬于[1,r],r為預(yù)設(shè)加密輪數(shù)。每一輪的解密可包括:首先使用解密置換表s-1對每一字節(jié)的數(shù)據(jù)執(zhí)行偽隨機(jī)置換,即mi(j)=s-1[pi+1(j)];然后將64為的數(shù)據(jù)mi置于8行8列的矩陣,使用解密置換表s-1對矩陣中每個對角線上執(zhí)行偽隨機(jī)置換;最后通過執(zhí)行異或操作獲得每一輪解密后的數(shù)據(jù)將每一輪解密后數(shù)據(jù)作為下一輪解密的輸入數(shù)據(jù)進(jìn)行解密。當(dāng)執(zhí)行到最后一輪時,即獲得最終的明文p,完成解密過程。

本發(fā)明的有益效果包括:

評價一個分組密碼算法安全性主要就其核心s盒的安全性來進(jìn)行評定,主要通過非線性度和差分均勻度來度量,本發(fā)明方案仍然采用這兩個度量值來衡量s盒的安全性,以下從非線性度和差分均勻度兩個方面來詳細(xì)對其安全性因素進(jìn)行詳細(xì)闡述。

對于非線性度:

是一個n元布爾函數(shù),稱為f(x)的非線性度。其中,ln表示全體n元線性和仿射函數(shù)之集;dh(f,l)表示f與l之間的漢明距離。令是一個多輸出函數(shù),s的非線性度為

在線性密碼分析中,關(guān)鍵的一步是構(gòu)造單輪的有效線性逼近,而單輪線性逼近總是離不開s盒(即加密置換表)的線性逼近,因此,s盒的非線性度越大越好。由此,本發(fā)明的技術(shù)方案所構(gòu)造的s盒具有非線性,能夠更好的抗“最佳線性逼近”攻擊,非線性度較好。

對于差分均勻性:

根據(jù)度量一個密碼函數(shù)抗擊差分分析的能力,是一個多輸出函數(shù),s(x)的差分均勻性為

也可用差分逼近概率來表示輸入輸出的異或分布情況。

其中,所述x為所有可能輸入的集合,所述2n是該集合的元素個數(shù)。事實(shí)上,dpf所表示的是給定一個輸入差分δx,輸出為δy的最大可能性。差分均勻性是針對差分密碼分析而引入的,它用來度量一個密碼函數(shù)抗擊差分分析的能力。s盒的差分均勻性越小越好。根據(jù)對差分均勻性的計(jì)算,本發(fā)明的技術(shù)方案中差分逼近度較小,由此可以得出其在差分均勻性方面表現(xiàn)較好。

s盒是許多分組密碼算法中唯一的非線性部件,它的密碼強(qiáng)度決定了整個密碼算法的安全性,其工作速度決定了整個算法的置亂速度。非線性和差分均勻性兩個指標(biāo)決定了s盒的安全性,由實(shí)驗(yàn)結(jié)果可以證明本發(fā)明的技術(shù)方案在安全性方面表現(xiàn)較為良好,能夠有效適應(yīng)于移動終端對密碼算法的使用要求。

如圖3所示,一種數(shù)據(jù)加密的裝置可包括如下模塊。

分組模塊310,用于將待加密的數(shù)據(jù)進(jìn)行分組。

初始加密模塊320,用于對于每組數(shù)據(jù)分別使用初始密鑰進(jìn)行初始加密,將初始加密后數(shù)據(jù)作為初始輸入數(shù)據(jù)輸入加密模塊。

加密模塊330,用于在每輪加密中,將輸入的數(shù)據(jù)進(jìn)行加密置換,使用與本次加密輪數(shù)對應(yīng)的密鑰對加密置換后數(shù)據(jù)進(jìn)行加密,將加密后數(shù)據(jù)作為下一輪加密的輸入數(shù)據(jù)。

在一實(shí)施例中,如圖4所示,裝置還包括:初始解密模塊410和解密模塊420。分組模塊310還用于將待解密的數(shù)據(jù)進(jìn)行分組;初始解密模塊410用于對于每組數(shù)據(jù)分別使用與最后一輪加密對應(yīng)的密鑰進(jìn)行初始解密,將初始解密后數(shù)據(jù)作為初始輸入數(shù)據(jù)輸入所述解密模塊;解密模塊420用于在每輪解密中,將輸入的數(shù)據(jù)進(jìn)行解密置換,使用與本次解密輪數(shù)對應(yīng)的密鑰對解密置換后數(shù)據(jù)進(jìn)行解密,將解密后數(shù)據(jù)作為下一輪解密輸入數(shù)據(jù)。

在一實(shí)施例中,分組模塊310還用于對配置的密鑰進(jìn)行擴(kuò)展,按加密所需密鑰個數(shù)將擴(kuò)展后密鑰進(jìn)行分段,各段密鑰分別與初始加密和各輪加密中所用密鑰對應(yīng)。

在一實(shí)施例中,加密模塊330用于使用加密置換表對輸入的數(shù)據(jù)進(jìn)行s盒加密置換;使用加密置換表對s盒加密置換后數(shù)據(jù)進(jìn)行p置換。

在一實(shí)施例中,如圖5所示,裝置還可包括生成模塊510,用于產(chǎn)生預(yù)設(shè)數(shù)量字節(jié)的隨機(jī)數(shù),利用隨機(jī)數(shù)產(chǎn)生初始加密置換表和/或初始解密置換表,將初始加密置換表和/或初始解密置換表進(jìn)行多次交替置換,生成用于加密置換的加密置換表和/或用于解密置換的解密置換表。

上述裝置與前述方法對應(yīng),具體實(shí)施方式和技術(shù)效果可參考方法中對應(yīng)記載,在此不再贅述。

以上結(jié)合附圖詳細(xì)描述了本發(fā)明的優(yōu)選實(shí)施方式,但是,本發(fā)明并不限于上述實(shí)施方式中的具體細(xì)節(jié),在本發(fā)明的技術(shù)構(gòu)思范圍內(nèi),可以對本發(fā)明的技術(shù)方案進(jìn)行多種簡單變型,這些簡單變型均屬于本發(fā)明的保護(hù)范圍。

另外需要說明的是,在上述具體實(shí)施方式中所描述的各個具體技術(shù)特征,在不矛盾的情況下,可以通過任何合適的方式進(jìn)行組合,為了避免不必要的重復(fù),本發(fā)明對各種可能的組合方式不再另行說明。

此外,本發(fā)明的各種不同的實(shí)施方式之間也可以進(jìn)行任意組合,只要其不違背本發(fā)明的思想,其同樣應(yīng)當(dāng)視為本發(fā)明所公開的內(nèi)容。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
桑植县| 高州市| 临夏县| 高密市| 龙山县| 巨鹿县| 大港区| 正阳县| 莱西市| 高碑店市| 电白县| 云龙县| 马山县| 弥勒县| 山东| 腾冲县| 万载县| 陆良县| 云阳县| 原平市| 东乌珠穆沁旗| 平顶山市| 贵德县| 红桥区| 永新县| 普格县| 德州市| 中卫市| 凤庆县| 皋兰县| 达孜县| 岗巴县| 广南县| 手机| 凉城县| 岢岚县| 游戏| 垦利县| 平乡县| 邛崃市| 伊宁市|