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

一種基于Logistic映射的S-box獲取方法及獲取裝置與流程

文檔序號(hào):12067768閱讀:795來(lái)源:國(guó)知局
一種基于Logistic映射的S-box獲取方法及獲取裝置與流程

本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種基于Logistic映射的S-box獲取方法及獲取裝置。



背景技術(shù):

自密碼算法lucifer中首次采用S-box以來(lái),幾乎所有經(jīng)典的分組密碼算法都基于S-box設(shè)計(jì),并且該設(shè)計(jì)思想越來(lái)越廣泛被應(yīng)用于其它密碼系統(tǒng)的算法中。具有良好密碼特性的S-box(S盒)能夠?yàn)樗惴共罘止艉头蔷€性攻擊提供很好的安全性保障,例如,AES的安全性就依賴于S-box的非線性結(jié)構(gòu)。在混沌密碼學(xué)中,通常采用混沌映射,通過(guò)多次迭代來(lái)設(shè)計(jì)非線性置換,非線性置換密碼特性的好壞直接決定了密碼算法的安全性。S-box是許多分組密碼算法中唯一的非線性部件,它的密碼強(qiáng)度決定了整個(gè)密碼算法的安全性,其工作速度決定了整個(gè)算法的置亂速度。因此,一個(gè)好的S-box對(duì)于增強(qiáng)Feistel結(jié)構(gòu),SPN結(jié)構(gòu)和IDEA結(jié)構(gòu)密碼算法的安全性起著至關(guān)重要的作用。

1975年,李天巖首次提出了混沌的概念,自此有關(guān)混沌理論的研究受到了廣泛關(guān)注?;煦缇哂斜闅v性、初始狀態(tài)敏感性和勻柔性、確定無(wú)序性以及結(jié)構(gòu)復(fù)雜性?;煦绲倪@種隨機(jī)性和不可預(yù)測(cè)性,使得它在密碼學(xué)中有著重要的研究意義。1989年,Matthews和Pobert等人首次把混沌理論應(yīng)用于密碼學(xué),奠定了混沌密碼學(xué)的重要基礎(chǔ)。在混沌分組密碼中,最重要的是對(duì)具有非線性的S-box的設(shè)計(jì)。有關(guān)混沌S-box的設(shè)計(jì),國(guó)內(nèi)外提出了很多方法,其中,最典型的是G.Jakimoski和Kocarev提出的一種四步構(gòu)造混沌S-box的方法,并對(duì)基于此方法設(shè)計(jì)的分組密碼作了差分分析和線性分析。2005年,唐國(guó)坪和廖曉峰通過(guò)迭代Logistic映射和離散Baker映射,對(duì)G.Jakimoski等人的設(shè)計(jì)方 法進(jìn)行了改進(jìn)。分析表明,盡管改進(jìn)的S-box具有很好的密碼學(xué)性能,但其非線性度和差分均勻度還不理想。



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

為解決上述技術(shù)問(wèn)題,本發(fā)明的實(shí)施例提供了一種基于Logistic映射的S-box獲取方法及獲取裝置。

本發(fā)明一方面提供了一種基于Logistic映射的S-box獲取方法,所述基于Logistic映射的S-box獲取方法包括以下步驟:

S1、利用Logistics映射對(duì)隨機(jī)生成的初值X0產(chǎn)生一個(gè)混沌序列:X0,X1,…,Xn;

S2、將所述混沌序列映射為一整數(shù)序列:Y0,Y1,…,Yn,所述整數(shù)序列的取值在0~255之間,并對(duì)所述整數(shù)序列按兩個(gè)數(shù)一組進(jìn)行分組,得到整數(shù)序列對(duì){Yi+1,Yi},其中i∈[0,n/2];

S3、根據(jù)輸入序列生成一個(gè)大小為256的初始表S-box,其中所述初始S-box中的元素S-box[j]∈{0,…,255},其中j∈[0,255];

