亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種s盒差分均勻性快速檢測(cè)方法

文檔序號(hào):7764398閱讀:2985來源:國知局
專利名稱:一種s盒差分均勻性快速檢測(cè)方法
技術(shù)領(lǐng)域
本發(fā)明提出了一種S盒差分均勻性快速檢測(cè)方法,可應(yīng)用于S盒差分均勻性的快 速檢測(cè)與分析,屬于信息技術(shù)領(lǐng)域。
背景技術(shù)
S盒是一種用于構(gòu)造現(xiàn)代密碼體制的極其重要的非線性部件,它是一類定義在二 元域上的具有η個(gè)比特輸入、m個(gè)比特輸出的布爾函數(shù),被廣泛應(yīng)用于多種密碼方案中。例 如,大部分的迭代型分組密碼算法都采用了 S盒來獲得“混淆”效果。S盒的安全特性很大 程度上決定了使用該部件的密碼體制的安全性。其中,差分均勻性是關(guān)于S盒的一個(gè)很重 要的安全特性,它能夠刻畫出S盒抵抗差分攻擊的能力。差分均勻性可以描述如下令風(fēng)χ) = (/,(X)^Zm(X)):巧"―斤是一個(gè)多輸出函數(shù),用它來表示一個(gè)n比特 輸入、m比特輸出的S盒,稱θ = maxmaxKxe F2": 十 α)十 S(X)=廣 |}(1)是S(X)的差分均勻性,其中,α和χ是η比特向量,β是m比特向量,χ是輸 入向量,Θ表示“模2加”運(yùn)算。在這里,S(χ)表示輸入向量為χ經(jīng)過S盒變換后的輸出, 風(fēng)表示輸入向量χ異或一個(gè)非零向量α后經(jīng)過S盒變換后的輸出,兩個(gè)輸出向量的 異或值風(fēng)χ④a)es(x)用β來表示,稱α為輸入差分向量,β為輸出差分向量。對(duì)于某一 個(gè)輸入輸出差分對(duì)1>,β},|{xeF2" 十α)十風(fēng)χ) =夕β表示滿足風(fēng)χ十十風(fēng)χ) = 式子的χ的個(gè)數(shù),1^ira^xIheiT: S (χ Φ a) S(x) = β 則統(tǒng)計(jì)了對(duì)于所有{α, β}對(duì),滿足=廣式子的χ個(gè)數(shù)的最大值。為方便后面的方法描述,令 ^ = maxmax|{xe^" S(x α)θ S(x) = β β。在后面介紹如何計(jì)算S盒的差分均勻性的過
程中,主要是描述如何計(jì)算σ值,它和差分均勻性δ是一一對(duì)應(yīng)的。以上介紹了涉及S盒 差分均勻性的各類符號(hào)的基本含義,后面用到這些符號(hào)時(shí)將不再贅述。通常情況下,計(jì)算差分均勻性采用的是遍歷所有的向量α、β和所有輸入向量x, 根據(jù)式(1)找出最大的值作為返回結(jié)果。計(jì)算S盒的差分均勻性可采用如下步驟(本發(fā)明 稱之為“原始方法”)第一步設(shè)置變量σ初始值,因?yàn)樽罱K需要計(jì)算出最大值,σ首先需要被初始化 為0第二步遍歷所有非零向量α,重復(fù)步驟(1)_(4),計(jì)算出最大σ值(1)對(duì)于每一個(gè)β,重復(fù)步驟(2)-(3);(2)初始化計(jì)數(shù)變量d為0 ;(3)對(duì)于每一個(gè)輸入向量X將d值增加1 ;(4)如果d值大于當(dāng)前的最大σ值,則將σ值更新為d第三步返回差分均勻性δ
對(duì)原始方法的分析可知,對(duì)一個(gè)η輸入、m輸出的S盒求差分均勻性,其計(jì)算規(guī)模 大約為2m · 2η · 2n,相應(yīng)的復(fù)雜度為0 (22n+m)。隨著S盒規(guī)模的增加,該計(jì)算復(fù)雜度呈指數(shù)增長。

