由于對稱加密算法的密鑰管理是一個(gè)復(fù)雜的過程,密鑰的管理直接決定著他的安全性,因此當(dāng)數(shù)據(jù)量很小時(shí),我們可以考慮采用非對稱加密算法。
在實(shí)際的操作過程中,我們通常采用的方式是:
采用非對稱加密算法管理對稱算法的密鑰,然后用對稱加密算法加密數(shù)據(jù),這樣我們就集成了兩類加密算法的優(yōu)點(diǎn),既實(shí)現(xiàn)了加密速度快的優(yōu)點(diǎn),又實(shí)現(xiàn)了安全方便管理密鑰的優(yōu)點(diǎn)。
如果在選定了加密算法后,那采用多少位的密鑰呢?一般來說,密鑰越長,運(yùn)行的速度就越慢,應(yīng)該根據(jù)的我們實(shí)際需要的安全級別來選擇,一般來說,RSA建議采用1024位的數(shù)字,ECC建議采用160位,AES采用128為即可。
參考鏈接:
RSA、AES、DES、MD5、SHA1幾種加密算法的比較
iOS,一行代碼進(jìn)行RSA、DES 、AES加密、解密及MD5加密
網(wǎng)絡(luò)安全之?dāng)?shù)據(jù)加密(DES、AES、RSA、MD5)
iOS RSA的網(wǎng)絡(luò)安全模型、iOS簽名機(jī)制總結(jié)(登錄、token安全、簽名)