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

正文內(nèi)容

aes密碼學(xué)課程設(shè)計(jì)(c語(yǔ)言實(shí)現(xiàn))(參考版)

2025-01-15 03:41本頁(yè)面
  

【正文】 幫助別人就是幫助自己,萬(wàn)分感謝尋者!致敬! 23 [1] 譚浩強(qiáng) .C程序設(shè)計(jì)(第三版) . 北京: 清華大學(xué)出版社 , 2022 [2] 張仕斌 .張金全 等 . 應(yīng)用密碼學(xué) .西安電子科技大學(xué)出版社 , 2022 [3] 尋者 .AES加密算法 C++. 。多實(shí)踐! 最后我要感謝解放軍信息工程大學(xué)的尋者,尋者是他的昵稱(chēng),在我調(diào)試過(guò)程中,他給了我很大的幫助,真心的不知道說(shuō)什么,我有很多的問(wèn)題都是詢(xún)問(wèn)他解決的,而且那天他花了一整晚上的時(shí)間和我一起探討,一起專(zhuān)研,幫我調(diào)試,這對(duì)于目前一個(gè)物質(zhì)社會(huì),節(jié)奏超快的社會(huì),我真心感覺(jué)好幸運(yùn),好人還是多,這就堅(jiān)定了我要做好人的決心。 在寫(xiě)代碼的時(shí)候參考了一些參考資料,發(fā)現(xiàn)一些牛人啊,他們寫(xiě)的代碼簡(jiǎn)介,精煉,確實(shí)讓人敬佩, 我用很多行代碼實(shí)現(xiàn)的功能,別人兩三句循環(huán)就解決了,主要是平時(shí)沒(méi)怎么編寫(xiě)代碼,沒(méi)有經(jīng)驗(yàn),還是要多寫(xiě)代碼,多領(lǐng)悟,才能有他們的成就。我覺(jué)得還是首先了解全局,了解總體,高屋建瓴,做好準(zhǔn)備工作,寫(xiě)好報(bào)告, 把每個(gè)過(guò)程搞懂了,才能動(dòng)手去寫(xiě)代碼,連基本的理論都不懂,就去操作, 實(shí) 在是慢,當(dāng)然在了解的基礎(chǔ)上,也要去實(shí)踐,去檢驗(yàn)自己的做法是否是對(duì)的,不能光搞理論,計(jì)算機(jī)是一個(gè)動(dòng)手就得答案的科學(xué),多檢驗(yàn),多算,多觀察。解密成功! 22 軟件說(shuō)明 是為注明信息而設(shè)置,表明版權(quán),可省略 , 這次課程設(shè)計(jì)我最大的收獲就是凡事都要自己動(dòng)手去做 ,有些事情自己不做,啥子都不會(huì),有畏懼感,膽怯,始終把事情放在那,就形成惡性循環(huán),這樣子一直都做不來(lái),一直都不會(huì)有進(jìn)步,所 以不管什么事情都要親自去嘗試一下,難易程度自己感知,不要聽(tīng)信他人的謠言,或者誤導(dǎo),以為怎么怎么樣 。為 測(cè)試是否成功加密,采用上次加密時(shí)的密文進(jìn)行輸入,如圖結(jié)果說(shuō)明加密解密是成功的。 } } } 由于加密解密分兩種方式,一種是由鍵盤(pán)輸入進(jìn)行加密解密 。 k4 。j4。 } } printf(\n)。n4。m4。 } } printf(\n最后解密出的明文消息為 :)。n++) { printf(%X,State[n][m])。m++) { for(n=0。 for(m=0。 } printf(\n)。n4。m4。 int m,n。 if(i)InvMixColumns(State)。 InvSubBytes(State)。 i=0。 } } AddRoundKey(State,ExpandKey[10])。 k4 。 j4。 unsigned char State[4][4]。 } } } 、輪密鑰加( AddRoundKey) 與加密完全相同 、解密主函數(shù) 關(guān)鍵代碼 //與加密函數(shù)不同的是,過(guò)程相反,根據(jù)流程圖構(gòu)造解密主函數(shù),輪數(shù)相同,由于是 AES 本質(zhì)是對(duì)稱(chēng)函數(shù),所以是相反的而已 void InvEncryption(unsigned char input[16],unsigned char Key[16]) { int i,j,k。 j 4。 i4。 i++) { output[i][j] = (xtime(xtime(xtime(State[i % 4][j]))) ^ xtime(xtime(State[i % 4][j]))^xtime(State[i % 4][j])) //0x0E=14乘法 ^ (xtime(xtime(xtime(State[ ( i + 1 ) % 4][j]))) ^ xtime(State[ ( i + 1 ) % 4][j]) ^ State[ ( i + 1 ) % 4][j]) //0x0B=11乘法 ^ (xtime(xtime(xtime(State[ ( i + 2 ) % 4][j]))) ^ xtime(xtime(State[ ( i + 2 ) % 4][j])) ^ State[ ( i + 2 ) % 4][j]) //0x0D=13乘法 ^(xtime(xtime(xtime(State[ ( i + 3 ) % 4][j]))) ^ State[ ( i + 3 ) % 4][j])。 j++) { for(i=0。 for(j=0。 } 、逆列混合( InvMixCloumns) 關(guān)鍵代碼 //逆列混合操作與 列混合一樣,只是多項(xiàng)式 d(x)不同, 因而可以表示為矩陣相乘來(lái)實(shí)現(xiàn),輸入矩陣與固定矩陣(十六進(jìn)制)相乘, 17 void InvMixColumns(unsigned char State[][4]) { unsigned char output[4][4]。 State[3][2]=State[3][3]。 State[3][0]=State[3][1]。 State[2][0]=k。 k=State[2][2]。 State[2][3]=State[2][1]。 State[1][0]=k。 State[1][2]=State[1][1]。 k=State[1][3]。 } } 16 } 、 逆行移位( InvShiftRows) 關(guān)鍵代碼 //與加密時(shí)的行移位區(qū)別在于移位方向相反。 j4。 i4。直接進(jìn)圖逆 S 盒,原理很簡(jiǎn)單,與字節(jié)替代相同,只是盒子不同 void InvSubBytes(unsigned char State[][4]) { int i,j。k++) { input[4*k+j]=State[j][k]。 j++) { for(k=0。 } } for(j=0。n++) { printf(%X,State[n][m])。m++) { for(n=0。 for(m=0。 } printf(\n)。n4。m4。 int m,n。 AddRoundKey(State,ExpandKey[i])。 ShiftRows(State)。 i=10。 } } AddRoundKey(State,ExpandKey[0])。 j4 。 i4。 int i,j,k。 } } } 、 加密 主函數(shù) 關(guān)鍵代碼 //根據(jù)加密函數(shù)流程圖,進(jìn)行架構(gòu)加密主函數(shù),參數(shù)分別是一個(gè)密鑰數(shù)組,一個(gè)明文分組進(jìn)入,參與運(yùn)算,其中密鑰一進(jìn)入就進(jìn)入密鑰擴(kuò)展,為以后的加密產(chǎn)生密鑰, void Encryption(unsigned char input[16],unsigned char Key[16]) { KeyExpansion(Key,ExpandKey)。j4。i4。 最后完成的效果如圖: 13 二. 關(guān)鍵代碼 void AddRoundKey(unsigned char State[][4],unsigned char Key[][4]) { int i,j。 } 、 輪密鑰加 ( AddRoundKey) 一. Add RoundKey 稱(chēng)為輪密鑰加變換, 128 位的 State 按位與 128 位的密鑰 XOR:),(),(),( 321032103210 jjjjjjjjjjjj k
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1