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

正文內(nèi)容

密碼學(xué)課程設(shè)計(jì)報(bào)告(參考版)

2025-03-26 07:19本頁面
  

【正文】 最后感謝同學(xué)和老師對我的幫助。我深深的體會到紙上得來終覺淺,絕知此事要躬行。通過上網(wǎng)瀏覽資料,請教同學(xué),這些困難終于得以解決。我們總體上的思路就是把加解密算法用c語言描述出來并實(shí)現(xiàn)運(yùn)行。這次實(shí)驗(yàn)總體上來說難度是十分大的。、RSA的加/解密及快速加/解密(1)生成p,q,n,:圖 (2)蒙哥馬利加密:圖 (3)中國剩余定理解密:圖 (4)模重復(fù)平方加密:圖 (5)蒙哥馬利解密:圖 、文件加解密(1)文件加密:截圖如下:(2)文件解密:截圖如下:、隨機(jī)性檢測結(jié)果如圖:檢測通過。五. 實(shí)驗(yàn)結(jié)果、SPN(1)加密:圖 結(jié)果正確。 BN_mod_add(x, x1, x2, m, ctx)。 BN_mul(temp4, M2, M2_Inverse, ctx)。 //xq=y^dq mod q BN_mul(temp3, M1, M1_Inverse, ctx)。 BN_mod_exp(temp1, y, ap, p, ctx)。 BN_mod_inverse(M1_Inverse, M1, p, ctx)。 //dq=d mod q1 BN_copy(M1, q)。 //qsub1=q1 BN_mod(ap, a, psub, ctx)。 BN_sub_word(psub, 1)。 BN_copy(psub,p)。 BIGNUM *qsub = BN_new()。 BIGNUM *aq = BN_new()。 BIGNUM *temp4 = BN_new()。 BIGNUM *temp2 = BN_new()。 BIGNUM *x2 = BN_new()。 BIGNUM *M2_Inverse = BN_new()。 BIGNUM *M2 = BN_new()。 } } BN_copy(y, d)。 BN_sub(temp2, b, one)。 } else { BN_mod_mul(temp2, d, a, n, ctx)。 BN_div(temp2, NULL, b, two, ctx)。 if (!BN_cmp(temp1, zero)) { BN_mod_sqr(temp2, a, n, ctx)。 BN_set_word(d, 1)。 BN_set_word(one, 1)。 BN_CTX *ctx = BN_CTX_new()。 BIGNUM *temp1 = BN_new()。 BIGNUM *zero = BN_new()。} 運(yùn)用蒙哥馬利的RSA快速加解密: 蒙哥馬利算法流程根據(jù)上述流程圖,寫出相應(yīng)代碼,具體代碼如下:蒙哥馬利算法相關(guān)代碼:void Montgomerie(BIGNUM *a,BIGNUM *y,BIGNUM *b,BIGNUM *n){ BIGNUM *d = BN_new()。 } while (!BN_is_zero(d))。 BN_copy(a0, a)。 BN_mod_sqr(bb, b0, m, ctx)。 if (BN_is_one(nn)) BN_mod_mul(a, a0, b0, m, ctx)。 BN_copy(b0, b)。 BN_set_word(two, 2)。 BN_CTX *ctx = BN_CTX_new()。 BIGNUM *a = BN_new()。 BIGNUM *bb = BN_new()。 BIGNUM *nn = BN_new()。(k)若nk1=1,則計(jì)算ak1=ak2*bk1(mod m),否則取ak1=ak2,即計(jì)算ak1=ak2*bk1nk1(mod m),最后,ak1就是bn(mod m)具體加密解密實(shí)現(xiàn)代碼如下:模重復(fù)平方算法void Mo_Repeat_Square(BIGNUM *b,BIGNUM *y,BIGNUM *n,BIGNUM *m){ BIGNUM *d = BN_new()。//a為b模fi_n的逆} 運(yùn)用模重復(fù)平方的RSA加/解密模重復(fù)平方的思想是將指數(shù)n寫成二進(jìn)制形式n=n0+n1*2+…+nk1*2k1,令a=11) 若n0=1,則計(jì)算a0=a*b(mod m),否則取a0=a,即計(jì)算a0=a*bn0(mod m),再計(jì)算b1=b2(mod m).2) 若n1=1,則計(jì)算a1=a0*b1(mod m),否則取a1=a0,即計(jì)算a1= a0* b1n1(mod m),再計(jì)算b2=b12(mod m)。 } while (BN_cmp(gcd, one))。 do { BN_rand_range(b, fi_n)。//p0 = p 1 BN_sub(q0, q, one)。 BN_mul(n, p, q, ctx)。 BN_generate_prime(p, N1, NULL, NULL, NULL, NULL, NULL)。 BN_CTX *ctx = BN_CTX_new()。 gcd = BN_new()。 p0 = BN_new()。 const BIGNUM *one。 }}、RSA的加/解密及快速加/解密 生成大素?cái)?shù)運(yùn)用Openssl庫快速生成大素?cái)?shù)。 j4。 } printf( )。 i4。 Int_2_Bit(q, L4)。 p = i,q= j。 j16。 i16。 } } } } max = 1。amp。 XOR_4(u4, u4_0, u4_1)。 Reverse_Substitution(v4_0, u4_0)。 XOR_4(L4, y4_0, v4_0)。 Reverse_Substitution(v4, u4)。 XOR_4(L4, y4, v4)。 Int_2_Bit(j, L4)。 j16。 i16。amp。 Array
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1