S4、利用所述整數(shù)序列對(duì){Yi+1,Yi}對(duì)所述初始表S-box進(jìn)行置換,交換所述表S-box中元素在Yi和Yi+1位置的值,得到中間S-box,獲取所述中間S-box的8個(gè)布爾函數(shù)的非線性度LP及輸入輸出差分分布DP;

S5、分析所述非線性度LP及輸入輸出差分分布DP是否滿足以下條件:非線性度LP的最大值小于10且所述輸入輸出差分分布DP的最小值大于100,若滿足條件,則將滿足所述條件的中間S-box存儲(chǔ),否則返回步驟S4。

在一實(shí)施例中,所述步驟S1包括:

S11、隨機(jī)生成一個(gè)初值X0;

S12、根據(jù)下式對(duì)所述初值X0產(chǎn)生一個(gè)混沌序列X0,X1,…,Xn

Xn+1=AXn(1-Xn)

其中,X0∈(0,1);Xn∈(0,1);n為混沌序列的長(zhǎng)度;A取 [3.5699456,4]區(qū)間內(nèi)的實(shí)數(shù)。

在一實(shí)施例中,所述步驟S2包括:

S21、根據(jù)方程將所述混沌序列映射為0至255之間的整數(shù)集:Y0,Y1,…,Yn,其中M=256;

S22、將所述整數(shù)集中的數(shù)按以下方式兩兩分組:G(i)={Yi+1,Yi},i∈[0,n/2],得到整數(shù)序列對(duì){Yi+1,Yi}。

在一實(shí)施例中,所述的基于Logistic映射的S-box獲取方法還包括:在利用所述整數(shù)序列對(duì){Yi+1,Yi}對(duì)所述初始表S-box進(jìn)行置換之前,對(duì)所述初始表S-box按照如下方式初始化:Sbox[0]←0,Sbox[1]←1,…,Sbox[255]←255。

在一實(shí)施例中,當(dāng)所述步驟S4中進(jìn)行置換的次數(shù)達(dá)到n/2,且所得的非線性度LP及輸入輸出差分分布DP仍不滿足所述步驟S5中的條件時(shí),返回步驟S1。

本發(fā)明另一方面提供了一種基于Logistic映射的S-box獲取裝置,所述基于Logistic映射的S-box獲取裝置包括:

混沌序列生成單元,用于利用Logistics映射對(duì)隨機(jī)生成的初值X0產(chǎn)生一個(gè)混沌序列:X0,X1,…,Xn

整數(shù)序列對(duì)生成單元,用于將所述混沌序列映射為一整數(shù)序列:Y0,Y1,…,Yn,所述整數(shù)序列的取值在0~255之間,并對(duì)所述整數(shù)序列按兩個(gè)數(shù)一組進(jìn)行分組,得到整數(shù)序列對(duì){Yi+1,Yi},其中i∈[0,n/2];

初始表生成單元,用于根據(jù)輸入序列生成一個(gè)大小為256的初始表S-box,其中所述初始S-box中的元素S-box[j]∈{0,…,255},其中j∈[0,255];

中間S-box參數(shù)獲取單元,用于利用所述整數(shù)序列對(duì){Yi+1,Yi}對(duì)所述初始表S-box進(jìn)行置換,交換所述表S-box中元素在Yi和Yi+1位置的值,得到中間S-box,獲取所述中間S-box的8個(gè)布爾函數(shù)的非線性度LP及輸入輸出差分分布 DP;

分析單元,用于分析所述非線性度LP及輸入輸出差分分布DP是否滿足以下條件:非線性度LP的最大值小于10且所述輸入輸出差分分布DP的最小值大于100,若滿足條件,則將滿足所述條件的中間S-box存儲(chǔ),否則返回中間S-box參數(shù)獲取單元。

在一實(shí)施例中,所述混沌序列生成單元包括:

初值生成模塊,用于隨機(jī)生成一個(gè)初值X0;

