1. 算法分類:
1.1 對稱加密算法
對稱加密(也叫私鑰加密)指加密和解密使用相同密鑰的加密算法。有時又叫傳統(tǒng)密碼算法刽辙,就是加密密鑰能夠從解密密鑰中推算出來窥岩,同時解密密鑰也可以從加密密鑰中推算出來。而在大多數(shù)的對稱算法中扫倡,加密密鑰和解密密鑰是相同的谦秧,所以也稱這種加密算法為秘密密鑰算法或單密鑰算法竟纳。它要求發(fā)送方和接收方在安全通信之前,商定一個密鑰疚鲤。對稱算法的安全性依賴于密鑰锥累,泄漏密鑰就意味著任何人都可以對他們發(fā)送或接收的消息解密,所以密鑰的保密性對通信的安全性至關(guān)重要集歇。
對稱加密算法的特點(diǎn)是算法公開桶略、計(jì)算量小、加密速度快诲宇、加密效率高际歼。不足之處是,交易雙方都使用同樣鑰匙姑蓝,安全性得不到保證鹅心。此外,每對用戶每次使用對稱加密算法時纺荧,都需要使用其他人不知道的惟一鑰匙旭愧,這會使得發(fā)收信雙方所擁有的鑰匙數(shù)量呈幾何級數(shù)增長,密鑰管理成為用戶的負(fù)擔(dān)宙暇。對稱加密算法在分布式網(wǎng)絡(luò)系統(tǒng)上使用較為困難输枯,主要是因?yàn)槊荑€管理困難,使用成本較高占贫。而與公開密鑰加密算法比起來桃熄,對稱加密算法能夠提供加密和認(rèn)證卻缺乏了簽名功能,使得使用范圍有所縮小型奥。在計(jì)算機(jī)專網(wǎng)系統(tǒng)中廣泛使用的對稱加密算法有DES和IDEA等瞳收。美國國家標(biāo)準(zhǔn)局倡導(dǎo)的AES即將作為新標(biāo)準(zhǔn)取代DES。
1.2 非對稱加密算法
非對稱加密算法需要兩個密鑰:公開密鑰(publickey:簡稱公鑰)和私有密鑰(privatekey:簡稱私鑰)桩引。公鑰與私鑰是一對缎讼,如果用公鑰對數(shù)據(jù)進(jìn)行加密,只有用對應(yīng)的私鑰才能解密坑匠。因?yàn)榧用芎徒饷苁褂玫氖莾蓚€不同的密鑰血崭,所以這種算法叫作非對稱加密算法。 非對稱加密算法實(shí)現(xiàn)機(jī)密信息交換的基本過程是:甲方生成一對密鑰并將公鑰公開厘灼,需要向甲方發(fā)送信息的其他角色(乙方)使用該密鑰(甲方的公鑰)對機(jī)密信息進(jìn)行加密后再發(fā)送給甲方夹纫;甲方再用自己私鑰對加密后的信息進(jìn)行解密。甲方想要回復(fù)乙方時正好相反设凹,使用乙方的公鑰對數(shù)據(jù)進(jìn)行加密舰讹,同理,乙方使用自己的私鑰來進(jìn)行解密闪朱。
非對稱密碼體制的特點(diǎn):算法強(qiáng)度復(fù)雜月匣、安全性依賴于算法與密鑰但是由于其算法復(fù)雜钻洒,而使得加密解密速度沒有對稱加密解密的速度快。對稱密碼體制中只有一種密鑰锄开,并且是非公開的素标,如果要解密就得讓對方知道密鑰。所以保證其安全性就是保證密鑰的安全萍悴,而非對稱密鑰體制有兩種密鑰头遭,其中一個是公開的,這樣就可以不需要像對稱密碼那樣傳輸對方的密鑰了癣诱。這樣安全性就大了很多计维。
1.3 散列算法
安全散列算法(英語:Secure Hash Algorithm,縮寫為SHA)是一個密碼散列函數(shù)家族撕予,是FIPS所認(rèn)證的安全散列算法鲫惶。能計(jì)算出一個數(shù)字消息所對應(yīng)到的,長度固定的字符串(又稱消息摘要)的算法实抡。且若輸入的消息不同剑按,它們對應(yīng)到不同字符串的機(jī)率很高。
SHA家族的五個算法澜术,分別是SHA-1、SHA-224猬腰、SHA-256鸟废、SHA-384,和SHA-512姑荷,由美國國家安全局(NSA)所設(shè)計(jì)盒延,并由美國國家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)發(fā)布;是美國的政府標(biāo)準(zhǔn)鼠冕。
2.已被破解的算法
2.1 對稱加密算法
- DES
2.2 非對稱加密算法
- RSA1024
2.3 散列算法
- SHA-1
- MD5
3. 可以使用的算法
3.1 對稱加密算法
- SM4 128bits
- AES-128
- 3DES (不推薦)
3.2 非對稱加密算法
- SM2 256bits
- RSA 2048bits
3.3 散列算法
- SM3
- SHA-256
Reference List:
百度百科