freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

密碼學(xué)課程設(shè)計(jì)報(bào)告-文庫(kù)吧在線文庫(kù)

  

【正文】 (4)線性密碼分析線性密碼分析,是通過(guò)分析S盒的線性特性,從而發(fā)現(xiàn)明文比特、密文比特和密鑰比特之間可能存在的線性關(guān)系,如果S盒設(shè)計(jì)不當(dāng),這種線性關(guān)系會(huì)以較大的概率存在,稱(chēng)為概率線性關(guān)系。仍以“循環(huán)左移”S盒為例假設(shè)兩個(gè)輸入分別是x=1010和x*=1101則相應(yīng)的輸出是y=0101和y*=1011輸入的異或?yàn)閤’=x⊕x*=0111輸出的異或?yàn)閥’=y⊕y*=1110可以發(fā)現(xiàn)不論x和x*如何變化,只要它們的異或是0111,相應(yīng)輸出的異或都是1110,(x’,y’)被稱(chēng)為一個(gè)差分如果S盒是線性的,整個(gè)SPN也會(huì)是線性的,明文和密文的差分也會(huì)是線性的差分分析的優(yōu)勢(shì)在于,分析過(guò)程基本可以忽略密鑰的干擾作用。它的安全性是建立在“大數(shù)分解和素性檢測(cè)”這個(gè)數(shù)論難題的基礎(chǔ)上,即將兩個(gè)大素?cái)?shù)相乘在計(jì)算上容易實(shí)現(xiàn),而將該乘積分解為兩個(gè)大素?cái)?shù)因子的計(jì)算量相當(dāng)大。為了提高破解難度,達(dá)到更高的安全性,一般商業(yè)應(yīng)用要求n的長(zhǎng)度不小于1024位,更重要的場(chǎng)合不小于2048位。 a = a/2。 ji。 int k[6][16] = {0}。 } for (r=1。} 線性密碼分析依據(jù)線性密碼分析的原理與算法,我主要采用位操作來(lái)實(shí)現(xiàn)該算法,具體代碼如下:void SPNLinearAttack(int L1[4],int L2[4]){ int Plain[16]。 k++) {//N0為8000,即對(duì)8000對(duì)明密文進(jìn)行攻擊 for (p=0。 j4。 for (p=0。 z = Plain[4]^Plain[6]^Plain[7]^u2[1]^u2[3]^u4[1]^u4[3]。 j++) { Count[i][j] = abs(Count[i][j]N0/2)。 } printf( )。 int v2[4],v4[4],u2[4],u4[4],v2_0[4],v4_0[4],u2_0[4],u4_0[4],u2_1[4],u4_1[4]。 k++) { for (p=0。 Array_assign(Cipher+8, y3, 4)。 Array_equality(y3, y3_0, 4)) {//遍歷,真實(shí)密文與嘗試密文全部相同,則說(shuō)明嘗試密鑰可行 for (i=0。 Reverse_Substitution(v2, u2)。 if (Array_equality(u2_1, check, 4)amp。 j++) { if (Count[i][j]max) { max = Count[i][j]。 for (j=0。 q0 = BN_new()。//n = p * q BN_sub(p0, p, one)?!╧1)若nk2=1,則計(jì)算ak2=ak3*bk2(mod m),否則取ak2=ak3,即計(jì)算ak2=ak3*bk2nk2(mod m),再計(jì)算bk1=bk22(mod m)。 BIGNUM *two = BN_new()。 else BN_copy(a, a0)。 BIGNUM *one = BN_new()。 BN_set_word(two, 2)。 BN_copy(d, temp2)。 BIGNUM *x1 = BN_new()。 BIGNUM *psub = BN_new()。 //dp=d mod p1 BN_mod(aq, a, qsub, ctx)。 BN_mul(x1, temp1, temp3, ctx)。六 實(shí)驗(yàn)小結(jié)這次實(shí)驗(yàn)歷時(shí)兩個(gè)星期,時(shí)間非常長(zhǎng),實(shí)驗(yàn)內(nèi)容也非常豐富。遇到困難解決問(wèn)題的過(guò)程鍛煉了我在逆境中成長(zhǎng)的心態(tài)。在這過(guò)程中,我遇到了許多編程上的困難。、隨機(jī)性檢測(cè)運(yùn)用SPN加密,對(duì)明文進(jìn)行加密,分別加密不同的輪數(shù),產(chǎn)生不同的密文,將密文用隨機(jī)性工具進(jìn)行檢測(cè),觀察其隨機(jī)性。 BN_mod_inverse(M2_Inverse, M2, q, ctx)。 BN_copy(qsub,q)。 BIGNUM *temp3 = BN_new()。} 運(yùn)用中國(guó)剩余定理的RSA解密分別算出模p與模q的結(jié)果,再利用中國(guó)剩余定理,算出模n=p*q的結(jié)果,最終解密出明文,具體代碼如下圖:中國(guó)剩余定理void CRT(BIGNUM *x,BIGNUM *y,BIGNUM *p,BIGNUM *q,BIGNUM *m,BIGNUM *a){ BIGNUM *M1 = BN_new()。 BN_copy(a, temp2)。 BIGNUM *temp2 = BN_new()。 BN_copy(b0, bb)。 BN_copy(n0, n)。 BIGNUM *b0 = BN_new()。 BN_gcd(gcd, b, fi_n, ctx)。 one = BN_value_one()。代碼如下:void RSA_InitPara(BIGNUM *p,BIGNUM *q,BIGNUM *n,BIGNUM *a,BIGNUM *b){ BIGNUM *fi_n, *p0, *q0, *gcd。 for (i=0。 for (i=0。 Reverse_Substitution(v2_0, u2_0)。 j++) { Int_2_Bit(i, L3)。 Array_assign(Cipher0+8, y3_0, 4)。 } SPN_Encryption(x, K, Cipher)。 int p = 0。 }} 差分密碼分析依據(jù)差分密碼分析的原理與算法,我主要采用位操作來(lái)實(shí)現(xiàn)該算法,具體代碼如下:void SPNDifAttack(int L3[4],int L4[4]){ int check[4] = {0,1,1,0}。 Int_2_Bit(q, L2)。 for (i=0。 q4。 i++) { for (j=0。 for (i=0。 int i,j,k。//將u代換為v Permutation(v, w)。 j++) { InitiaKey(K, k[j], j)。 ji。 a = a/2。
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1