混沌序列生成模塊,用于根據(jù)下式對(duì)所述初值X0產(chǎn)生一個(gè)混沌序列X0,X1,…,Xn

Xn+1=AXn(1-Xn)

其中,X0∈(0,1);Xn∈(0,1);n為混沌序列的長(zhǎng)度;A取[3.5699456,4]區(qū)間內(nèi)的實(shí)數(shù)。

在一實(shí)施例中,所述整數(shù)序列對(duì)生成單元包括:

整數(shù)據(jù)獲取模塊,用于根據(jù)方程將所述混沌序列映射為0至255之間的整數(shù)集:Y0,Y1,…,Yn,其中M=256;

整數(shù)序列對(duì)獲取模塊,用于將所述整數(shù)集中的數(shù)按以下方式兩兩分組:G(i)={Yi+1,Yi},i∈[0,n/2],得到整數(shù)序列對(duì){Yi+1,Yi}。

在一實(shí)施例中,所述的基于Logistic映射的S-box獲取裝置還包括:初始化單元,用于在利用所述整數(shù)序列對(duì){Yi+1,Yi}對(duì)所述初始表S-box進(jìn)行置換之前,對(duì)所述初始表S-box按照如下方式初始化:Sbox[0]←0,Sbox[1]←1,…,Sbox[255]←255。

在一實(shí)施例中,所述基于Logistic映射的S-box獲取裝置還包括一跳轉(zhuǎn)單元,用于當(dāng)所示中間S-box參數(shù)獲取單元中進(jìn)行置換的次數(shù)達(dá)到n/2,且所得的非線性度LP及輸入輸出差分分布DP仍不滿足所條件時(shí),返回所述混沌序列生成單元。

由上述本發(fā)明的實(shí)施例提供的技術(shù)方案可以看出,本發(fā)明實(shí)施例通過(guò)迭代Logistic映射生成隨機(jī)小數(shù)序列,映射得到大小在0到255范圍內(nèi)的整數(shù)序列,并將整數(shù)序列順序兩兩分組,互換初始表中兩兩分組的位置,對(duì)初始表進(jìn)行多次置換,完成S-box的重新構(gòu)造,經(jīng)驗(yàn)證該方案設(shè)計(jì)的S-box在抵抗差分分析和線性分析上具有良好的密碼學(xué)性能,具有一定的推廣價(jià)值和意義,進(jìn)一步提高了S-box的非線性度和差分均勻度。

附圖說(shuō)明

為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明實(shí)施例基于Logistic映射的S-box獲取方法的流程圖;

圖2為本發(fā)明實(shí)施例混沌序列獲取的流程示意圖;

圖3為本發(fā)明實(shí)施例整數(shù)序列對(duì)獲取的流程示意圖;

圖4為本發(fā)明實(shí)施例基于Logistic映射的S-box獲取裝置10的結(jié)構(gòu)示意圖。

具體實(shí)施方式

為便于對(duì)本發(fā)明實(shí)施例的理解,下面將結(jié)合附圖以幾個(gè)具體實(shí)施例為例做進(jìn)一步的解釋說(shuō)明,且各個(gè)實(shí)施例并不構(gòu)成對(duì)本發(fā)明實(shí)施例的限定。

實(shí)施例一

圖1所示為本發(fā)明實(shí)施例基于Logistic映射的S-box獲取方法的流程圖。如圖1所示,基于Logistic映射的S-box獲取方法包括以下步驟:

S1、利用Logistics映射對(duì)隨機(jī)生成的初值X0產(chǎn)生一個(gè)混沌序列:X0,X1,…,Xn。

具體實(shí)施時(shí),步驟S1可包括以下步驟,如圖2所示:

S11、隨機(jī)生成一個(gè)初值X0,該初值X0為實(shí)數(shù);

S12、根據(jù)下式對(duì)所述初值X0產(chǎn)生一個(gè)混沌序列X0,X1,…,Xn

