現(xiàn)代密碼學(xué)matlab仿射密碼實(shí)驗(yàn)報(bào)告一.doc

現(xiàn)代密碼學(xué)matlab仿射密碼實(shí)驗(yàn)報(bào)告一.doc

ID:59392123

大?。?9.00 KB

頁數(shù):4頁

時(shí)間:2020-05-29

現(xiàn)代密碼學(xué)matlab仿射密碼實(shí)驗(yàn)報(bào)告一.doc_第1頁
現(xiàn)代密碼學(xué)matlab仿射密碼實(shí)驗(yàn)報(bào)告一.doc_第2頁
現(xiàn)代密碼學(xué)matlab仿射密碼實(shí)驗(yàn)報(bào)告一.doc_第3頁
現(xiàn)代密碼學(xué)matlab仿射密碼實(shí)驗(yàn)報(bào)告一.doc_第4頁
資源描述:

《現(xiàn)代密碼學(xué)matlab仿射密碼實(shí)驗(yàn)報(bào)告一.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

1、廣東金融學(xué)院實(shí)驗(yàn)報(bào)告課程名稱:實(shí)驗(yàn)編號(hào)及實(shí)驗(yàn)名稱實(shí)驗(yàn)一仿射密碼的編碼實(shí)踐系別金融數(shù)學(xué)與統(tǒng)計(jì)學(xué)院姓名學(xué)號(hào)班級(jí)實(shí)驗(yàn)地點(diǎn)實(shí)驗(yàn)日期2017年10月11日實(shí)驗(yàn)時(shí)數(shù)2指導(dǎo)教師嚴(yán)建平同組其他成員成績一、實(shí)驗(yàn)?zāi)康募耙笥胢atlab實(shí)現(xiàn)仿射密碼的加密和解密并且完成界面設(shè)計(jì)。二、實(shí)驗(yàn)環(huán)境及相關(guān)情況(包含使用軟件、實(shí)驗(yàn)設(shè)備、主要儀器及材料等)MATLAB7.1,office2010,windows10,內(nèi)存4G硬盤:機(jī)械硬盤500G一、實(shí)驗(yàn)內(nèi)容的詳細(xì)代碼、清單、步驟及流程打開matlab的GUI界面設(shè)計(jì)窗口,進(jìn)行仿射密碼的加密和解密的窗口設(shè)計(jì),這部分比較簡單,就不詳細(xì)展開說了

2、,在這部分功能的實(shí)現(xiàn)主要是對(duì)功能控件進(jìn)行拖拉,matlab提供了比較簡易的工具,能是我們簡單地設(shè)計(jì)出軟件窗口。接下來是功能的實(shí)驗(yàn),先是加密功能的實(shí)現(xiàn),思路過程先將要加密的字母,轉(zhuǎn)化為ASCII碼,然后減去97,得到對(duì)于的數(shù)字。然后對(duì)數(shù)字進(jìn)行加密,用e(x)=ax+b(mod26)公式去求出密文的數(shù)字,最后將加密后的數(shù)字加97,再轉(zhuǎn)化為字母,得到密文。詳細(xì)代碼如下:functionencode_Callback(hObject,eventdata,handles)%hObjecthandletoencode(seeGCBO)%eventdatareserve

3、d-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)plaintext=get(handles.plaintext,'String');factor1=get(handles.parameter1,'String');factor2=get(handles.parameter2,'String');%將參數(shù)的字符串轉(zhuǎn)化為數(shù)值factor1=str2num(factor1);factor2=str2num(factor2);plaint

4、extASCII=double(plaintext);temCode=plaintextASCII-97;temCode=mod(temCode*factor1+factor2,26);ciphertextStr=char(temCode+97);set(handles.ciphertext,'String',ciphertextStr)解密功能實(shí)現(xiàn)思路跟加密差不多,而且在代碼注釋中也已經(jīng)表達(dá)清楚,在這里不詳細(xì)嗎描述了。%解密函數(shù)functiondecode_Callback(hObject,eventdata,handles)%獲取密文ciphertex

5、t=get(handles.ciphertext,'String');%獲取兩個(gè)參數(shù)factor1=get(handles.parameter1,'String');factor2=get(handles.parameter2,'String');%將參數(shù)的字符串轉(zhuǎn)化為數(shù)值factor1=str2num(factor1);factor2=str2num(factor2);%定義所有與26互素的乘法逆元pNum=[1357911151719212325];UnPNum=[1921153197231151725];%得到參數(shù)的indexfactor1_inde

6、x=find(pNum==factor1);%得到參數(shù)1的逆元Unfactor1=UnPNum(factor1_index)%將密文轉(zhuǎn)化為ascii碼ciphertextASCII=double(ciphertext);temCode=ciphertextASCII-97;%解密temCode=mod(Unfactor1*(temCode-factor2),26);%將解密后的ascii碼轉(zhuǎn)化為明文plaintextStr=char(temCode+97);%將明文設(shè)置到明文區(qū)域set(handles.plaintext,'String',plaintex

7、tStr)四.實(shí)驗(yàn)結(jié)果(包括程序、圖表、結(jié)論陳述、數(shù)據(jù)記錄及分析等)實(shí)驗(yàn)結(jié)果如下:對(duì)明文“plaintext”,參數(shù)1為11,參數(shù)2為6.進(jìn)行加密,得到“pxgqthyzh”圖1對(duì)明文plaintext進(jìn)行加密的結(jié)果然后先清空明文區(qū),對(duì)密文“pxgqthyzh”參數(shù)1為11,參數(shù)2為6,進(jìn)行解密,可以發(fā)現(xiàn)得到明文“plaintext”,如加密的明文一樣。證明該程序運(yùn)行正確。五.實(shí)驗(yàn)總結(jié)(包括對(duì)本實(shí)驗(yàn)的所有問題的回答、實(shí)驗(yàn)過程中發(fā)現(xiàn)的問題以及你的改進(jìn)辦法)在這次實(shí)驗(yàn)中,我深刻理解到了仿射密碼的加密解密原理,同時(shí)對(duì)于MATLAB來設(shè)計(jì)軟件界面更加熟練,也對(duì)于現(xiàn)

8、代密碼學(xué)這門科目有了初步的認(rèn)識(shí)和了解。總算能夠自己動(dòng)手去實(shí)現(xiàn)加密解

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。