常用加密算法

  • 1 常用加密算法

常用加密算法有 對(duì)稱加密算法非對(duì)稱加密算法、Hash算法

對(duì)稱加密算法

加密和解密使用相同的秘鑰,加密速度快,但秘鑰管理復(fù)雜
常見的對(duì)稱加密算法:DES、3DES、DESX、Blowfish、IDEA、RC4、RC5、RC6和AES

非對(duì)稱加密算法

加密和解密使用不同的秘鑰,加密速度教對(duì)稱加密慢,但便于管理,且由于私鑰的唯一性可用作簽名
常見的非對(duì)稱加密算法:RSA、ECC(移動(dòng)設(shè)備用)、Diffie-Hellman、El Gamal、DSA(數(shù)字簽名用)

Hash算法

常用的有MD5和SHA,這倆種算法的特點(diǎn)是不可逆無沖突

  • 不可逆表示知道x的hash值b,無法求出x
  • 無沖突指x的hash值b,無法求出hash值為b的另一個(gè)y
    這兩條特點(diǎn)在數(shù)學(xué)上是不成立的,但是MD5和SHA算法可以保證求逆和求沖突在計(jì)算上(即使耗盡人類所有計(jì)算資源)不可能

常見的Hash算法:MD2、MD4、MD5、HAVAL、SHA、SHA-1、HMAC、HMAC-MD5、HMAC-SHA1

  • 2 加密算法的選擇

  • 由于非對(duì)稱加密算法的運(yùn)行速度比對(duì)稱加密算法的速度慢很多,當(dāng)我們需要加密大量的數(shù)據(jù)時(shí),建議采用對(duì)稱加密算法,提高加解密速度。
  • 對(duì)稱加密算法不能實(shí)現(xiàn)簽名,因此簽名只能非對(duì)稱算法。
  • 由于對(duì)稱加密算法的密鑰管理是一個(gè)復(fù)雜的過程,密鑰的管理直接決定著他的安全性,因此當(dāng)數(shù)據(jù)量很小時(shí),我們可以考慮采用非對(duì)稱加密算法。
  • 在實(shí)際的操作過程中,我們通常采用的方式是:采用非對(duì)稱加密算法管理對(duì)稱算法的密鑰,然后用對(duì)稱加密算法加密數(shù)據(jù),這樣我們就集成了兩類加密算法的優(yōu)點(diǎn),既實(shí)現(xiàn)了加密速度快的優(yōu)點(diǎn),又實(shí)現(xiàn)了安全方便管理密鑰的優(yōu)點(diǎn)。
    那采用多少位的密鑰呢? RSA建議采用1024位的數(shù)字,ECC建議采用160位,AES采用128為即可

參考:
http://code.huawei.com/h00403666/learning/blob/master/psm/doc/psm_encry.md
https://www.zhihu.com/question/20820286

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 在開發(fā)應(yīng)用過程中,客戶端與服務(wù)端經(jīng)常需要進(jìn)行數(shù)據(jù)傳輸,涉及到重要隱私安全信息時(shí),開發(fā)者自然會(huì)想到對(duì)其進(jìn)行加密,即使...
    閑庭閱讀 3,319評(píng)論 0 11
  • 這篇文章主要講述在Mobile BI(移動(dòng)商務(wù)智能)開發(fā)過程中,在網(wǎng)絡(luò)通信、數(shù)據(jù)存儲(chǔ)、登錄驗(yàn)證這幾個(gè)方面涉及的加密...
    雨_樹閱讀 2,717評(píng)論 0 6
  • 本文主要介紹移動(dòng)端的加解密算法的分類、其優(yōu)缺點(diǎn)特性及應(yīng)用,幫助讀者由淺入深地了解和選擇加解密算法。文中會(huì)包含算法的...
    蘋果粉閱讀 11,587評(píng)論 5 29
  • 老樹,木心,一幅畫 吊橋搖晃著 流浪狗跟著流浪人 走無關(guān)朝圣的路 風(fēng)卷起落葉,詩心起 不語薄涼 撿一片秋魂 凝視光...
    封城雪閱讀 581評(píng)論 4 5
  • 導(dǎo)讀:水草缸的好處在于景,就算沒有魚,她也是一幅畫。一縷縷水草隨波起伏,很美好的景象,但是有時(shí)做錯(cuò)一個(gè)小動(dòng)作會(huì)影響...
    養(yǎng)草的大灰狼閱讀 707評(píng)論 0 0