版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第2講 密碼算法與編程,密碼學(xué)是一門古老而深奧的學(xué)科,對一般人來說是非常陌生的。長期以來,只在很小的范圍內(nèi)使用,如軍事、外交、情報等部門計算機密碼學(xué)是研究計算機信息加密、解密及其變換的科學(xué),是數(shù)學(xué)和計算機的交叉學(xué)科,也是一門新興的學(xué)科。目前已成為計算機安全主要的研究方向,第2講 密碼算法與編程,2.1 消息和加密2.2 古典密碼算法2.3 現(xiàn)代密碼算法2.4 編程實例,2.1 消息和加密,消息被稱為明文。用某種方法偽
2、裝消息以隱藏它的內(nèi)容的過程稱為加密,加了密的消息稱為密文,而把密文轉(zhuǎn)變?yōu)槊魑牡倪^程稱為解密,如圖表明了加密和解密的過程。,,2 .1 消息和加密,密碼算法是用于加密和解密的數(shù)學(xué)函數(shù)算法可以分為兩種策略以達(dá)到保密的效果1、算法本身保密(解密者可以購買其產(chǎn)品進(jìn)行解密)2、算法公開,使用密鑰,2 .1 消息和加密,加密和解密需要用到密碼算法公開密碼算法,保存密鑰,是通常的做法。密鑰用K表示。加密和解密運算都使用這個密鑰
3、,如圖所示,,有些算法使用不同的加密密鑰和解密密鑰,也就是說加密密鑰K1與相應(yīng)的解密密鑰K2不同,也稱為非對稱密碼算法、公鑰密碼算法,如圖所示。,,2.2 古典密碼算法,2.2.1.代碼加密 使用通信雙方預(yù)先設(shè)定的一組有確切含義的如日常詞匯、專有名詞、特殊用語等的代碼來發(fā)送消息一般只能用于傳送一組預(yù)先約定的消息,2.2 古典密碼算法,2.2.2.替換加密將明文字母表M中的每個字母替換成密文字母表C中的字母。這一類密碼包括移位密
4、碼、替換密碼、仿射密碼、乘數(shù)密碼、多項式代替密碼、密鑰短語密碼等。這種方法可以用來傳送任何信息,但安全性不及代碼加密。因為每一種語言都有其特定的統(tǒng)計規(guī)律,如英文字母中各字母出現(xiàn)的頻度相對基本固定,根據(jù)這些規(guī)律可以很容易地對替換加密進(jìn)行破解。典型的有凱撒密碼“愷撒密碼”,它是一種替代密碼,通過將字母按順序推后3位起到加密作用,如將字母A換作字母D,將字母B換作字母E,2.2 古典密碼算法,2.2.3.變位加密變位加密不隱藏明文的字符
5、,即明文的字母保持相同,但其順序被打亂重新排列成另一種不同的格式。 1)簡單變位加密。預(yù)先約定好一組數(shù)字表示密鑰,將文字依次寫在密鑰下,再按數(shù)字次序重新組織文字實現(xiàn)加密,也有人喜歡將明文逆序輸出作為密文。例如密鑰:5 2 4 1 6 3 (密文排列次序)明文:信息安全技術(shù)密文:技息全信術(shù)安,2.2 古典密碼算法,2)列變位法。 將明文字符分割成個數(shù)固定的分組(如5個一組,5即為密鑰?。?,按一組一行的次序整齊排列,最后
6、不足一組用任意字符填充,完成后按列讀取即成密文。 3)矩陣變位加密。 將明文中的字母按給定的順序安排在一個矩陣中,然后用另一種順序選出矩陣的字母來產(chǎn)生密文。一般為按列變換次序,如原列次序為1234,現(xiàn)為2413。,2.2 古典密碼算法,例如:明文Network Security按行排列在3×6矩陣中,如下所示:1 2 3 4 5 6N e t w o rk S e c ur I t y 給
7、定一個置換: ,根據(jù)給定的次序,按5、2、6、4、1、3的列序重新排列,得到:5 2 6 4 1 3o e r w N tc u e k S i y r t所以,密文為:oerwNtc uekS i yrt。解密過程正好相反,按序排列密文后,通過列置換再按行讀取數(shù)據(jù)即可。,2.2 古典密碼算法,2.2.4.一次性密碼簿加密 密碼簿每一頁都是不同的代碼表,可用一頁上的代碼來
8、加密一些詞,用后銷毀,再用另一頁加密另一些詞,直到全部的明文完成加密,破譯的唯一方法就是獲取一份相同的密碼簿。,2.3 現(xiàn)代密碼算法,流密碼是將明文劃分成字符(如單個字母),或其編碼的基本單元(如0、1數(shù)字),字符分別與密鑰流作用進(jìn)行加密,解密時以同步產(chǎn)生的同樣的密鑰流解密。流密碼的強度完全依賴于密鑰流序列的隨機性和不可預(yù)測性,其核心問題是密鑰流生成器的設(shè)計流密碼主要應(yīng)用于政府和軍事等國家要害部門。,2.3 現(xiàn)代密碼算法,分組對稱密
9、碼算法DES、AES、IDEA非對稱密碼算法RSA、ECC其他算法MD5、SHA-1,2.3 現(xiàn)代密碼算法,DES算法實現(xiàn)加密需要三個步驟:第一步:變換明文。對給定的64位比特的明文x,首先通過一個置換IP表來重新排列x,從而構(gòu)造出64位比特的x0,x0=IP(x)=L0R0,其中L0表示x0的前32比特,R0表示x0的后32位。第二步:按照規(guī)則迭代。規(guī)則為Li = Ri-1Ri = Li -1⊕f(Ri-1 ,Ki
10、) (i=1,2,3…16)經(jīng)過第一步變換已經(jīng)得到L0和R0的值,其中符號⊕表示的數(shù)學(xué)運算是異或,f表示一種置換,由S盒置換構(gòu)成,Ki 是一些由密鑰編排函數(shù)產(chǎn)生的比特塊。f和Ki將在后面介紹。,第三步:對L16R16利用IP-1作逆置換,就得到了密文y。加密過程如圖所示,,-1,2.3 現(xiàn)代密碼算法,RSA體制可以簡單描述如下:(1)、生成兩個大素數(shù)p和q。(2)、計算這兩個素數(shù)的乘積n=p×q。(3)、計算小于n
11、并且與n互質(zhì)的整數(shù)的個數(shù),即歐拉函數(shù)φ(n)=(p-1)(q-1)。(4)、選擇一個隨機數(shù)b滿足1<b<φ(n),并且b和φ(n)互質(zhì),即gcd(b, φ(n))=1。(5)、計算ab=1 mod φ(n)。(6)、保密a,p和q,公開n和b。,2.3 現(xiàn)代密碼算法,利用RSA加密時,明文以分組的方式加密:每一個分組的比特數(shù)應(yīng)該小于log2n比特。加密明文x時,利用公鑰(b, n)來計算c=xb mod n就可以得到相
12、應(yīng)的密文c。解密的時候,通過計算ca mod n就可以恢復(fù)出明文x。選取的素數(shù)p和q要足夠大,從而乘積n足夠大,在事先不知道p和q的情況下分解n是計算上不可行的。常用的公鑰加密算法包括:RSA密碼體制、ElGamal密碼體制和散列函數(shù)密碼體制(MD4、MD5等)。,2.4 編程實例,以古典密碼算法中的凱撒密碼為例,編寫程序?qū)崿F(xiàn)對文字信息的加密和解密過程。主要實現(xiàn)5個功能: 1、從可視化界面輸入待加密的文字信息 2、進(jìn)
13、行凱撒加密 3、將加密后的信息顯示在界面中 4、進(jìn)行凱撒解密 5、將解密后的信息顯示在界面中,2.4 編程實例,“愷撒密碼”通過將字母按順序推后3位實現(xiàn)加密,如將字母A換作字母D,將字母B換作字母E。反之即為解密。,2.4 編程實例,編程過程視頻 1 , 2實驗基本要求 擴展凱撒密碼: 從可視化界面輸入密鑰,實現(xiàn)加解密高級要求(選做): 1、密文必須為英文字符,不能亂碼 2、選擇任
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 凱撒密碼--c語言實現(xiàn)
- 密碼概論與私鑰密碼算法
- 公鑰密碼與序列密碼的算法研究.pdf
- 分組密碼算法和流密碼算法的安全性分析.pdf
- 祖沖之序列密碼算法(zuc算法)
- 密碼算法與協(xié)議簡化設(shè)計.pdf
- 現(xiàn)代密碼算法分析與研究.pdf
- 密碼算法研究平臺.pdf
- 分組密碼算法的研究與設(shè)計.pdf
- 密碼與口令的區(qū)別,密碼、口令與安全
- 密碼算法測試平臺.pdf
- 混沌密碼與傳統(tǒng)密碼的比較研究及密碼應(yīng)用.pdf
- 無證書的密碼算法和代理密碼算法的設(shè)計及分析.pdf
- 生命密碼聯(lián)合密碼
- 密碼算法的組件設(shè)計與分析.pdf
- RSA密碼算法的研究與實現(xiàn).pdf
- RSA密碼算法的改進(jìn)與實現(xiàn).pdf
- 門限密碼體制與新型密碼體制研究.pdf
- 基于FPGA的密碼算法實現(xiàn)與應(yīng)用.pdf
- RSA密碼算法的研究與快速實現(xiàn).pdf
評論
0/150
提交評論