色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          "); //-->

          博客專(zhuān)欄

          EEPW首頁(yè) > 博客 > 加解密你了解多少

          加解密你了解多少

          發(fā)布人:zyyyy05063 時(shí)間:2024-07-30 來(lái)源:工程師 發(fā)布文章

          加密解密你了解多少?

          這個(gè)題目一寫(xiě)出來(lái),筆者自己也思考了下自己在以前職業(yè)生涯中涉及到的加密解密技術(shù),也思考了自己熟知的公知度高的幾種加密方式。

          下面我來(lái)說(shuō)說(shuō)一些理解上的東西。

          加密解密中間參與的是一個(gè)算法,有這個(gè)算法規(guī)律你才可以將簡(jiǎn)單的語(yǔ)言或者數(shù)據(jù)轉(zhuǎn)換成只有了解此算法的人才能看懂才能知道其本身含義的語(yǔ)言或者是數(shù)據(jù),你做的這部分工作其實(shí)就是在加密,別人理解的過(guò)程就是解密。
           圖1.jpg

          定義:把一段原始數(shù)據(jù)通過(guò)某種算法處理成另外一種數(shù)據(jù)(原始數(shù)據(jù)為明文,處理后的數(shù)據(jù)為密文)。明文->密文:稱(chēng)之為加密。密文->明文:稱(chēng)之為解密。

          從圖中可以了解到對(duì)于加密、解密來(lái)講算法是非常關(guān)鍵。但是公知度高的算法都是公開(kāi)的,一旦有人想要pojie這個(gè)算法,而且能夠被pojie了,則所有使用這個(gè)算法的產(chǎn)品都面臨要報(bào)廢、被daoban的危機(jī)。而且很多的時(shí)候做過(guò)開(kāi)發(fā)的人就知道,替換一個(gè)算法的成本很大。因此一個(gè)加密出來(lái)的數(shù)據(jù)本身可靠與否,取決于密鑰,而不是算法,因?yàn)槊荑€的調(diào)換成本比較低。

          那么問(wèn)題來(lái)了,什么是密鑰呢?

          密鑰是一種參數(shù),它是在明文->密文或密文->明文的算法中輸入的數(shù)據(jù)。分為對(duì)稱(chēng)密鑰,非對(duì)稱(chēng)密鑰。

          顧名思義,對(duì)稱(chēng)加密又稱(chēng)為私鑰加密,發(fā)送方和接收方使用同一個(gè)密鑰區(qū)加密解密數(shù)據(jù)。優(yōu)勢(shì)是加解密速度快適合于對(duì)大數(shù)據(jù)進(jìn)行加密。但是密鑰管理困難。

          非對(duì)稱(chēng)加密:又稱(chēng)公鑰加密。需要使用不同的密鑰來(lái)分別完成加密和解密操作。其中一個(gè)密鑰公開(kāi)發(fā)布,即為公鑰。另一個(gè)由用戶(hù)自己秘密保存,即為私鑰。發(fā)送方用對(duì)方的公鑰加密數(shù)據(jù),對(duì)方用自己的私鑰解密數(shù)據(jù)。缺點(diǎn)在于加密解密的速度比對(duì)稱(chēng)密鑰慢很多。

          關(guān)于算法這塊現(xiàn)在也就上面提到的對(duì)稱(chēng)和非對(duì)稱(chēng)兩類(lèi)。在此簡(jiǎn)單闡述下。對(duì)稱(chēng)算法,即單向加密算法。

          對(duì)稱(chēng)算法:

           圖片2.png
           

          對(duì)稱(chēng)算法的缺點(diǎn)其實(shí)是很明顯的,因?yàn)槠浼用芙饷苁褂玫亩际窍嗤拿荑€,那么在整個(gè)過(guò)程中密鑰存儲(chǔ)的安全性這塊就需要好好考量方案。優(yōu)點(diǎn)前面也說(shuō)過(guò)了,在此不累述。

          非對(duì)稱(chēng)算法:

          圖片3.png
           

          從圖中可以看到加密和解密用到的不是同一個(gè)密鑰,發(fā)送方使用接收方的公鑰進(jìn)行加密,接收方使用與之配合的私鑰進(jìn)行解密,整個(gè)傳送過(guò)程中,加密后的數(shù)據(jù)只用接收方自己可以解密,因?yàn)橹挥兴约簱碛兴借€。

          相對(duì)來(lái)說(shuō)非對(duì)稱(chēng)算法比較安全,但是在實(shí)際使用中總歸是要考慮很多的情況,權(quán)衡所有的條件。因?yàn)闅w根結(jié)底沒(méi)有哪種算法是絕對(duì)安全絕對(duì)完美的,所以讀者可以在自己的產(chǎn)品保密方案中涉及到幾種算法。

          舉個(gè)簡(jiǎn)單的例子:你可以把要傳遞給接收方的線(xiàn)路加密對(duì)稱(chēng)秘鑰,用對(duì)非稱(chēng)算法加密以密文的方式傳遞給接收方,用公鑰/私鑰加密,相對(duì)應(yīng)的就是私鑰/公鑰解密。線(xiàn)路數(shù)據(jù)加密可以使用對(duì)稱(chēng)算法加密數(shù)據(jù)。

          把對(duì)稱(chēng)算法和非對(duì)稱(chēng)算法糅合到一起,可以保證數(shù)據(jù)的機(jī)密性,來(lái)源的合法性。但是數(shù)據(jù)本身的完整性又該如何解決?若是有非法截取,然后亂修改一通,破壞數(shù)據(jù)的完整性接收方又該如何判斷呢?

          此問(wèn)題的提出就涉及到了另外一種加密算法,即單項(xiàng)加密算法。準(zhǔn)確來(lái)說(shuō),單向加密算法并不是一種加密技術(shù),而是通過(guò)提取數(shù)據(jù)特征碼,來(lái)驗(yàn)證數(shù)據(jù)的完整性。在單項(xiàng)算法的設(shè)計(jì)上需要考慮的兩個(gè)因素:雪崩現(xiàn)象和定長(zhǎng)特征。雪崩現(xiàn)象:任何微小的變動(dòng)都可以導(dǎo)致結(jié)果發(fā)生巨大的變化。定長(zhǎng)特征:不論數(shù)據(jù)本身多長(zhǎng),提取的特征碼的長(zhǎng)度都是固定的。

          上面提到的這三種算法如果讀者在設(shè)計(jì)思路中有考慮并糅合在實(shí)際中使用。最終保證數(shù)據(jù)的完整性,可靠性,機(jī)密性以及來(lái)源的合法性。希望這篇整理能對(duì)于讀者在理解算法的概念上有些幫助!


          *博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



          關(guān)鍵詞: 加密

          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