Xn+1=AXn(1-Xn)

其中,X0∈(0,1);Xn∈(0,1);n為混沌序列的長(zhǎng)度;A取[3.5699456,4]區(qū)間內(nèi)的實(shí)數(shù),其精度為64位。

當(dāng)系統(tǒng)參數(shù)A在大于等于3.5699456,小于等于4的實(shí)數(shù)區(qū)間取值時(shí),該映射呈現(xiàn)混沌狀態(tài)。盡管Xn具有隨機(jī)性,但它是由確定性方程導(dǎo)出的,當(dāng)初值X0確定后,Xn就已確定,即混沌序列具有內(nèi)在的規(guī)律性。在本實(shí)施例中,取混沌數(shù)列的序列長(zhǎng)度n=1200,該數(shù)值僅用于示例,并非對(duì)本發(fā)明的限制。

S2、將所述混沌序列映射為一整數(shù)序列:Y0,Y1,…,Y1200,所述整數(shù)序列的取值在0~255之間,并對(duì)所述整數(shù)序列按兩個(gè)數(shù)一組進(jìn)行分組,得到整數(shù)序列對(duì){Yi+1,Yi},其中i∈[0,600],當(dāng)序列結(jié)束時(shí),序列對(duì)為{Y600,Y0}。

在一實(shí)施例中,步驟S2可包括如下步驟,如圖3所示:

S21、根據(jù)方程將所述混沌序列映射為0至255之間的整數(shù)集:Y0,Y1,…,Y1200,其中M=256。

S22、將所述整數(shù)集中的數(shù)按以下方式兩兩分組:G(i)={Yi+1,Yi},i∈[0,600],得到整數(shù)序列對(duì){Yi+1,Yi}。

S3、根據(jù)輸入序列生成一個(gè)大小為256的初始表S-box,其中所述初始S-box中的元素S-box[j]∈{0,…,255},其中j∈[0,255]。

具體地,在利用所述整數(shù)序列對(duì){Yi+1,Yi}對(duì)所述初始表S-box進(jìn)行置換之前,對(duì)所述初始表S-box按照如下方式初始化:Sbox[0]←0,Sbox[1]←1,…,Sbox[255]←255。

S4、利用所述整數(shù)序列對(duì){Yi+1,Yi}對(duì)所述初始表S-box進(jìn)行置換,交換所述表S-box中元素在Yi和Yi+1位置的值,得到中間S-box,獲取所述中間S- box的8個(gè)布爾函數(shù)的非線性度LP及輸入輸出差分分布DP。

S5、分析所述非線性度LP及輸入輸出差分分布DP是否滿足以下條件:非線性度LP的最大值小于10且所述輸入輸出差分分布DP的最小值大于100,若滿足條件,則將滿足所述條件的中間S-box存儲(chǔ),否則返回步驟S4。

當(dāng)重復(fù)所述步驟S4中的次數(shù)達(dá)到600,且所得的非線性度LP及輸入輸出差分分布DP仍不滿足所述步驟S5中的條件時(shí),返回步驟S1。

若需要生成下一個(gè)S-box,則返回步驟S1;若不需要生成下一個(gè)S-box,則結(jié)束。

本發(fā)明通過(guò)迭代Logistic映射,對(duì)初始表進(jìn)行多次置換,開(kāi)辟了一種新的混沌S-box獲取方式,隨著置換次數(shù)的增加,S-box的DP(輸入輸出差分分布)值和LP(非線性度)值逐漸趨于理想值。經(jīng)過(guò)驗(yàn)證,利用本發(fā)明提供的方法獲取的S-box的輸入輸出差分分布和非線性度均較佳,具有很強(qiáng)的抗差分攻擊和非線性攻擊能力。

