現(xiàn)代密碼學matlab仿射密碼實驗報告一.doc

現(xiàn)代密碼學matlab仿射密碼實驗報告一.doc

ID:59392123

大小:69.00 KB

頁數(shù):4頁

時間:2020-05-29

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

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

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

2、,在這部分功能的實現(xiàn)主要是對功能控件進行拖拉,matlab提供了比較簡易的工具,能是我們簡單地設計出軟件窗口。接下來是功能的實驗,先是加密功能的實現(xiàn),思路過程先將要加密的字母,轉(zhuǎn)化為ASCII碼,然后減去97,得到對于的數(shù)字。然后對數(shù)字進行加密,用e(x)=ax+b(mod26)公式去求出密文的數(shù)字,最后將加密后的數(shù)字加97,再轉(zhuǎn)化為字母,得到密文。詳細代碼如下: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)解密功能實現(xiàn)思路跟加密差不多,而且在代碼注釋中也已經(jīng)表達清楚,在這里不詳細嗎描述了。%解密函數(shù)functiondecode_Callback(hObject,eventdata,handles)%獲取密文ciphertex

5、t=get(handles.ciphertext,'String');%獲取兩個參數(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);%將明文設置到明文區(qū)域set(handles.plaintext,'String',plaintex

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

8、代密碼學這門科目有了初步的認識和了解??偹隳軌蜃约簞邮秩崿F(xiàn)加密解

當前文檔最多預覽五頁,下載文檔查看全文

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

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