資源描述:
《現(xiàn)代密碼學(xué)-古典密碼實(shí)驗(yàn)報(bào)告》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、現(xiàn)代密碼學(xué)賣殮報(bào)告院糸:理學(xué)院班級(jí):信安二班期名:學(xué)號(hào):■A.,,/,,a^=>刖s密碼學(xué)(Cryptology)是研究秘密通信的原理和破譯秘密信息的方法的一門學(xué)科。密碼學(xué)的基本技術(shù)就是對(duì)數(shù)據(jù)進(jìn)行一組可逆的數(shù)學(xué)變換,使未授權(quán)者不能理解它的真實(shí)含義。密碼學(xué)包括密碼編碼學(xué)(Cryptography)和密碼分析學(xué)(Cryptanalyst)兩個(gè)既對(duì)立又統(tǒng)一的主要分支學(xué)科。研究密碼變化的規(guī)律并用之于編制密碼以保護(hù)信息安全的科學(xué),稱為密碼編碼學(xué)。研究密碼變化的規(guī)律并用之于密碼以獲取信息情報(bào)的科學(xué),稱為密碼分析學(xué),也叫密碼破
2、譯學(xué)。密碼學(xué)在信息安全中占有非常重要的地位,能夠?yàn)樾畔踩峁╆P(guān)鍵理論與技術(shù)。密碼學(xué)是一門古老而深?yuàn)W的學(xué)問,按其發(fā)展進(jìn)程,經(jīng)歷了古典密碼和現(xiàn)代密碼學(xué)兩個(gè)階段。現(xiàn)代密碼學(xué)(ModernCryptology)通常被歸類為理論數(shù)學(xué)的一個(gè)分支學(xué)科,主要以可靠的數(shù)學(xué)方法和理論為基礎(chǔ),為保證信息的機(jī)密性、完整性、可認(rèn)證性、可控性、不可抵賴性等提供關(guān)鍵理論與技術(shù)。古典密碼算法實(shí)驗(yàn)在密碼編碼體制屮有兩種基木也是古老的編碼體制一肓沿用至今,它們是代替密碼和置換密碼,其歷史悠久并且是現(xiàn)代密碼體制的基本組成部分,在密碼學(xué)中占有重要地位
3、。古典密碼是密碼學(xué)發(fā)展的一個(gè)階段,也是近代密碼學(xué)產(chǎn)生的淵源,般把Shannon在1949年發(fā)表“保密系統(tǒng)的通信理論”Z前的時(shí)期稱為古典密碼時(shí)期。盡管古典密碼大多比較簡(jiǎn)單,—?般可卅手工或機(jī)械方式實(shí)現(xiàn),且都可川統(tǒng)計(jì)分析方法破譯,目前已很少釆用。但是,古典密碼所采用的代替技術(shù)和置換技術(shù)仍然是現(xiàn)代分組密碼算法設(shè)計(jì)的基礎(chǔ),了解它們的設(shè)計(jì)原理,有助于理解、設(shè)計(jì)和分析現(xiàn)代密碼。一、實(shí)驗(yàn)?zāi)康耐ㄟ^編程實(shí)現(xiàn)經(jīng)典的代替密碼算法和置換密碼,包扌舌移位密碼、維吉尼亞密碼、周期置換密碼、列宜換密碼,加深對(duì)代替技術(shù)的了解,為現(xiàn)代分組密碼實(shí)驗(yàn)
4、奠定基礎(chǔ)。二、實(shí)驗(yàn)原理代替(Substitution)是古典密碼中基本的處理技巧,就是將明文字母由其他字母表中的字母替換的一種方法。代替密碼(SubstitutionCipher)就是使用代替法進(jìn)行加解密的密碼算法。代替密碼的密鑰是一個(gè)替換表,它表示了明文字母與密文字母的對(duì)應(yīng)關(guān)系。加密時(shí),通過查表,明文字母被逐個(gè)替換后,住成看似無任何意義的字母串,即密文。解密時(shí),逆向使用替換表,將密文字母逐個(gè)替換為明文字母。按照一個(gè)明文字母是否總是被一個(gè)固定的字母代替進(jìn)行劃分,代替密碼可分為兩類:(1)單表代替密碼(Monoal
5、phabeticSubstitutionCipher):明文中出現(xiàn)的同—個(gè)字母,不管它出現(xiàn)在什么位置,在加密時(shí)都用和同的字母來代替。移位密碼就是單表代替密碼。(2)多表代替密碼(PolyalphabeticSubstitutionCipher):明文屮出現(xiàn)的同一個(gè)字母,在加密時(shí)不是完全被和同的字母代替,而會(huì)根據(jù)其出現(xiàn)的位置次序用不同的字母代替。維吉利亞密碼就是多表代替密碼。1?移位密碼移位密碼(ShiftCipher)是一種典型的單表替代密碼,也稱為加法密碼。移位密碼的加密方法就是將明文屮的每個(gè)字母用其在字母表麻
6、面的第k個(gè)字母替代,它的加密過程可以表示為:c=(m+k)modn其中,///為明文字母在字母表中的位置數(shù);n為字母表中的字母總數(shù);k為密鑰;c為密文字母在字母表中對(duì)應(yīng)的位置數(shù)。相應(yīng)的,移位密碼的解密過程可以表示為:m=(c-A)modn實(shí)驗(yàn)代碼:#include#includeusingnamespacestd;//定義一些全局變量charstr[100];//用J:存儲(chǔ)處理前字符串charenstr[100];//用于存儲(chǔ)處理后字符串intnum^O;//用于累計(jì)字符數(shù)量c
7、har*p;//用于指向處理字符串intkey;//加密voidencrypt(){wh訂e(*p!二'