日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

对DES中的第一个S盒子S1,计算随机变量 X2⊕Y1⊕Y2⊕Y3⊕Y4 的偏差

發(fā)布時間:2023/12/15 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 对DES中的第一个S盒子S1,计算随机变量 X2⊕Y1⊕Y2⊕Y3⊕Y4 的偏差 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

對DES中的第一個S盒子S1,計算隨機變量 X2⊕Y1⊕Y2⊕Y3⊕Y4 的偏差

什么是偏差:

S盒是DES中連接Bi和Ci的橋梁:


每個Bi都是6bits,每個Ci都是4bits,S盒是一個6bits->4bits的代換。設(shè)S盒的輸入為X1~X6,S盒的輸出為Y1~Y4。

第一個S盒的結(jié)構(gòu):

代碼:

from fractions import Fraction # DES S盒1 list = [[14,4,13,1,2,15,11,8,3,10,6,12,5,9,0,7], [0,15,7,4,14,2,13,1,10,6,12,11,9,5,3,8], [4,1,14,8,13,6,2,11,15,12,9,7,3,10,5,0], [15,12,8,2,4,9,1,7,5,11,3,14,10,0,6,13]] print("Ci十進制 Ci二進制(Y1~Y4) 行 列 行二進制 列二進制 Bi二進制(X1~X6)") row=0 count=0 for i in list:row += 1row_binary = '{:02b}'.format(row-1)column = 0for j in i:column += 1column_binary = '{:04b}'.format(column-1)Yi = '{:04b}'.format(j) # Y1Y2Y3Y4Xi = row_binary[0]+column_binary+row_binary[1]print("%7s%13s (%2s,%2s)%7s%7s%11s"%(j,Yi,row,column,row_binary,column_binary,Xi))if (int(Xi[1])+int(Yi[0])+int(Yi[1])+int(Yi[2])+int(Yi[3]))%2==0:count+=1 print("\n對于DES中的第一個S盒子S1,隨機變量 X2⊕Y1⊕Y2⊕Y3⊕Y4 的偏差為:",Fraction(count,64)-Fraction(1,2))

運行結(jié)果:

Ci十進制 Ci二進制(Y1~Y4) 行 列 行二進制 列二進制 Bi二進制(X1~X6)14 1110 ( 1, 1) 00 0000 0000004 0100 ( 1, 2) 00 0001 00001013 1101 ( 1, 3) 00 0010 0001001 0001 ( 1, 4) 00 0011 0001102 0010 ( 1, 5) 00 0100 00100015 1111 ( 1, 6) 00 0101 00101011 1011 ( 1, 7) 00 0110 0011008 1000 ( 1, 8) 00 0111 0011103 0011 ( 1, 9) 00 1000 01000010 1010 ( 1,10) 00 1001 0100106 0110 ( 1,11) 00 1010 01010012 1100 ( 1,12) 00 1011 0101105 0101 ( 1,13) 00 1100 0110009 1001 ( 1,14) 00 1101 0110100 0000 ( 1,15) 00 1110 0111007 0111 ( 1,16) 00 1111 0111100 0000 ( 2, 1) 01 0000 00000115 1111 ( 2, 2) 01 0001 0000117 0111 ( 2, 3) 01 0010 0001014 0100 ( 2, 4) 01 0011 00011114 1110 ( 2, 5) 01 0100 0010012 0010 ( 2, 6) 01 0101 00101113 1101 ( 2, 7) 01 0110 0011011 0001 ( 2, 8) 01 0111 00111110 1010 ( 2, 9) 01 1000 0100016 0110 ( 2,10) 01 1001 01001112 1100 ( 2,11) 01 1010 01010111 1011 ( 2,12) 01 1011 0101119 1001 ( 2,13) 01 1100 0110015 0101 ( 2,14) 01 1101 0110113 0011 ( 2,15) 01 1110 0111018 1000 ( 2,16) 01 1111 0111114 0100 ( 3, 1) 10 0000 1000001 0001 ( 3, 2) 10 0001 10001014 1110 ( 3, 3) 10 0010 1001008 1000 ( 3, 4) 10 0011 10011013 1101 ( 3, 5) 10 0100 1010006 0110 ( 3, 6) 10 0101 1010102 0010 ( 3, 7) 10 0110 10110011 1011 ( 3, 8) 10 0111 10111015 1111 ( 3, 9) 10 1000 11000012 1100 ( 3,10) 10 1001 1100109 1001 ( 3,11) 10 1010 1101007 0111 ( 3,12) 10 1011 1101103 0011 ( 3,13) 10 1100 11100010 1010 ( 3,14) 10 1101 1110105 0101 ( 3,15) 10 1110 1111000 0000 ( 3,16) 10 1111 11111015 1111 ( 4, 1) 11 0000 10000112 1100 ( 4, 2) 11 0001 1000118 1000 ( 4, 3) 11 0010 1001012 0010 ( 4, 4) 11 0011 1001114 0100 ( 4, 5) 11 0100 1010019 1001 ( 4, 6) 11 0101 1010111 0001 ( 4, 7) 11 0110 1011017 0111 ( 4, 8) 11 0111 1011115 0101 ( 4, 9) 11 1000 11000111 1011 ( 4,10) 11 1001 1100113 0011 ( 4,11) 11 1010 11010114 1110 ( 4,12) 11 1011 11011110 1010 ( 4,13) 11 1100 1110010 0000 ( 4,14) 11 1101 1110116 0110 ( 4,15) 11 1110 11110113 1101 ( 4,16) 11 1111 111111對于DES中的第一個S盒子S1,隨機變量 X2⊕Y1⊕Y2⊕Y3⊕Y4 的偏差為: -9/32

對于DES中的第一個S盒子S1,隨機變量 X2⊕Y1⊕Y2⊕Y3⊕Y4 的偏差為: -9/32

總結(jié)

以上是生活随笔為你收集整理的对DES中的第一个S盒子S1,计算随机变量 X2⊕Y1⊕Y2⊕Y3⊕Y4 的偏差的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。