評(píng)價(jià)一個(gè)S-box的安全性,主要通過(guò)非線性度和輸入輸出差分分布來(lái)度量,本發(fā)明設(shè)計(jì)方案仍然采用這兩個(gè)度量值來(lái)衡量S-box的安全性,以下從非線性度和輸入輸出差分分布兩個(gè)方面來(lái)詳細(xì)對(duì)其安全性因素進(jìn)行詳細(xì)闡述。

非線性度LP:

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

令是一個(gè)多輸出函數(shù),S的非線性度為

在線性密碼分析中,關(guān)鍵的一步是構(gòu)造單輪的有效線性逼近,而單輪線性逼近總是離不開(kāi)S-box的線性逼近,因此,S-box的非線性度越大越好。通過(guò) 計(jì)算,S-box中8個(gè)布爾函數(shù)的非線性度分別是:102,102,106,102,106,102,104和104。很明顯地,8個(gè)非線性度的值均大于102。而G.Jakimoski構(gòu)造的S-box的8個(gè)布爾函數(shù)的非線性度分別是:106,100,100,98,108,104,106和104;利用唐國(guó)坪提供的方式獲取的S-box的8個(gè)布爾函數(shù)的非線性度是:103,104,106,105,105,104,109和103。由此數(shù)據(jù)證明,利用本發(fā)明提供的方法所構(gòu)造的S-box是非線性的,更能夠抗“最佳線性逼近”攻擊,非線性度較好。

輸入輸出差分分布DP:

令用于度量一個(gè)密碼函數(shù)抗擊差分分析的能力,是一個(gè)多輸出函數(shù),S(x)的輸入輸出差分分布為:

也可用差分逼近概率DP來(lái)表示輸入輸出的異或分布情況:

其中,所述x為所有可能輸入的集合,所述2n是該集合的元素個(gè)數(shù)。事實(shí)上,DP所表示的是:給定一個(gè)輸入差分△x,輸出為△y的最大可能性。輸入輸出差分分布是針對(duì)差分密碼分析而引入的,它用來(lái)度量一個(gè)密碼函數(shù)抗擊差分分析的能力。S-box的輸入輸出差分分布越小越好。

根據(jù)輸入輸出差分分布的計(jì)算公式,可求得利用本發(fā)明實(shí)施例獲取的S-box的差分逼近概率是8,而已有的G.Jakimoski的方案其差分逼近度是12,唐國(guó)坪的設(shè)計(jì)方案差分逼近度是10,由此可以看出本發(fā)明的設(shè)計(jì)方案其差分逼近度更小,本發(fā)明提供的方法在輸入輸出差分分布方面表現(xiàn)比以往方案更好。

S-box是許多分組密碼算法中唯一的非線性部件,它的密碼強(qiáng)度決定了整個(gè)密碼算法的安全性,其工作速度決定了整個(gè)算法的置亂速度。非線性度和 輸入輸出差分分布兩個(gè)指標(biāo)決定了S-box的安全性,由實(shí)驗(yàn)結(jié)果可以證明本發(fā)明的一種基于Logistic映射的S-box獲取方法在安全性方面較以往方案更好。

實(shí)施例二

圖4所示為本發(fā)明實(shí)施例基于Logistic映射的S-box獲取裝置10的結(jié)構(gòu)示意圖。如圖4所示,所述基于Logistic映射的S-box獲取裝置10包括:混沌序列生成單元1、整數(shù)序列對(duì)生成單元2、初始表生成單元3、中間S-box參數(shù)獲取單元4、分析單元5。

混沌序列生成單元1,用于利用Logistics映射對(duì)隨機(jī)生成的初值X0產(chǎn)生一個(gè)混沌序列:X0,X1,…,Xn

在一實(shí)施例中,上述混沌序列生成單元1包括:初值生成模塊11,用于隨機(jī)生成一個(gè)初值X0;混沌序列生成模塊12,用于根據(jù)下式對(duì)所述初值X0產(chǎn)生一個(gè)混沌序列X0,X1,…,Xn

