[發明專利]密碼S盒評估方法有效
| 申請號: | 201611265264.5 | 申請日: | 2016-12-30 |
| 公開(公告)號: | CN106788979B | 公開(公告)日: | 2020-04-21 |
| 發明(設計)人: | 韋永壯;趙穎;葉濤;史佳利;丁勇 | 申請(專利權)人: | 桂林電子科技大學 |
| 主分類號: | H04L9/06 | 分類號: | H04L9/06;G06F21/60 |
| 代理公司: | 桂林市華杰專利商標事務所有限責任公司 45112 | 代理人: | 楊雪梅 |
| 地址: | 541004 廣西*** | 國省代碼: | 廣西;45 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 密碼 評估 方法 | ||
1.密碼S盒評估方法,包括全排列產生模塊、隨機數產生模塊、局部線性檢測模塊、局部二次檢測模塊,其特征在于,評估方法包括如下步驟:
S1:利用全排列產生模塊產生一組數的全排列,該模塊輸出為一個8維的數組,將其定義為 [1 ,2 ,3 ,4 ,5 ,6 ,7 ,8]的排列C;
S2:利用隨機數產生模塊產生3組,每組60個隨機數,并且這三組隨機數在相同的位置的值是不能相同的,該模塊的輸出為三個60維的數組,將其定義為A1,A2,A3;
S3:將數組A1,A2和排列C輸入到局部線性檢測模塊;
S3.1:在這個模塊中,首先,對于密碼S盒的輸入X,先固定X[C[1]]為0,將X[C[2]] ,X[C[3]] ,X[C[4]] ,X[C[5]] ,X[C[6]] ,X[C[7]] ,X[C[8]]賦值為A1[1]中對應的十進制數的二進制形式,得到了一個密碼S盒的輸出Out1;
S3.2:再將X[C[2]],X[C[3]],X[C[4]],X[C[5]],X[C[6]],X[C[7]],X[C[8]],賦值為A2[1]中對應的十進制數的二進制形式,得到了另一個密碼S盒的輸出Out2;
S3.3:將X[C[2]],X[C[3]],X[C[4]],X[C[5]],X[C[6]],X[C[7]],X[C[8]]賦值為 A1[1]與A2[1]的二進制異或后的值,得到的密碼S盒的輸出為Out3;
S3.4:最后,將X[C[2]],X[C[3]],X[C[4]],X[C[5]],X[C[6]],X[C[7]],X[C[8]]賦值為全零,得到密碼S盒的一個輸出Out4,并利用公式f(x1+x2)=f(x1)+f(x2)+f(0)判斷密碼S盒的每一位的輸出是否都是滿足上面的關系,即Out3[i]=Out1[i]+Out2[i]+Out4[i],1<=i<=8;
S3.5:按照S3.1,S3.2,S3.3,S3.4,再將A1[2]-A1[60]以及A2[2]-A2[60]分別帶入到X[C[2]],X[C[3]],X[C[4]],X[C[5]],X[C[6]],X[C[7]],X[C[8]],如果輸出都是滿足上面的關系,將C2[1]加1;
S3.6:之后再固定X[C[1]]為1,并按照S3.1,S3.2,S3.3,S3.4,S3.5,判斷此時得到的表達式是否滿足線性關系,如果是滿足的,將C2[1]加1;
S3.7:擴大固定的位數i,按照S3.1,S3.2,S3.3,S3.4,S3.5,S3.6,判斷此時得到的表達式是否是滿足線性關系,如果是滿足的,將C2[i]加1;
S3.8:當固定的位數i從1-7跑完后,得到了一個數組C2后,設置一個數組C3,令C3[i]=C2[i]-2C2 [i-1],如果i<7,C3[i]至少有一個不為0,將C,C2輸出,此時得到的C3[i]的值才是固定i位后,得到的線性關系的個數;得到的C3[i]為按照C的順序固定i位后得到的線性關系的個數;
S4:如果i<7,C3[i]=0則表示沒有通過局部線性檢測,此時,將數組A1,A2,A3和排列C輸入到局部二次檢測模塊;
S4.1:在這個模塊中,首先,對于密碼S盒的輸入X,先固定X[C[1]]為0,將X[C[2]],X[C[3]],X[C[4]],X[C[5]],X[C[6]],X[C[7]],X[C[8]]分別賦值為A1[1],A2[1],A3[1]中 對應的十進制數的二進制形式,得到了一個密碼S盒的輸出分別為Out1,Out2,Out3;
S4.2:將X[C[2]],X[C[3]],X[C[4]],X[C[5]],X[C[6]],X[C[7]],X[C[8]]賦值為全零,得到密碼S盒的一個輸出Out4;
S4.3:最后,將A1[1]^A2[1]、A1[1]^A3[1]、A2[1]^A3[1]、A1[1]^A2[1]^A3[1]對應的二進制的形式分別賦值到X[C[2]],X[C[3]],X[C[4]],X[C[5]],X[C[6]],X[C[7]],X[C[8]],得到對應的密碼S盒的輸出分別為Out5,Out6,Out7,Out8;并利用公式
f(x1+x2+x3)=f(x1+x2)+f(x1+x3)+f(x2+x3)+f(x1)+f(x2)+f(x3)+f(0)Out8[i]=Out1[i]+Out2[i]+Out3[i]+Out4[i]+Out5[i]+Out6[i]+Out7[i],1<=i<=8,判斷密碼S盒的每一位的輸出是否都是滿足上面的關系;
S4.4:按照S4.1,S4.2,S4.3,再將A1[2]-A1[60]以及A2[2]-A2[60]分別帶入到X[C[2]],X[C[3]],X[C[4]],X[C[5]],X[C[6]],X[C[7]],X[C[8]],如果輸出都是滿足上面的關系,將D2[1]加1;
S4.5:之后再固定X[C[1]]為1,并按照S4.1,S4.2,S4.3,S4.4,判斷此時得到的表達式是否滿足二次關系,如果是滿足的,將D2[1]加1;
S4.6:擴大固定的位數i,并按照S4.1,S4.2,S4.3,S4.4,S4.5,判斷此時得到的表達式是否是滿足二次關系,如果是滿足的,將D2[i]加1;
S4.7:最后,當固定的位數i從1-7跑完后,得到了一個數組D2,如果D2[i],i<6,至少有一個不為零,將C,D2輸出,得到的D2[i]為按照C的順序固定i位后得到的二次關系的個數;
S5:根據局部線性檢測模塊的輸出和局部二次檢測模塊的輸出,對S盒進行評估,如果對于局部線性檢測模塊的輸出C2中存儲的數的和與2n-1相差較少,說明S盒的代數結構較好;如果局部線性檢測模塊的輸出C2中存儲的數的和與2n-1相差較大,說明S盒的代數結構較差,其中n為S盒的位數;對于局部二次檢測模塊的輸出D2,當n=8時,如果D2[i]的值較大,而i的值較小, i=4或5,說明S盒的代數結構較差;如果D2[i]的值較大,但是i的值也較大,i=6,說明S盒的代數結構較好。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于桂林電子科技大學,未經桂林電子科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611265264.5/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種急診科護理供氧裝置
- 下一篇:氧療監護裝置





