關(guān)于加密解密你知道多少? 加密解密的方法詳解
發(fā)布時(shí)間:2012-06-28 15:31:06 作者:眼下的幸福
我要評(píng)論

我們來(lái)談?wù)劶用芎徒饷艿氖掳?/div>
;小時(shí)候做過(guò)這樣的事兒,寫日記的時(shí)候?yàn)榱酥蛔屪约嚎吹亩蛔屗丝吹亩?,就想了這樣辦法。
日記內(nèi)容: 我想255許1989喜歡201。知道這是什么意思么?呵呵通過(guò)一個(gè)很幼稚簡(jiǎn)單的算法來(lái)實(shí)現(xiàn)的。26個(gè)英文字母表和漢語(yǔ)字母的對(duì)照,很無(wú)聊吧,不過(guò)當(dāng)時(shí)感覺(jué)很神秘的(小孩的心思)。不管怎么說(shuō),這也算是知道什么是加密了,什么是解密了
一、加密、解密、算法之間的關(guān)系
把一段原始數(shù)據(jù)通過(guò)某種算法處理成另一種數(shù)據(jù)(原始數(shù)據(jù)為明文,處理后的數(shù)據(jù)為密文)。明文----->密文 稱之為加密;密文---->明文 稱之為解密;

所以對(duì)于加密、解密來(lái)講算法本身非常關(guān)鍵。但是算法是公開(kāi)的,一旦有些人想要破解這個(gè)算法,而且被破解了,則所有使用這個(gè)算法的產(chǎn)品的都要報(bào)廢了,(例如我上面的小日記,就無(wú)處躲藏了
),而且替換一個(gè)算法耗費(fèi)的資本也是很大的,畢竟找一個(gè)合適的算法也不是一件簡(jiǎn)單的事。因此一個(gè)加密出來(lái)的數(shù)據(jù)本身可靠與否,取決于密鑰,而不是算法,因?yàn)槊艽a的調(diào)換成本很低的。
二、什么是密鑰
密鑰是一種參數(shù),它是在明文-->密文或者密文-->明文的算法中輸入的數(shù)據(jù)。分為對(duì)稱密鑰、非對(duì)稱密鑰。
對(duì)稱密鑰加密:又稱私鑰加密,即發(fā)送方和接收方用同一個(gè)密鑰去加密和解密數(shù)據(jù)。優(yōu)勢(shì)是加密/解密速度快,適合于對(duì)大數(shù)據(jù)進(jìn)行加密,但是密鑰管理困難(因?yàn)橐l(fā)送給不同的接受者,肯定不能使用同樣的密鑰吧,若是接受者多,記密鑰就是一項(xiàng)艱巨的任務(wù)了)
非對(duì)稱密鑰加密:又稱公鑰加密。需要使用不同的密鑰來(lái)分別完成加密和解密操作。一個(gè)公開(kāi)發(fā)布,即公鑰;另一個(gè)由用戶自己秘密保存,即私鑰。發(fā)送方用對(duì)方的公鑰加密數(shù)據(jù),對(duì)方用自己的私鑰解密。缺點(diǎn)在于加密/解密的速度比對(duì)稱密鑰慢得多。
三、加密算法
對(duì)稱加密算法 公鑰加密算法 單向加密算法
1 對(duì)稱加密算法:與上面介紹的對(duì)稱密鑰加密原理是一樣的。

從圖中看到,發(fā)送方和接收方使用的是同一個(gè)密鑰,但是想過(guò)沒(méi)有,接收方如何獲得密鑰呢?打電話?發(fā)短信?還是寫信?應(yīng)該都不是吧,這樣哪里還有安全性可言?(下面的公鑰解密算法就可以解決這個(gè)問(wèn)題)
2 公鑰加密算法:與上面介紹的非對(duì)稱密鑰機(jī)密原理是一樣的。

