資源描述:
《加解密體系介紹》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、加解密1.概述22.加密算法32.1.對(duì)稱加密32.1.1.概述32.1.2.常用算法42.1.3.優(yōu)缺點(diǎn)42.2.非對(duì)稱加密52.2.1.概述52.2.2.常用算法72.2.3.優(yōu)缺點(diǎn)71.數(shù)字摘要82.數(shù)字簽名92.1.概述92.2.主要功能112.3.原理特點(diǎn)122.4.流程示例14加解密加密,是以某種特殊的算法改變?cè)械男畔?shù)據(jù),使得未授權(quán)的用戶即使獲得了已加密的信息,但因不知解密的方法,仍然無(wú)法了解信息的內(nèi)容?加密之所以安全,絕非因不知道加密解密算法方法,而是加密的密鑰是絕對(duì)的隱藏,現(xiàn)在流行的RSA和AES加密算法都是完全公開(kāi)的,一方取得已加密的
2、數(shù)據(jù),就算知道加密算法也好,若沒(méi)有加密的密鑰,也不能打開(kāi)被加密保護(hù)的信息。單單隱蔽加密算法以保護(hù)信息,在學(xué)界和業(yè)界已有相當(dāng)討論,一般認(rèn)為是不夠安全的。公開(kāi)的加密算法是給黑客和加密家長(zhǎng)年累月攻擊測(cè)試,對(duì)比隱蔽的加密算法要安全得多。2?加密算法加密算法可以分為兩類:對(duì)稱加密和非對(duì)稱加密。24對(duì)稱加密2.1.1?概述采用單鑰密碼系統(tǒng)的加密方法,同一個(gè)密鑰可以同時(shí)用作信息的加密和解密,這種加密方法稱為對(duì)稱加密,也稱為單密鑰加密。需要對(duì)加密和解密使用相同密鑰的加密算法。由于其速度快,對(duì)稱性加密通常在消息發(fā)送方需要加密大量數(shù)據(jù)時(shí)使用。對(duì)稱性加密也稱為密鑰加密。所謂對(duì)稱
3、,就是采用這種加密方法的雙方使用方式用同樣的密鑰進(jìn)行加密和解密。密鑰是控制加密及解密過(guò)程的指令。算法是一組規(guī)則,規(guī)定如何進(jìn)行加密和解密。因此加密的安全性不僅取決于加密算法本身,密鑰管理的安全性更是重要。因?yàn)榧用芎徒饷芏际褂猛粋€(gè)密鑰,如何把密鑰安全地傳遞到解密者手上就成了必須要解決的問(wèn)題。242?常用算法在對(duì)稱加密算法中常用的算法有:DES、3DES、TDEA、Blowfish、RC2.RC4、RC5、IDEA、SKIPJACK.AES等。不同算法的實(shí)現(xiàn)機(jī)制不同,可參考對(duì)應(yīng)算法的詳細(xì)資料。243?優(yōu)缺點(diǎn)對(duì)稱加密算法的優(yōu)點(diǎn)是算法公開(kāi)、計(jì)算量小、加密速度快、加
4、密效率高。對(duì)稱加密算法的缺點(diǎn)是在數(shù)據(jù)傳送前,發(fā)送方和接收方必須商定好秘鑰,然后使雙方都能保存好秘鑰。其次如果一方的秘鑰被泄露,那么加密信息也就不安全了。另外,每對(duì)用戶每次使用對(duì)稱加密算法時(shí),都需要使用其他人不知道的唯一秘鑰,這會(huì)使得收、發(fā)雙方所擁有的鑰匙數(shù)量巨大,密鑰管理成為雙方的負(fù)擔(dān)。22非對(duì)稱加密221?概述對(duì)稱加密算法在加密和解密時(shí)使用的是同一個(gè)秘鑰;而非對(duì)稱加密算法需要兩個(gè)密鑰來(lái)進(jìn)行加密和解密,這兩個(gè)秘鑰是公開(kāi)密鑰(publickey,簡(jiǎn)稱公鑰)和私有密鑰(privatekey,簡(jiǎn)稱私鑰與對(duì)稱加密算法不同,非對(duì)稱加密算法需要兩個(gè)密鑰:公開(kāi)密鑰(p
5、ublickey)和私有密鑰(privatekey公開(kāi)密鑰與私有密鑰是一對(duì),如果用公開(kāi)密鑰對(duì)數(shù)據(jù)進(jìn)行加密,只有用對(duì)應(yīng)的私有密鑰才能解密;如果用私有密鑰對(duì)數(shù)據(jù)進(jìn)行加密,那么只有用對(duì)應(yīng)的公開(kāi)密鑰才能解密。因?yàn)榧用芎徒饷苁褂玫氖莾蓚€(gè)不同的密鑰,所以這種算法叫作非對(duì)稱加密算法。如上圖所示,甲乙之間使用非對(duì)稱加密的方式完成了重要信息的安全傳輸。1.乙方生成一對(duì)密鑰(公鑰和私鑰)并將公鑰向其它方公開(kāi)。2?得到該公鑰的甲方使用該密鑰對(duì)機(jī)密信息進(jìn)行加密后再發(fā)送給乙方O3.乙方再用自己保存的另一把專用密鑰(私鑰)對(duì)加密后的信息進(jìn)行解密。乙方只能用其專用密鑰(私鑰)解密由對(duì)
6、應(yīng)的公鑰加密后的信息。在傳輸過(guò)程中,即使攻擊者截獲了傳輸?shù)拿芪?,并得到了乙的公鑰,也無(wú)法破解密文,因?yàn)橹挥幸业乃借€才能解密密文。同樣,如果乙要回復(fù)加密信息給甲,那么需要甲先公布甲的公鑰給乙用于加密,甲自己保存甲的私鑰用于解密。2.2.2.常用算法在非對(duì)稱加密中使用的主要算法有:RSA、Elgamak背包算法、Rabin、D-H、ECC(橢圓曲線加密算法)等。2.2.3.優(yōu)缺點(diǎn)非對(duì)稱加密與對(duì)稱加密相比,其安全性更好:對(duì)稱加密的通信雙方使用相同的秘鑰,如果一方的秘鑰遭泄露,那么整個(gè)通信就會(huì)被破解。而非對(duì)稱加密使用一對(duì)秘鑰,一個(gè)用來(lái)加密,一個(gè)用來(lái)解密,而且公鑰是
7、公開(kāi)的,秘鑰是自己保存的,不需要像對(duì)稱加密那樣在通信之前要先同步秘鑰。非對(duì)稱加密的缺點(diǎn)是加密和解密花費(fèi)時(shí)間長(zhǎng)、速度慢,只適合對(duì)少量數(shù)據(jù)進(jìn)行加密。一般來(lái)說(shuō),非對(duì)稱加密是用來(lái)處理短消息的,而相對(duì)于較長(zhǎng)的消息則顯得有些吃力。當(dāng)然,可以將長(zhǎng)的消息分成若干小段,然后再分別簽名。不過(guò),這樣做非常麻煩,而且會(huì)帶來(lái)數(shù)據(jù)完整性的問(wèn)題。比較合理的做法是在數(shù)字簽名前對(duì)消息先進(jìn)行數(shù)字摘要。不同算法的實(shí)現(xiàn)機(jī)制不同,可參考對(duì)應(yīng)算法的詳細(xì)資料。3?數(shù)字摘要數(shù)字摘要是將任意長(zhǎng)度的消息變成定長(zhǎng)度的短消息,它類似于一個(gè)自變量是消息的函數(shù),也就是Hash函數(shù)。數(shù)字摘要就是采用單項(xiàng)Hash函數(shù)將
8、需要加密的明文“摘要”成一串固定長(zhǎng)度(128位)的密文這一串密文又