發(fā)明內(nèi)容
針對(duì)現(xiàn)有技術(shù)中的問題,本發(fā)明從減少循環(huán)次數(shù)、降低計(jì)算復(fù)雜度的角度出發(fā),目 的在于提供一種S盒差分均勻性快速檢測(cè)方法。由S盒差分均勻性原理可知,最終求得的差分均勻性是在遍歷各種情況下的一個(gè) 最大值,即對(duì)于每一個(gè)(α,β ),都要遍歷所有的輸入向量X,根據(jù)式(1)找出最大的值,隨 著S盒規(guī)模的增加,該計(jì)算復(fù)雜度呈指數(shù)增長。原始檢測(cè)方法主要由遍歷模塊、計(jì)數(shù)模塊和統(tǒng)計(jì)模塊三部分組成。首先S盒被輸 入到遍歷模塊中去,遍歷模塊將調(diào)用計(jì)數(shù)模塊記錄每一個(gè)(α,β)的情況,最后統(tǒng)計(jì)模塊 給出差分值ο的最大值作為結(jié)果輸出。原始檢測(cè)結(jié)構(gòu)圖如圖1。本發(fā)明在原有模塊的基礎(chǔ) 上增加了一個(gè)存儲(chǔ)模塊,在這里,不再遍歷所有的(α,β),而是只遍歷α,同時(shí)設(shè)置一個(gè)2m 維計(jì)數(shù)存儲(chǔ)數(shù)組b,m是S盒的輸出比特長度。首先將最大差分值σ初始化為0,對(duì)于每一 個(gè)α,計(jì)算所有可能的值^χθα) 風(fēng)χ),并用b[i]記錄風(fēng)χ α)θ風(fēng)χ) =啲個(gè)數(shù),從中選 出b[i]的最大值來更新當(dāng)前σ值。當(dāng)遍歷完α后,針對(duì)所有(α,β)的最大差分值ο 就可以計(jì)算出來。通過這種方法,可以有效減少遍歷次數(shù),從而降低計(jì)算復(fù)雜度。圖2是本 發(fā)明的檢測(cè)結(jié)構(gòu)圖。基于上述計(jì)算原理,本發(fā)明提出了快速實(shí)現(xiàn)求解S盒差分均勻性的方法,其中S盒 是一個(gè)η比特輸入、m比特輸出的S盒,其處理步驟如下第一步設(shè)置變量σ初始值為0 ;第二步初始化2m維數(shù)組b,將數(shù)組元素全部置0 ;第三步遍歷所有非零向量α,重復(fù)步驟(1)_(3),計(jì)算最大σ值,其中 a = maxmax|{xeF2" S(xQ a) S(x) = β β,向量α為η比特向量,β是m比特向量,0表
示“模2加”運(yùn)算,m、n為自然數(shù),巧"是由所有的η比特向量組成的集合,輸入向量χ是巧"中 的元素。(1)對(duì)于每一個(gè)η比特輸入向量X,計(jì)算5Χχ )θ風(fēng)χ),并將索引值等于 風(fēng)χ α)十風(fēng)χ)的數(shù)組b中的相應(yīng)元素取值增加1 ;(2)統(tǒng)計(jì)數(shù)組b中元素的最大值,與當(dāng)前σ值進(jìn)行比較,大于當(dāng)前σ值時(shí)將σ值 進(jìn)行更新;(3)重置數(shù)組b中的元素為0 ;第四步返回差分均勻性δ。對(duì)優(yōu)化方法的分析可知,對(duì)一個(gè)η輸入、m輸出的S盒求差分均勻性,其計(jì)算規(guī)模 大約為2n(2n+2m) = 22n+2n+m。當(dāng)η彡m時(shí),相應(yīng)的計(jì)算復(fù)雜度為0(22n),當(dāng)η < m時(shí),相應(yīng)的 計(jì)算復(fù)雜度為0(2n+m),它們均遠(yuǎn)遠(yuǎn)低于原始方法的計(jì)算復(fù)雜度0(22n+m)。當(dāng)η < m時(shí),隨著 m的增大,其計(jì)算復(fù)雜度和存儲(chǔ)復(fù)雜度均呈指數(shù)級(jí)增加。為了解決這個(gè)問題,我們將計(jì)數(shù)數(shù) 組變?yōu)榫S數(shù)為2"的&,當(dāng)遍歷α的過程中,將所有風(fēng)的可能取值記錄下來,然 后統(tǒng)計(jì)數(shù)組a中相同元素出現(xiàn)次數(shù)的最大值,用該值來更新最大差分值。
基于上述原理,其處理步驟如下第一步設(shè)置變量ο初始值為0第二步初始化2n維數(shù)組a,將數(shù)組元素置0第三步遍歷所有非零向量α,重復(fù)步驟(1)_(3),計(jì)算最大σ值(1)對(duì)于每一個(gè)輸入向量X,計(jì)算風(fēng),并用數(shù)組元素α [χ]來記錄(數(shù) 組a中元素和每一輸入向量χ —一對(duì)應(yīng));(2)統(tǒng)計(jì)數(shù)組a中重復(fù)元素個(gè)數(shù)的最大值,與當(dāng)前σ值進(jìn)行比較,大于當(dāng)前σ值 時(shí)將ο值進(jìn)行更新;(3)重置數(shù)組a中的元素為0 ;第四步返回差分均勻性δ。通過對(duì)上述處理過程的分析可知,對(duì)一個(gè)玎-> ET的S盒求差分均勻性,其計(jì)算規(guī)
模大約為2"(2" +難一1)) = 22"+23"'' -22"-1,相應(yīng)的計(jì)算復(fù)雜度為0(2^)。對(duì)比第一個(gè)
2
優(yōu)化處理過程的計(jì)算復(fù)雜度0(2n+m),當(dāng)m彡2r!時(shí),0(2^)是小于0(2n+m)的,并且當(dāng)η固定 時(shí),隨著m的增大,計(jì)算復(fù)雜度和存儲(chǔ)復(fù)雜度均不會(huì)增加。以上兩種方法針對(duì)的是不同的η 和m,因此本發(fā)明需要先比較η和m的大小,然后確定采用哪種方法進(jìn)行計(jì)算。與現(xiàn)有技術(shù)相比,本發(fā)明的積極效果為本發(fā)明有效減少了循環(huán)次數(shù)、大大降低了計(jì)算復(fù)雜度,從而使得批量檢測(cè)大規(guī)模S 盒變得實(shí)際可行,這對(duì)于大規(guī)模S盒的設(shè)計(jì)具有重要意義。


