1.分類(lèi)
加密算法首先分為兩種:?jiǎn)蜗蚣用堋㈦p向加密。
單向加密是不可逆的,也就是只能加密,不能解密。通常用來(lái)傳輸類(lèi)似用戶名和密碼,直接將加密后的數(shù)據(jù)提交到后臺(tái),因?yàn)楹笈_(tái)不需要知道用戶名和密碼,可以直接將收到的加密后的數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)。
雙向加密算法通常分為對(duì)稱性加密算法和非對(duì)稱性加密算法,對(duì)于對(duì)稱性加密算法,信息接收雙方都需事先知道密匙和加解密算法且其密匙是相同的,之后便是對(duì)數(shù)據(jù)進(jìn)行 加解密了。非對(duì)稱算法與之不同,發(fā)送雙方A,B事先均生成一堆密匙,然后A將自己的公有密匙發(fā)送給B,B將自己的公有密匙發(fā)送給A,如果A要給B發(fā)送消 息,則先需要用B的公有密匙進(jìn)行消息加密,然后發(fā)送給B端,此時(shí)B端再用自己的私有密匙進(jìn)行消息解密,B向A發(fā)送消息時(shí)為同樣的道理。
2.常用算法
幾種對(duì)稱性加密算法:AES,DES,3DES
DES是一種分組數(shù)據(jù)加密技術(shù)(先將數(shù)據(jù)分成固定長(zhǎng)度的小數(shù)據(jù)塊,之后進(jìn)行加密),速度較快,適用于大量數(shù)據(jù)加密,而3DES是一種基于DES的加密算法,使用3個(gè)不同密匙對(duì)同一個(gè)分組數(shù)據(jù)塊進(jìn)行3次加密,如此以使得密文強(qiáng)度更高。
相較于DES和3DES算法而言,AES算法有著更高的速度和資源使用效率,安全級(jí)別也較之更高了,被稱為下一代加密標(biāo)準(zhǔn)。
幾種非對(duì)稱性加密算法:RSA,DSA,ECC
RSA和DSA的安全性及其它各方面性能都差不多,而ECC較之則有著很多的性能優(yōu)越,包括處理速度,帶寬要求,存儲(chǔ)空間等等。
幾種線性散列算法(簽名算法):MD5,SHA1,HMAC
這幾種算法只生成一串不可逆的密文,經(jīng)常用其效驗(yàn)數(shù)據(jù)傳輸過(guò)程中是否經(jīng)過(guò)修改,因?yàn)橄嗤纳伤惴▽?duì)于同一明文只會(huì)生成唯一的密文,若相同算法生成的密文不同,則證明傳輸數(shù)據(jù)進(jìn)行過(guò)了修改。通常在數(shù)據(jù)傳說(shuō)過(guò)程前,使用MD5和SHA1算法均需要發(fā)送和接收數(shù)據(jù)雙方在數(shù)據(jù)傳送之前就知道密匙生成算法,而HMAC與之不同的是需要生成一個(gè)密匙,發(fā)送方用此密匙對(duì)數(shù)據(jù)進(jìn)行摘要處理(生成密文),接收方再利用此密匙對(duì)接收到的數(shù)據(jù)進(jìn)行摘要處理,再判斷生成的密文是否相同。
3.加密算法選用
對(duì)于各種加密算法的選用:
由于對(duì)稱加密算法的密鑰管理是一個(gè)復(fù)雜的過(guò)程,密鑰的管理直接決定著他的安全性,因此當(dāng)數(shù)據(jù)量很小時(shí),我們可以考慮采用非對(duì)稱加密算法。
在實(shí)際的操作過(guò)程中,我們通常采用的方式是:采用非對(duì)稱加密算法管理對(duì)稱算法的密鑰,然后用對(duì)稱加密算法加密數(shù)據(jù),這樣我們就集成了兩類(lèi)加密算法的優(yōu)點(diǎn),既實(shí)現(xiàn)了加密速度快的優(yōu)點(diǎn),又實(shí)現(xiàn)了安全方便管理密鑰的優(yōu)點(diǎn)。
如果在選定了加密算法后,那采用多少位的密鑰呢?一般來(lái)說(shuō),密鑰越長(zhǎng),運(yùn)行的速度就越慢,應(yīng)該根據(jù)的我們實(shí)際需要的安全級(jí)別來(lái)選擇,一般來(lái)說(shuō),RSA建議采用1024位的數(shù)字,ECC建議采用160位,AES采用128為即可。
對(duì)于幾種加密算法的內(nèi)部實(shí)現(xiàn)原理,有興趣的可以細(xì)細(xì)研究。而對(duì)于其實(shí)現(xiàn)而言,網(wǎng)上有很多開(kāi)源版本,比較經(jīng)典的是PorlaSSL其它語(yǔ)言如JAVA,OBJC也都有相應(yīng)的類(lèi)庫(kù)可以使用。
-
算法
+關(guān)注
關(guān)注
23文章
4711瀏覽量
95447 -
AES
+關(guān)注
關(guān)注
0文章
107瀏覽量
33560 -
DES
+關(guān)注
關(guān)注
0文章
65瀏覽量
48746 -
加密算法
+關(guān)注
關(guān)注
0文章
218瀏覽量
25847
發(fā)布評(píng)論請(qǐng)先 登錄
關(guān)于幾種常用加密算法比較

汽車(chē)遙控加密算法
RSA加密算法
uid加密算法
DES加密算法是什么
對(duì)稱加密算法是什么
軟件加密算法都有哪些,這些算法在哪些方面得到了應(yīng)用
淺談對(duì)稱加密算法與非對(duì)稱密鑰加密算法
常見(jiàn)公鑰加密算法有哪些
舉例幾種常見(jiàn)的加密算法

Go常用的加密算法詳細(xì)解讀
常見(jiàn)加密算法分類(lèi)

評(píng)論