版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、結(jié)合編程實例說明計算機(jī)加密的原理和方法班級:學(xué)號:姓名:報告日期:2013年口月27日1、基礎(chǔ)知識介紹無論是網(wǎng)絡(luò)傳輸中使用的安全傳輸協(xié)議,還是安全手段或安全措施,它們都需要使用加密算法和相應(yīng)的解密算法。不了解與此相關(guān)的加密原理和算法,就很難深刻地認(rèn)識各種安全傳輸協(xié)議,以及實現(xiàn)網(wǎng)絡(luò)安全所采用的數(shù)字憑證、數(shù)字簽名等技術(shù)。密碼學(xué)是一門古老而深奧的學(xué)科,對一般人來說是非常陌生的。長期以來,只在很小的范圍內(nèi)使用,如軍事、外交、情報等部門。計算機(jī)密碼學(xué)是研究計算機(jī)信息加密、解密及其變換的科學(xué),是數(shù)學(xué)和計算機(jī)的交叉學(xué)科,也是一門新興的學(xué)科。隨著計算機(jī)網(wǎng)絡(luò)和計算機(jī)通訊技術(shù)的發(fā)展,計算機(jī)密碼學(xué)得到前所未有的重視
2、并迅速普及和發(fā)展起來。在國外,它已成為計算機(jī)安全主要的研究方向。密碼學(xué)的歷史比較悠久,在四千年前,古埃及人就開始使用密碼來保密傳遞消息。兩千多年前,羅馬國王JuliusCaesare(愷撒)就開始使用目前稱為“愷撒密碼的密碼系統(tǒng)。但是密碼技術(shù)直到本20世紀(jì)40年代以后才有重大突破和發(fā)展。特別是20世紀(jì)70年代后期,由于計算機(jī)、電子通信的廣泛使用,現(xiàn)代密碼學(xué)得到了空前的發(fā)展。加密算法包括:對稱加密算法、公開密鑰算法和DES對稱加密算法。二、計算機(jī)加密基本原理和方法(1)對稱加密算法基于密鑰的算法通常有兩類:對稱算法和公開密鑰算法(非對稱算法)。對稱算法有時又叫傳統(tǒng)密碼算法,加密密鑰能夠從解密密鑰
3、中推算岀來,反過來也成立。在大多數(shù)對稱算法中,加解密的密鑰是相同的。對稱算法要求發(fā)送者和接收者在安全通信之前,協(xié)商一個密鑰。對稱算法的安全性依賴于密鑰,泄漏密鑰就意味著任何人都能對消息進(jìn)行加解密。對稱算法的加密和解密表示為:EK(M)=CDK(C)=M(2)密鑰加密算法公開密鑰算法(非對稱算法)的加密的密鑰和解密的密鑰不同,而且解密密鑰不能根據(jù)加密密鑰計算出來,或者至少在可以計算的時間內(nèi)不能計算岀來。之所以叫做公開密鑰算法,是因為加密密鑰能夠公開,即陌生者能用加密密鑰加密信息,但只有用相應(yīng)的解密密鑰才能解密信息。加密密鑰叫做公開密鑰(簡稱公鑰),解密密鑰叫做私人密鑰(簡稱私鑰)。公開密鑰K1加
4、密表示為:EK1(M)=Co公開密鑰和私人密鑰是不同的,用相應(yīng)的私人密鑰K2解密可表示為:DK2(C)=Mo(3)凱撒密碼算法原理洛密碼學(xué)中存在著各種各樣的置換方式,但所有不同的置換方式都包含2個相同的元素。密鑰和協(xié)議(算法)。凱撒密碼的密鑰是3,算法是將普通字母表中的字母用密鑰對應(yīng)的字母替換。置換加密的優(yōu)點就在于它易于實施卻難于破解.發(fā)送方和接收方很容易事先商量好一個密鑰,然后通過密鑰從明文中生成密文,即是敵人若獲取密文,通過密文直接猜測其代表的意義,在實踐中是不可能的。凱撒密碼的加密算法極其簡單。其加密過程如下:在這里,我們做此約定:明文記為密文記為c,加密變換記為E(kl,m)(其中kl
5、為密鑰),解密變換記為D(k2,m)(k2為解密密鑰)(在這里kl=k2,不妨記為k)。凱撒密碼的加密過程可記為如下一個變換:c=m+kmodn(其中n為基本字符個數(shù))同樣,解密過程可表示為:m=c+kmodn(其中n為基本字符個數(shù))對于計算機(jī)而言,n可取256或128,m、k、c均為一個8bit的二進(jìn)制數(shù)。顯然,這種加密算法極不安全,即使采用窮舉法,最多也只要255次即可破譯。當(dāng)然,究其本身而言,仍然是一個單表置換,因此,頻率分析法對其仍是有效的。方法:愷撒密碼的替換方法是通過排列明文和密文字母表,密文字母表示通過將明文字母表向左或向右移動一個固定數(shù)目的位置。例如,當(dāng)偏移量是左移3的時候(解
6、密時的密鑰就是3):明文字母表:ABCDEFGHIJKLMNOPQRSTUVWXYZ密文字母表:DEFGHIJKLMNOPQRSTUVWXYZABC使用時,加密者查找明文字母表中需要加密的消息中的每一個字母所在位置,并且寫下密文字母表中對應(yīng)的字母。需要解密的人則根據(jù)事先已知的密鑰反過來操作,得到原來的明文。例如:明文:THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG密文:WKHTXLFNEURZQIRAMXPSVRYHUWKHODCBGRJ愷撒密碼的加密、解密方法還能夠通過同余數(shù)的數(shù)學(xué)方法進(jìn)行計算。首先將字母用數(shù)字代替,A=0,B二1,,Z=25o此時偏移量為n的加密方法
7、即為:E(x)=(x+n)mod2解密就是:D(x)=(x-n)mod23、環(huán)境介紹編程語言C語言/JAVA編譯環(huán)境MicrosoftVisualStudio20008/eclipse操作系統(tǒng)Windows,4、實例說明算機(jī)加密的原理和方法實例止利用對稱加密算法對“1234567進(jìn)行加密,并進(jìn)行解密程序源代碼:#include/DES加密算法C語言實現(xiàn)classSubKey定義手密鑰為一個類public:intkey;subkey16);/定義子密鑰對象數(shù)組classDESintencipher_decipher;/判斷加密還是解密intkey_in8ji8;/用戶原始輸入的64位二進(jìn)制數(shù)in
8、tkey_out87;/除去每行的最后一位校驗位intc0_d087;/存儲經(jīng)PCJ轉(zhuǎn)換后的56位數(shù)據(jù)intc07,d04;分別存儲cO,dOinttext88;/64位明文inttext_ip;/經(jīng)IP轉(zhuǎn)換過后的明文intA月;A,B分別存儲經(jīng)IP轉(zhuǎn)換過后明文的兩部分,便于交換inttemp86;/存儲經(jīng)擴(kuò)展置換后的48位二進(jìn)制值inttempl86;/存儲和子密鑰異或后的結(jié)果ints_result;存儲經(jīng)S變換后的32位值inttext_p84;/經(jīng)P置換后的32位結(jié)果intsecretp88;/經(jīng)逆IP轉(zhuǎn)換后的密文public:voidKey_Putting();voidPC_1();i
9、ntfunction(int,int);異或voidSubKey_Production();voidIP_Convert();voidf();voidP_Convert();voidOut_secret();;_voidDES:Key_Putting()/得到密鑰中對算法有用的56位cout“請輸入64位的密鑰亍8列且每行都得有奇數(shù)個l):n;for(inti=0;i8;i+)for(intj=0;jkey_iif(j!=7)key_outi0=key_ini0;運(yùn)行結(jié)果分析試對“1234567進(jìn)行加密,再將其解密:輸入1234567:33DbugTsctl.x-oInpcaet:KPlMne
10、oxfcI1230)out.write(buffer,0,r);cis.close();is.close();out.close();/*文件采用DES算法解密文件*paramfile*己加密的文件如C:/加密后文件.txt*paramdestFile*解密后存放的文件名如c:/test/解密后文件.txt*/publicvoiddecryptFile(Stringfile,Stringdest)throwsExceptionCiphercipher=Cipher.getlnstanee(DES);cipher.init(Cipher.DECRYPT_MODE,this.key);Inputs
11、treamis=newFilelnputStream(file);Outputstreamout=newFileOutputStream(dest);CipherOutputStreamcos=newCipherOutputStream(out,cipher);bytebuffer=newbyte1024;intr;while(r=is.read(buffer)=0)cos.write(buffer,0,r);cos.close();out.close();is.close();publicstaticvoidmain(Stringargs)throwsExceptionDESUtildes=
12、newDESUtil(1234567);/DES加密文件/des.encryptFile(G:/test.doc,G:/加密test.doc);/DES解密文件/des.decryptFile(G:/加密test.doc,G:/解密test.doc);Stringstri=“要加密的字符串test;/DES加密字符串Stringstr2=des.encryptStr(strl);運(yùn)行結(jié)果分析試對公開密鑰1234567進(jìn)行加密,再將其解密:輸入公開密鑰1234567::InputVJLrtoxt;=匸刁etuQTet1exoFi.9Gammrxa22./DES解密字符串StringdeStr=d
13、es.decryptStr(str2);System,out.println(加密前System,out.println(加密后System,out.println(11解密后+strl);+str2);+deStr);輸入公開密鑰2234567的密文pqrstuv:回車后岀現(xiàn)解密后的明文1234567:實例3:利用公開加密算法對T234567進(jìn)行加密,并進(jìn)行解密源程序代碼#includevoidmain()charp1000;charc1000;intkey,m;key=5;/*定義一個移位個數(shù)為5,即加密向右移5位,解密則相反*/printf(HpleaseinputthePlaintex
14、t:n“);gets(p);/*讀取字符串,直至接受到換行符停止,并將讀取的結(jié)果存放在p1000中。換行符不作為讀取串的內(nèi)容,讀取的換行符被轉(zhuǎn)換為null值,并由此來結(jié)束字符串。*/for(i=0;pi!=0;i+)ci=(pi-,a,+key)%26+,a,;/*加密算法,所有明文符號由向右移5位的密文代替*/ci=O;printf(theCiphertextis:n%sn,c);/*輸岀加密后的密文*/printf(npleaseinputtheCiptertext:rT);gets(c);/*讀取字符串,直至接受到換行符停止,并將讀取的結(jié)果存放在c1000中。換行符不作為讀取串的內(nèi)容,讀
15、取的換行符被轉(zhuǎn)換為null值,并由此來結(jié)束字符串。7for(i=0;ci!=0;i+)pi=,z,-(,z+key-ci)%26;廣解密算法,所有明文符號由向左移5位的明文代替*/pi=、O:printf(thePlaintextis:n%sn,p);/*輸出解密后的明文*/return;運(yùn)行結(jié)果分析試對明文security進(jìn)行加密,再將其解密:輸入明文security:T*l*dLr;:ouib*1-tzy回車后,輸出加密后的密文:xjhzwnyd3P%DbugVTxtlexypleaseinputthePlaintext:securitytheCiphertextis:xjhzwnydpleaseinputtheCiptertext:輸入security的密文xjhzwnycT:回車后出現(xiàn)解密后的明文security:S3HD:DebugText1.exeHpLeaseinputthePext:secuT-itsPticCiplicrtext=DKjhzwnsFdpLeaseinputtheCipter-text:”3hzwnithePlaintextis:secuT-itciPvessanykeyfzocontinue5、總結(jié)分析丄學(xué)鬲必過一學(xué)期的對于信息安全概論課程的學(xué)習(xí),我對于信息安全
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 炒黃豆教案反思
- 編織教案反思
- 氧化碳性質(zhì)說課稿
- 深度學(xué)習(xí)及自動駕駛應(yīng)用 課件全套 第1-10章 汽車自動駕駛技術(shù)概述 -強(qiáng)化學(xué)習(xí)理論及自動駕駛應(yīng)用實踐
- 汽車燈光應(yīng)急
- 檢驗科應(yīng)急演練
- 度假村自建房施工合同樣本
- 礦業(yè)安全規(guī)則承諾書
- 城市公園化糞池維修協(xié)議
- 管道安裝清包工施工合同
- GB/T 44692.2-2024危險化學(xué)品企業(yè)設(shè)備完整性第2部分:技術(shù)實施指南
- 學(xué)位英語4000詞(開放大學(xué))
- 項目式學(xué)習(xí)在小學(xué)英語教學(xué)中的應(yīng)用與研究
- 期中測試卷(試題)-2024-2025學(xué)年數(shù)學(xué)六年級上冊北師大版
- 弘揚(yáng)偉大長征精神-走好今天的長征路課件
- GB 15740-2024汽車防盜裝置
- 供應(yīng)鏈安全培訓(xùn)教材課件
- 2024年中職高考數(shù)學(xué)計算訓(xùn)練 專題15 圓錐曲線的基本計算(含答案解析)
- 銀行運(yùn)鈔駕駛員考核辦法
- 10.1文化自信與文明交流互鑒【中職專用】高一思想政治《中國特色社會主義》(高教版2023基礎(chǔ)模塊)
- 多重耐藥菌 課件
評論
0/150
提交評論