Xn+1=AXn(1-Xn)

其中,X0∈(0,1);Xn∈(0,1);n為混沌序列的長(zhǎng)度;A取[3.5699456,4]區(qū)間內(nèi)的實(shí)數(shù)。

整數(shù)序列對(duì)生成單元2,用于將所述混沌序列映射為一整數(shù)序列:Y0,Y1,…,Yn,所述整數(shù)序列的取值在0~255之間,并對(duì)所述整數(shù)序列按兩個(gè)數(shù)一組進(jìn)行分組,得到整數(shù)序列對(duì){Yi+1,Yi},其中i∈[0,n/2],當(dāng)序列結(jié)束時(shí),序列對(duì)為{Yn,Y0}。

在一實(shí)施例中,整數(shù)序列對(duì)生成單元2包括:整數(shù)據(jù)獲取模塊21,用于根據(jù)方程將所述混沌序列映射為0至255之間的整數(shù)集:Y0,Y1,…,Yn,其中M=256;整數(shù)序列對(duì)獲取模塊22,用于將所述整數(shù)集中的數(shù)按以下方式兩兩分組:G(i)={Yi+1,Yi},i∈[0,n/2],得到整數(shù)序列對(duì){Yi+1,Yi},當(dāng)序列結(jié)束時(shí),序列對(duì)為{Yn,Y0}。

初始表生成單元3,用于根據(jù)輸入序列生成一個(gè)大小為256的初始表S- box,其中所述初始S-box中的元素S-box[j]∈{0,…,255},其中j∈[0,255]。

中間S-box參數(shù)獲取單元4,用于利用所述整數(shù)序列對(duì){Yi+1,Yi}對(duì)所述初始表S-box進(jìn)行置換,交換所述表S-box中元素在Yi和Yi+1位置的值,得到中間S-box,獲取所述中間S-box的8個(gè)布爾函數(shù)的非線性度LP及輸入輸出差分分布DP。

分析單元5,用于分析所述非線性度LP及輸入輸出差分分布DP是否滿足以下條件:非線性度LP的最大值小于10且所述輸入輸出差分分布DP的最小值大于100,若滿足條件,則將滿足所述條件的中間S-box存儲(chǔ),否則返回中間S-box參數(shù)獲取單元。

在一實(shí)施例中,基于Logistic映射的S-box獲取裝置10還包括一初始化單元6,用于在利用所述整數(shù)序列對(duì){Yi+1,Yi}對(duì)所述初始表S-box進(jìn)行置換之前,對(duì)所述初始表S-box按照如下方式初始化:Sbox[0]←0,Sbox[1]←1,…,Sbox[255]←255。

在一實(shí)施例中,基于Logistic映射的S-box獲取裝置10還包括一跳轉(zhuǎn)單元7,用于當(dāng)所示中間S-box參數(shù)獲取單元中進(jìn)行置換的次數(shù)達(dá)到n/2,且所得的非線性度LP及輸入輸出差分分布DP仍不滿足所條件時(shí),返回所述混沌序列生成單元,重新生成一初值來(lái)獲取S-box。

在實(shí)施例一中已對(duì)基于Logistic映射的S-box獲取方法進(jìn)行了詳細(xì)闡述,在此不再贅述。

以上所述,僅為本發(fā)明較佳的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
抚州市| 大冶市| 莱阳市| 获嘉县| 文山县| 富宁县| 宁陵县| 大埔县| 黄陵县| 彰化县| 健康| 富宁县| 双城市| 中卫市| 修水县| 谢通门县| 阳原县| 文昌市| 康马县| 壤塘县| 茶陵县| 高密市| 平度市| 淮阳县| 北票市| 黄大仙区| 曲阳县| 邻水| 云梦县| 和政县| 农安县| 临安市| 锦屏县| 汾阳市| 寿宁县| 太原市| 乐昌市| 卓尼县| 穆棱市| 九寨沟县| 凉城县|