從圖中看到,發(fā)送發(fā)和接收方使用的不是同一個(gè)密鑰,發(fā)送方使用接收方的公鑰進(jìn)行加密,接收方使用與之配對(duì)的私鑰進(jìn)行解密。整個(gè)傳送過(guò)程中,加密后的數(shù)據(jù)只用接收方自己可以解密,因?yàn)橹挥兴约簱碛兴借€。上面也介紹過(guò),此種加密的耗費(fèi)時(shí)間長(zhǎng),并不是一個(gè)理想的加密方式。
因此公鑰解密算法有兩個(gè)主要的功能:
1 實(shí)現(xiàn)密鑰的交換,在對(duì)稱加密算法中有這樣一個(gè)問(wèn)題,對(duì)方如何獲得密鑰,在這里就可以通過(guò)公鑰算法來(lái)實(shí)現(xiàn)。即用公鑰加密算法對(duì)密鑰進(jìn)行加密,再發(fā)送給對(duì)方就OK了
2 數(shù)字簽名。加密可以使用公鑰/私鑰,相對(duì)應(yīng)的就是使用私鑰/公鑰解密。因此若是發(fā)送方使用自己的私鑰進(jìn)行加密,則必須用發(fā)送方公鑰進(jìn)行解密,這樣就證明了發(fā)送方的真實(shí)性,起到了防抵賴的作用。
注意:公鑰(public key)是從私鑰(private key)中提取出來(lái)的
把對(duì)稱加密和公鑰加密糅合在一起,可以保證數(shù)據(jù)的機(jī)密性,來(lái)源的合法性。但是數(shù)據(jù)本身的完整性該如何解決呢?若是被非法截取,然后對(duì)數(shù)據(jù)亂改一通,破壞了數(shù)據(jù)的完整性,接收方又該如何判斷呢?
3 單向加密算法
準(zhǔn)確來(lái)說(shuō),單向加密算法并不是一種加密技術(shù),而是通過(guò)提取數(shù)據(jù)特征碼,來(lái)驗(yàn)證數(shù)據(jù)的完整性。
特征:
雪崩效應(yīng):任何微小的改變都會(huì)產(chǎn)生巨大的不同,也就是數(shù)據(jù)只要有一點(diǎn)改變,結(jié)果就會(huì)大不相同
定長(zhǎng)輸出:不論數(shù)據(jù)是多大的,提取的特征碼的長(zhǎng)度都是一樣的
上面的這三種算法,并不是獨(dú)立的,應(yīng)該說(shuō)糅合到一起使用。最終保證數(shù)據(jù)的可靠性、完整性、機(jī)密性以及來(lái)源的合法性。
接下來(lái)演示這個(gè)過(guò)程,小明---->小美發(fā)送數(shù)據(jù)《愛(ài)的表白》呵呵

小結(jié):提取特征碼是為了保證數(shù)據(jù)的完整性;用自己的私鑰加密是為了身份驗(yàn)證;用對(duì)方的公鑰加密保證了機(jī)密性,是有對(duì)方可以解密;
三種加密的基本算法到此就OK啦,我想應(yīng)該說(shuō)明白了 呵呵
日記內(nèi)容: 我想255許1989喜歡201。知道這是什么意思么?呵呵通過(guò)一個(gè)很幼稚簡(jiǎn)單的算法來(lái)實(shí)現(xiàn)的。26個(gè)英文字母表和漢語(yǔ)字母的對(duì)照,很無(wú)聊吧,不過(guò)當(dāng)時(shí)感覺(jué)很神秘的(小孩的心思)。不管怎么說(shuō),這也算是知道什么是加密了,什么是解密了
一、加密、解密、算法之間的關(guān)系
把一段原始數(shù)據(jù)通過(guò)某種算法處理成另一種數(shù)據(jù)(原始數(shù)據(jù)為明文,處理后的數(shù)據(jù)為密文)。明文----->密文 稱之為加密;密文---->明文 稱之為解密;

