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

正文內(nèi)容

aes密碼學(xué)課程設(shè)計(c語言實現(xiàn))-資料下載頁

2025-06-03 04:29本頁面
  

【正文】 ^ (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])。 //0x09乘法 } } for(i=0。 i4。 i++) { for(j=0。 j 4。 j++) { State[i][j]=output[i][j]。 } } } 、輪密鑰加( AddRoundKey) 與加密完全相同 、解密主函數(shù) 關(guān)鍵代碼 //與加密函數(shù)不同的是,過程相反,根據(jù)流程圖構(gòu)造解密主函數(shù),輪數(shù)相同,由于是 AES 本質(zhì)是對稱函數(shù),所以是相反的而已 void InvEncryption(unsigned char input[16],unsigned char Key[16]) { int i,j,k。 18 KeyExpansion(Key,ExpandKey)。 unsigned char State[4][4]。 for(j=0。 j4。 j++) { for(k=0。 k4 。k++) { State[j][k] = input[k*4+j]。 } } AddRoundKey(State,ExpandKey[10])。 for(i=9。 i=0。 i) { InvShiftRows(State)。 InvSubBytes(State)。 AddRoundKey(State, ExpandKey[i])。 if(i)InvMixColumns(State)。 if(i=1) /* 輸出最后解密兩輪密鑰和密文 */ { printf(\n第 %d輪密鑰矩陣為: \n,10i)。 int m,n。 for(m=0。m4。m++) { for(n=0。n4。n++) { printf(%X,ExpandKey[i][n][m])。 } printf(\n)。 } printf(第 %d輪解密出的消息為 :,10i)。 for(m=0。m4。m++) { for(n=0。n4。n++) { printf(%X,State[n][m])。 } } printf(\n)。 } } printf(\n最后解密出的明文消息為 :)。 for(int m=0。m4。m++) { for(int n=0。n4。n++) { 19 printf(%c ,State[n][m])。 } } printf(\n)。 for(j=0。j4。j++) { for(k=0。 k4 。k++) { input[k*4+j] = State[j][k]。 } } } 由于加密解密分兩種方式,一種是由鍵盤輸入進(jìn)行加密解密 。另一種是文件讀入加密解密 主界面 根據(jù)數(shù)字選擇使用軟件,下面分開測試: 測試鍵盤 輸入 明文和密鑰加密 鍵盤輸入 1,選擇加密,并輸入 : IloveYouYouKnow? 共計 16 個字符, 再任意輸入 16 字符的密鑰,為方便起見,測試時,輸入為 11111111111111111, 最后加密成功之后輸出中間密 20 鑰與密文狀態(tài) 其中最后加密密文為: A1,00, E9, BD,13,9A,CC,51,76,6A,3F,B8, AA,34,6A,C 測試鍵盤輸入密文和密鑰加密 選擇 3,進(jìn)入解密界面。 為 測試是否成功加密,采用上次加密時的密文進(jìn)行輸入,如圖結(jié)果說明加密解密是成功的。 21 測試 文件 輸入明文和密鑰加密 //選擇 2 進(jìn)入文件加密界面,輸入保存有明文的文件名 : : 輸出到空文件 中進(jìn)行保存 測試 文件 輸入密文和密鑰加密 //選擇 4 進(jìn)入界面解密,同理,為檢驗是否加密成功,采用上次加密時密文輸出到 上的密文進(jìn)行解密,密鑰文件相同 ,與上圖相比,結(jié)果正確。解密成功! 22 軟件說明 是為注明信息而設(shè)置,表明版權(quán),可省略 , 這次課程設(shè)計我最大的收獲就是凡事都要自己動手去做 ,有些事情自己不做,啥子都不會,有畏懼感,膽怯,始終把事情放在那,就形成惡性循環(huán),這樣子一直都做不來,一直都不會有進(jìn)步,所以不管什么事情都要親自去嘗試一下,難易程度自己感知,不要聽信他人的謠言,或者誤導(dǎo),以為怎么怎么樣 。 還有就是,做代碼的時候查閱了相關(guān)的書籍,很雜很亂,這對于選擇有用的材料,有價值的材料進(jìn)行使用,會提高效率,最開始各種涉獵,很多,但是實用的卻沒有多少,白白耽誤了很多時間。我覺得還是首先了解全局,了解總體,高屋建瓴,做好準(zhǔn)備工作,寫好報告, 把每個過程搞懂了,才能動手去寫代碼,連基本的理論都不懂,就去操作, 實 在是慢,當(dāng)然在了解的基礎(chǔ)上,也要去實踐,去檢驗自己的做法是否是對的,不能光搞理論,計算機是一個動手就得答案的科學(xué),多檢驗,多算,多觀察。這樣子影響更深,更不會忘,一輩子的經(jīng)驗,自己動手得到的答案,遠(yuǎn)比查閱資 料了解來的有意義,有效果。 在寫代碼的時候參考了一些參考資料,發(fā)現(xiàn)一些牛人啊,他們寫的代碼簡介,精煉,確實讓人敬佩, 我用很多行代碼實現(xiàn)的功能,別人兩三句循環(huán)就解決了,主要是平時沒怎么編寫代碼,沒有經(jīng)驗,還是要多寫代碼,多領(lǐng)悟,才能有他們的成就。而且我簡介的代碼都是很好的數(shù)學(xué)算法,我學(xué)的數(shù)學(xué)沒怎么用在這個上面, 不能直接用最低級的算法,最普通的算法,這樣子永遠(yuǎn)不能簡化,要簡化就要用一些數(shù)學(xué)算法,下標(biāo)改變啊,循環(huán)啊啥的這些可以實現(xiàn)意想不到的效果,實現(xiàn)功能和簡介的雙重母的。多實踐! 最后我要感謝解放軍信 息工程大學(xué)的尋者,尋者是他的昵稱,在我調(diào)試過程中,他給了我很大的幫助,真心的不知道說什么,我有很多的問題都是詢問他解決的,而且那天他花了一整晚上的時間和我一起探討,一起專研,幫我調(diào)試,這對于目前一個物質(zhì)社會,節(jié)奏超快的社會,我真心感覺好幸運,好人還是多,這就堅定了我要做好人的決心。助人為樂,真心感覺很好!特別是那些 在 需要 中的人們是、多么期盼的幫助。幫助別人就是幫助自己,萬分感謝尋者!致敬! 23 [1] 譚浩強 .C程序設(shè)計(第三版) . 北京: 清華大學(xué)出版社 , 2021 [2] 張仕斌 .張金全 等 . 應(yīng)用密碼學(xué) .西安電子科技大學(xué)出版社 , 2021 [3] 尋者 .AES加密算法 C++.
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1