對(duì)稱加密
對(duì)稱加密(也叫私鑰加密)——指加密和解密使用相同密鑰的加密算法。
有時(shí)又叫傳統(tǒng)密碼算法,就是加密密鑰能夠從解密密鑰中推算出來,同時(shí)解密密鑰也可以從加密密鑰中推算出來。而在大多數(shù)的對(duì)稱算法中,加密密鑰和解密密鑰是相同的,所以也稱這種加密算法為秘密密鑰算法或單密鑰算法。它要求發(fā)送方和接收方在安全通信之前,商定一個(gè)密鑰。對(duì)稱算法的安全性依賴于密鑰,泄漏密鑰就意味著任何人都可以對(duì)他們發(fā)送或接收的消息解密,所以密鑰的保密性對(duì)通信性至關(guān)重要。
特點(diǎn):
- 對(duì)稱加密算法的特點(diǎn)是算法公開、計(jì)算量小、加密速度快、加密效率高。
不足之處是:
- 交易雙方都使用同樣鑰匙,安全性得不到保證。此外,每對(duì)用戶每次使用對(duì)稱加密算法時(shí),都需要使用其他人不知道的惟一鑰匙,這會(huì)使得發(fā)收信雙方所擁有的鑰匙數(shù)量呈幾何級(jí)數(shù)增長(zhǎng), 密鑰管理成為用戶的負(fù)擔(dān)。
具體算法:
DES算法,3DES算法,TDEA算法, Blowfish算法, RC5 算法,IDEA算法。
非對(duì)稱加密
非對(duì)稱加密算法是一種密鑰的保密方法。
非對(duì)稱加密算法需要兩個(gè)密鑰: 公開密鑰(publickey)和私有密鑰(privatekey)。公開密鑰與私有密鑰是一對(duì),如果用公開密鑰對(duì)數(shù)據(jù)進(jìn)行加密,只有用對(duì)應(yīng)的私有密鑰才能解密;如果用私有密鑰對(duì)數(shù)據(jù)進(jìn)行加密,那么只有用對(duì)應(yīng)的公開密鑰才能解密。因?yàn)榧用芎徒饷苁褂玫氖莾蓚€(gè)不同的密鑰,所以這種算法叫作非對(duì)稱加密算法。
非對(duì)稱加密算法實(shí)現(xiàn)機(jī)密信息交換的基本過程是:
- 1,甲方生成一對(duì) 密鑰并將其中的一把作為公用密鑰向其它方公開;
- 2,得到該公用密鑰的乙方使用該密鑰對(duì)機(jī)密信息進(jìn)行加密后再發(fā)送給甲方;
- 3,甲方再用自己保存的另一把專用密鑰對(duì)加密后的信息進(jìn)行解密。
另一方面,甲方可以使用乙方的公鑰對(duì)機(jī)密信息進(jìn)行簽名后再發(fā)送給乙方;乙方再用自己的私匙對(duì)數(shù)據(jù)進(jìn)行驗(yàn)簽。
甲方只能用其專用密鑰解密由其公用密鑰加密后的任何信息。
特點(diǎn):
- 非對(duì)稱加密算法的保密性比較好,它消除了最終用戶交換密鑰的需要。
不足之處是:
- 非對(duì)稱加密的缺點(diǎn)是加解密速度要遠(yuǎn)遠(yuǎn)慢于對(duì)稱加密,在某些極端情況下,甚至能比非對(duì)稱加密慢上1000倍。
具體算法:
RSA、Elgamal、背包算法、Rabin、HD,ECC(橢圓曲線加密算法)。

作者:峰峰小
鏈接:https://www.jianshu.com/p/07dce545ed0c
來源:簡(jiǎn)書