所以對(duì)于加密、解密來(lái)講算法本身非常關(guān)鍵。但是算法是公開(kāi)的,一旦有些人想要破解這個(gè)算法,而且被破解了,則所有使用這個(gè)算法的產(chǎn)品的都要報(bào)廢了,(例如我上面的小日記,就無(wú)處躲藏了

二、什么是密鑰
密鑰是一種參數(shù),它是在明文-->密文或者密文-->明文的算法中輸入的數(shù)據(jù)。分為對(duì)稱密鑰、非對(duì)稱密鑰。
對(duì)稱密鑰加密:又稱私鑰加密,即發(fā)送方和接收方用同一個(gè)密鑰去加密和解密數(shù)據(jù)。優(yōu)勢(shì)是加密/解密速度快,適合于對(duì)大數(shù)據(jù)進(jìn)行加密,但是密鑰管理困難(因?yàn)橐l(fā)送給不同的接受者,肯定不能使用同樣的密鑰吧,若是接受者多,記密鑰就是一項(xiàng)艱巨的任務(wù)了)
非對(duì)稱密鑰加密:又稱公鑰加密。需要使用不同的密鑰來(lái)分別完成加密和解密操作。一個(gè)公開(kāi)發(fā)布,即公鑰;另一個(gè)由用戶自己秘密保存,即私鑰。發(fā)送方用對(duì)方的公鑰加密數(shù)據(jù),對(duì)方用自己的私鑰解密。缺點(diǎn)在于加密/解密的速度比對(duì)稱密鑰慢得多。
三、加密算法
對(duì)稱加密算法 公鑰加密算法 單向加密算法
1 對(duì)稱加密算法:與上面介紹的對(duì)稱密鑰加密原理是一樣的。

從圖中看到,發(fā)送方和接收方使用的是同一個(gè)密鑰,但是想過(guò)沒(méi)有,接收方如何獲得密鑰呢?打電話?發(fā)短信?還是寫信?應(yīng)該都不是吧,這樣哪里還有安全性可言?(下面的公鑰解密算法就可以解決這個(gè)問(wèn)題)
2 公鑰加密算法:與上面介紹的非對(duì)稱密鑰機(jī)密原理是一樣的。

從圖中看到,發(fā)送發(fā)和接收方使用的不是同一個(gè)密鑰,發(fā)送方使用接收方的公鑰進(jìn)行加密,接收方使用與之配對(duì)的私鑰進(jìn)行解密。整個(gè)傳送過(guò)程中,加密后的數(shù)據(jù)只用接收方自己可以解密,因?yàn)橹挥兴约簱碛兴借€。上面也介紹過(guò),此種加密的耗費(fèi)時(shí)間長(zhǎng),并不是一個(gè)理想的加密方式。
因此公鑰解密算法有兩個(gè)主要的功能:
1 實(shí)現(xiàn)密鑰的交換,在對(duì)稱加密算法中有這樣一個(gè)問(wèn)題,對(duì)方如何獲得密鑰,在這里就可以通過(guò)公鑰算法來(lái)實(shí)現(xiàn)。即用公鑰加密算法對(duì)密鑰進(jìn)行加密,再發(fā)送給對(duì)方就OK了
2 數(shù)字簽名。加密可以使用公鑰/私鑰,相對(duì)應(yīng)的就是使用私鑰/公鑰解密。因此若是發(fā)送方使用自己的私鑰進(jìn)行加密,則必須用發(fā)送方公鑰進(jìn)行解密,這樣就證明了發(fā)送方的真實(shí)性,起到了防抵賴的作用。
注意:公鑰(public key)是從私鑰(private key)中提取出來(lái)的
把對(duì)稱加密和公鑰加密糅合在一起,可以保證數(shù)據(jù)的機(jī)密性,來(lái)源的合法性。但是數(shù)據(jù)本身的完整性該如何解決呢?若是被非法截取,然后對(duì)數(shù)據(jù)亂改一通,破壞了數(shù)據(jù)的完整性,接收方又該如何判斷呢?
3 單向加密算法
準(zhǔn)確來(lái)說(shuō),單向加密算法并不是一種加密技術(shù),而是通過(guò)提取數(shù)據(jù)特征碼,來(lái)驗(yàn)證數(shù)據(jù)的完整性。
特征:
雪崩效應(yīng):任何微小的改變都會(huì)產(chǎn)生巨大的不同,也就是數(shù)據(jù)只要有一點(diǎn)改變,結(jié)果就會(huì)大不相同
定長(zhǎng)輸出:不論數(shù)據(jù)是多大的,提取的特征碼的長(zhǎng)度都是一樣的
上面的這三種算法,并不是獨(dú)立的,應(yīng)該說(shuō)糅合到一起使用。最終保證數(shù)據(jù)的可靠性、完整性、機(jī)密性以及來(lái)源的合法性。
接下來(lái)演示這個(gè)過(guò)程,小明---->小美發(fā)送數(shù)據(jù)《愛(ài)的表白》呵呵

