密码学入门1——凯撒密码和三重DES加解密
發(fā)布時(shí)間:2023/12/10
65
豆豆
生活随笔
收集整理的這篇文章主要介紹了
密码学入门1——凯撒密码和三重DES加解密
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
| 實(shí)驗(yàn)?zāi)康?/strong> | 1、完成第一個(gè)入門加解密——?jiǎng)P撒密碼 2、完成當(dāng)下較為流行的三重DES加解密技術(shù) 3、熟悉所學(xué)的實(shí)際運(yùn)用方向 ? |
| 實(shí)驗(yàn)準(zhǔn)備 | 硬件:計(jì)算機(jī)或筆記本電腦 操作系統(tǒng):Mac操作系統(tǒng) IDE環(huán)境:Eclipse 程序語(yǔ)言:Java |
一、實(shí)驗(yàn)基本思想 入門密碼實(shí)現(xiàn)——凱撒密碼 ? ? ·原理:明文中所有字母都在字母表上向后(或向前)按照一個(gè)固定數(shù)目進(jìn)行偏移后被替換成密文。例如,當(dāng)偏移量是3的時(shí)候,所有的字母A將被替換成D,B變成E,以此類推。 ·缺陷:密鑰空間過(guò)小,一共只有26位字母的選擇,也就是說(shuō),其輪換的變化一共也僅有26種。 ·捷徑攻擊:可以通過(guò)頻率分析的方法,根據(jù)統(tǒng)計(jì)每一個(gè)密文字母出現(xiàn)的頻次,再結(jié)合英文實(shí)際的字母出現(xiàn)頻次,可以大幅地提升破解推測(cè)速度。 ? ? 2、三重DES算法 在課程學(xué)習(xí)中我們知道,隨著美國(guó)國(guó)密標(biāo)準(zhǔn)DES日漸衰微,其密鑰空間過(guò)小的弊病使得窮舉式攻擊變得容易。故而在DES算法的基礎(chǔ)上進(jìn)行改良的三重DES算法成為了較為優(yōu)秀的選擇。三重DES算法的本質(zhì)是將DES重復(fù)3次,從而大大提高密鑰空間,將原本56位的DES密鑰長(zhǎng)度,提高到56*3=168比特的3DES密鑰長(zhǎng)度。 tips:三重DES的本質(zhì)是執(zhí)行三次DES加密,那么就是【加密>加密>加密】嗎? 答案是否定的,三重加密的內(nèi)在是【加密>解密>加密】。而且值得注意的是,這里的三次加密解密操作的密鑰都是不同的! | 二、實(shí)驗(yàn)代碼 1、凱撒密碼 ? ? ? 2、三重DES算法 2.1密鑰生成和保存(對(duì)象序列和字節(jié)) ? ? ? 2.2對(duì)稱密鑰加密 ? 2.3 對(duì)稱密鑰解密 ? | 三、實(shí)驗(yàn)結(jié)果 1、凱撒密碼 ? ? 在Run Configuration中設(shè)置我們的參數(shù) “Hello World” 3 ? 運(yùn)行后,輸出加密后的密文 ? 回到run configuration界面,這次我們輸入“密文” -3 ? 運(yùn)行后,解密成功! ? ? 2、對(duì)稱密鑰加解密(以三重DES為例) 2.1 對(duì)象序列 編寫對(duì)稱加密代碼,運(yùn)行后,在文件夾下生成一個(gè)key1.dat文件。 ? ? 2.2 字節(jié)方式 運(yùn)行密鑰生成程序,我們可以看到密鑰的內(nèi)容: ? 生成了一個(gè)新的文件:keykb1.dat ? 運(yùn)行后,生成如下字節(jié)串。 ? ? 問(wèn)題:未能打印解密的Hello?World 通過(guò)代碼對(duì)比軟件,分析發(fā)現(xiàn)是UTF8習(xí)慣寫成UTF-8了,訂正后錯(cuò)誤解決。 ?? ?? ? | 四、實(shí)驗(yàn)總結(jié) ? 1、在進(jìn)行實(shí)驗(yàn)之前,再度回顧了關(guān)于對(duì)稱加密算法的基礎(chǔ)原理,發(fā)現(xiàn)又有了更為深刻的理解和認(rèn)識(shí)。 ·例如在凱撒密碼中,我原本以為只是字符+偏移量就能簡(jiǎn)單實(shí)現(xiàn),但是卻忽略了26個(gè)字母在a之前和z之后的輪轉(zhuǎn)問(wèn)題。 ·例如三重DES加密算法中,我們都知道本質(zhì)是進(jìn)行三次DES加密,但是三次加密不等于【加密>加密>加密】,而是【加密>解密>加密】。而且值得注意的是,這里的三次加密解密操作的密鑰都是不同的! ? ? 2、遇到問(wèn)題是常見(jiàn)的,重要的是解決問(wèn)題的方法。在沒(méi)有報(bào)錯(cuò)卻無(wú)法正常運(yùn)行的時(shí)候,我嘗試通過(guò)代碼比對(duì)工具,快速的找到了存在問(wèn)題的地方,相較于過(guò)去一行一行的檢查,更為快速和精確的定位到了錯(cuò)誤。 ? ? 3、最后說(shuō)到對(duì)密碼學(xué)和信息安全的好奇與樂(lè)趣,莫過(guò)于一部叫做《沒(méi)有絕對(duì)安全的系統(tǒng)》這部電影,介紹了密碼破譯原理、社會(huì)工程學(xué)、香腸攻擊、午餐攻擊等多個(gè)有趣的內(nèi)容,讓我第一次產(chǎn)生了對(duì)于黑客的好奇,也希望隨著后續(xù)學(xué)習(xí)的不斷深入,能夠揭開(kāi)密碼攻防的神秘面紗。 最后以電影中的一句話作為結(jié)束吧。 ? ? ? ? ? ? ? ? ? ? ? ? ?“每個(gè)人都只想看到他想看到的,而人類才是系統(tǒng)中最大的漏洞。” ? ? |
|
總結(jié)
以上是生活随笔為你收集整理的密码学入门1——凯撒密码和三重DES加解密的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。