圖1、原始方法結(jié)構(gòu)圖;圖2、本發(fā)明結(jié)構(gòu)圖;圖3,當(dāng)m < 2η時(shí),本發(fā)明的方法流程圖;圖4,當(dāng)m彡2η時(shí),本發(fā)明的方法流程圖。
具體實(shí)施例方式當(dāng)m < 2η時(shí),計(jì)算片F(xiàn)21"的S盒的差分均勻性的具體處理步驟如下(具體流程 見圖3)1.讀取S盒內(nèi)容數(shù)據(jù)到2η維數(shù)組S中,即對(duì)于任意一個(gè)輸入向量X,S[χ]表示經(jīng) 過S盒變換后得到的輸出變量2.設(shè)置最大差分值初始值σ — 03.初始化2m維數(shù)組b,對(duì)于每一個(gè)i (從0到2m_l),令b [i] — 04.對(duì)于每一個(gè)非零輸入差分向量α (從1到2η_1),重復(fù)步驟4. 1至4. 24. 1對(duì)于每一個(gè)輸入向量χ(從0到2η_1),重復(fù)步驟4. 1. 1至4. 1. 24. 1. 1 計(jì)算/ — S{x Θ α) θ S(x)4. 1. 2將索引值等于i的數(shù)組b中的相應(yīng)元素取值增加1,即b[i] — b[i]+l4. 2對(duì)于每一個(gè)i (從0到2m-l),重復(fù)步驟4. 2. 1至4. 2. 24. 2. 1 如果 b[i]> σ,則計(jì)算 σ —b[i]
4.2.2b[i]—05.返回 σ IT當(dāng)m≥2n時(shí),計(jì)算拉—片的S盒的差分均勻性的處理步驟如下,(具體流程見圖 4)1.讀取S盒描述數(shù)據(jù)到2n維數(shù)組S中2.設(shè)置最大差分值初始值σ — 03.對(duì)于每一個(gè)α (從1到2η_1)3. 1初始化2η維數(shù)組a,對(duì)于每一個(gè)i (從0到2n_l),令a[i] — 03. 2對(duì)于每一個(gè)輸入向量x(從0到2n_l),重復(fù)步驟3. 2. 13. 2. 1 計(jì)算結(jié)果— S(x α)十 SO)3. 3對(duì)于每一個(gè)i (從0到2n_2),重復(fù)步驟3. 3. 1至3. 3. 3,統(tǒng)計(jì)數(shù)組a中重復(fù)元 素個(gè)數(shù)的最大值3. 3. 1初始化變量d = 13. 3. 2 如果 a[i]≥ 0,則對(duì)每一個(gè) j (從 i+Ι 到 2n_l)3. 3.2. 1 如果 a [j] = a[i],則累加結(jié)果 d — d+1,并且a[j]=-l3. 3. 3 如果 d > σ,則計(jì)算 σ — d4.返回 σ /2η。表1給出了利用優(yōu)化方法和原始方法在檢測(cè)不同規(guī)格S盒時(shí)的消耗時(shí)間對(duì)比情況。表1兩種方法消耗時(shí)間對(duì)比情況(單位秒)
權(quán)利要求
一種S盒差分均勻性快速檢測(cè)方法,其中S盒為n比特輸入、m比特輸出,m、n為自然數(shù),m<2n,其步驟為1)讀取S盒內(nèi)的輸入向量到2n維數(shù)組S中;2)設(shè)置一變量σ,并將其值初始化為0;設(shè)置一2m維數(shù)組b,并將其數(shù)組元素值全部初始化為0;3)遍歷S盒的每一非零輸入差分向量α,對(duì)于每一非零輸入差分向量αa)計(jì)算S盒每一輸入向量x與當(dāng)前非零輸入差分向量α的輸出差分變量β,并利用數(shù)組b統(tǒng)計(jì)每一β的出現(xiàn)次數(shù);b)比較輸出差分變量β的出現(xiàn)次數(shù)最大值是否大于變量σ的當(dāng)前值,如果大于則將其賦值給變量σ;c)將數(shù)組b的數(shù)組元素值全部初始化為0;4)根據(jù)3)遍歷完S盒的每一非零輸入差分向量α后得到的變量σ值,返回S盒的差分均勻性δ。
2.如權(quán)利要求1所述的方法,其特征在于所述步驟a) b)的具體實(shí)現(xiàn)方法為1)計(jì)算S盒每一輸入向量x與當(dāng)前非零輸入差分向量a的輸出差分變量3;2)將數(shù)組b中索引值等于0的相應(yīng)元素的值加1;3)比較數(shù)組b中元素的最大值是否大于變量o當(dāng)前值,如果大于則更新變量o值為 該最大值。
3.如權(quán)利要求1或2所述的方法,其特征在于根據(jù)公式5= o/2n,返回S盒的差分 均勻性。
4. 一種S盒差分均勻性快速檢測(cè)方法,其中S盒為n比特輸入、m比特輸出,m、n為自 然數(shù),m彡2n,其步驟為1)讀取S盒內(nèi)的輸入向量到2n維數(shù)組S中;2)設(shè)置一變量0,并將其值初始化為0;設(shè)置一 2n維數(shù)組a,并將其數(shù)組元素值全部初 始化為0 ;3)遍歷S盒的每一非零輸入差分向量a,對(duì)于每一非零輸入差分向量aa)計(jì)算S盒每一輸入向量x與當(dāng)前非零輸入差分向量a的輸出差分變量0,并將旦 記錄到數(shù)組a中當(dāng)前元素中;b)比較數(shù)組a中輸出差分變量0的出現(xiàn)次數(shù)最大值是否大于變量o的當(dāng)前值,如果 大于則將其賦值給變量o ;c)將數(shù)組a的數(shù)組元素值全部初始化為0;4)根據(jù)3)遍歷完S盒的每一非零輸入差分向量a后得到的變量o值,返回S盒的差 分均勻性S。
5.如權(quán)利要求4所述的方法,其特征在于所述步驟a) b)的具體實(shí)現(xiàn)方法為1)計(jì)算S盒每一輸入向量x與當(dāng)前非零輸入差分向量a的輸出差分變量0,并將旦 記錄到數(shù)組a當(dāng)前元素中;2)統(tǒng)計(jì)數(shù)組a中每一不同元素的重復(fù)次數(shù),比較重復(fù)次數(shù)最大值是否大于變量o當(dāng)前 值,如果大于則更新變量o值為該最大值。
6.如權(quán)利要求4或5所述的方法,其特征在于根據(jù)公式8= o/2n,返回S盒的差分均勻性。
全文摘要
本發(fā)明公開了一種S盒差分均勻性快速檢測(cè)方法,屬于信息技術(shù)領(lǐng)域。本發(fā)明的方法為在原有檢測(cè)結(jié)構(gòu)的基礎(chǔ)上增加了一個(gè)存儲(chǔ)模塊,首先S盒被輸入到遍歷模塊中去,遍歷模塊將調(diào)用計(jì)數(shù)模塊計(jì)算每一個(gè)檢索向量的情況,在遍歷的過程中,存儲(chǔ)模塊將記錄針對(duì)當(dāng)前檢測(cè)向量值的中間差分結(jié)果值,最后統(tǒng)計(jì)模塊給出差分值的最大值作為最終的結(jié)果輸出。與現(xiàn)有技術(shù)相比,本發(fā)明有效減少了計(jì)算中的循環(huán)次數(shù),顯著地降低了求解復(fù)雜度,大幅提高了計(jì)算速度。
文檔編號(hào)H04L9/00GK101997675SQ201010533858
公開日2011年3月30日 申請(qǐng)日期2010年11月2日 優(yōu)先權(quán)日2010年11月2日
發(fā)明者馮登國, 范麗敏, 陳華 申請(qǐng)人:中國科學(xué)院軟件研究所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1