小結(jié):提取特征碼是為了保證數(shù)據(jù)的完整性;用自己的私鑰加密是為了身份驗(yàn)證;用對(duì)方的公鑰加密保證了機(jī)密性,是有對(duì)方可以解密;
三種加密的基本算法到此就OK啦,我想應(yīng)該說(shuō)明白了 呵呵
相關(guān)文章
- “CMOS密碼”就是通常所說(shuō)的“開(kāi)機(jī)密碼”,主要是為了防止別人使用自已的計(jì)算機(jī),設(shè)置的一個(gè)屏障2023-08-01
QQScreenShot之逆向并提取QQ截圖--OCR和其他功能
上一篇文章逆向并提取QQ截圖沒(méi)有提取OCR功能, 再次逆向我發(fā)現(xiàn)是可以本地調(diào)用QQ的OCR的,但翻譯按鈕確實(shí)沒(méi)啥用, 于是Patch了翻譯按鈕事件, 改為了將截圖用百度以圖搜圖搜索.2023-02-04- QQ截圖是我用過(guò)的最好用的截圖工具, 由于基本不在電腦上登QQ了, 于是就想將其提取出獨(dú)立版目前除了屏幕錄制功能其他都逆出來(lái)了, 在此分享一下2023-02-04
非系統(tǒng)分區(qū)使用BitLocker加密導(dǎo)致軟件無(wú)法安裝的解決方法
很多電腦用戶在考慮自己電腦磁盤分區(qū)安全時(shí)會(huì)采用 Windows 自帶的 BitLocker 加密工具對(duì)電腦磁盤分區(qū)進(jìn)行加密。但有些人加密后就會(huì)忘記自己設(shè)置的密碼從而導(dǎo)致在安裝其它軟2020-11-25防止離職員工帶走客戶、防止內(nèi)部員工泄密、避免華為員工泄密事件的發(fā)生
這篇文章為大家詳細(xì)介紹了如何才能防止離職員工帶走客戶、防止內(nèi)部員工泄密、避免華為員工泄密事件的發(fā)生,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-27徹底防止計(jì)算機(jī)泄密、重要涉密人員離職泄密、涉密人員離崗離職前防范舉
近些年企業(yè)商業(yè)機(jī)密泄漏的事件屢有發(fā)生,這篇文章主要教大家如何徹底防止計(jì)算機(jī)泄密、重要涉密人員離職泄密、告訴大家涉密人員離崗離職前的防范舉措,具有一定的參考價(jià)值,2017-06-27量子計(jì)算機(jī)輕松破解加密算法 如何破解加密算法?
最近有電腦用戶反應(yīng)量子計(jì)算機(jī)可以破解下載的所有的加密算法嗎?其實(shí)也不是不可以,下面虛擬就為大家講解買臺(tái)量子計(jì)算機(jī),如何分分鐘破解加密算法2016-09-26怎么破解Webshell密碼 Burpsuite破解Webshell密碼圖文教程
webshell是以asp、php、jsp或者cgi等網(wǎng)頁(yè)文件形式存在的一種命令執(zhí)行環(huán)境,一種網(wǎng)頁(yè)后門。黑客通常會(huì)通過(guò)它控制別人網(wǎng)絡(luò)服務(wù)器,那么怎么破解webshell密碼呢?一起來(lái)看看吧2016-09-19針對(duì)Linux系統(tǒng)全盤加密的啟動(dòng)攻擊
本文討論了針對(duì)Linux系統(tǒng)全盤加密的冷啟動(dòng)攻擊,大家都認(rèn)為這種攻擊是可行的,但執(zhí)行這么一次攻擊有多難?攻擊的可行性有多少呢?需要的朋友可以參考下2015-12-28防止泄露公司機(jī)密、企業(yè)數(shù)據(jù)防泄密軟件排名、電腦文件加密軟件排行
面對(duì)日漸嚴(yán)重的內(nèi)部泄密事件,我們?nèi)绾问刈o(hù)企業(yè)的核心信息,如何防止內(nèi)部泄密也就成了擺在各個(gè)企業(yè)領(lǐng)導(dǎo)面前的一大問(wèn)題。其實(shí),針對(duì)內(nèi)網(wǎng)安全,防止內(nèi)部信息泄漏早已有了比較2015-12-17