一.密碼學(xué)簡介
據(jù)記載,公元前400年咖杂,古希臘人發(fā)明了置換密碼。1881年世界上的第一個(gè)電話保密專利出現(xiàn)蚊夫。在第二次世界大戰(zhàn)期間诉字,德國軍方啟用“恩尼格瑪”密碼機(jī),密碼學(xué)在戰(zhàn)爭中起著非常重要的作用知纷。
隨著信息化和數(shù)字化社會(huì)的發(fā)展壤圃,人們對信息安全和保密的重要性認(rèn)識(shí)不斷提高,于是在1997年琅轧,美國國家標(biāo)準(zhǔn)局公布實(shí)施了“美國數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)”伍绳,民間力量開始全面介入密碼學(xué)的研究和應(yīng)用中,采用的加密算法有DES鹰晨、RSA墨叛、SHA等止毕。隨著對加密強(qiáng)度需求的不斷提高,近期又出現(xiàn)了AES漠趁、ECC等扁凛。
使用密碼學(xué)可以達(dá)到以下目的:
保密性:防止用戶的標(biāo)識(shí)或數(shù)據(jù)被讀取。
數(shù)據(jù)完整性:防止數(shù)據(jù)被更改闯传。
身份驗(yàn)證:確保數(shù)據(jù)發(fā)自特定的一方谨朝。
二.加密算法介紹
根據(jù)密鑰類型不同將現(xiàn)代密碼技術(shù)分為兩類:對稱加密算法(秘密鑰匙加密)和非對稱加密算法(公開密鑰加密)。
對稱鑰匙加密系統(tǒng)是加密和解密均采用同一把秘密鑰匙甥绿,而且通信雙方都必須獲得這把鑰匙字币,并保持鑰匙的秘密。
非對稱密鑰加密系統(tǒng)采用的加密鑰匙(公鑰)和解密鑰匙(私鑰)是不同的共缕。
1)對稱加密算法
- DES(Data Encryption Standard):數(shù)據(jù)加密標(biāo)準(zhǔn)洗出,速度較快,適用于加密大量數(shù)據(jù)的場合图谷。
- 3DES(Triple DES):是基于DES翩活,對一塊數(shù)據(jù)用三個(gè)不同的密鑰進(jìn)行三次加密,強(qiáng)度更高便贵。
- AES(Advanced Encryption Standard):高級加密標(biāo)準(zhǔn)菠镇,是下一代的加密算法標(biāo)準(zhǔn),速度快承璃,安全級別高利耍;
2)非對稱加密算法
- RSA:由 RSA 公司發(fā)明,是一個(gè)支持變長密鑰的公共密鑰算法盔粹,需要加密的文件塊的長度也是可變的隘梨;
- DSA(Digital Signature Algorithm):數(shù)字簽名算法,是一種標(biāo)準(zhǔn)的 DSS(數(shù)字簽名標(biāo)準(zhǔn))玻佩;
- ECC(Elliptic Curves Cryptography):橢圓曲線密碼編碼學(xué)出嘹。
3)單向加密算法
- BASE64 嚴(yán)格地說,屬于編碼格式咬崔,而非加密算法
- MD5(Message Digest algorithm 5税稼,信息摘要算法)
- SHA(Secure Hash Algorithm,安全散列算法)
- HMAC(Hash Message Authentication Code垮斯,散列消息鑒別碼)
三.特點(diǎn)
- DES郎仆,3DES,AES 加密數(shù)據(jù),只有一個(gè)密碼兜蠕,密鑰長度不同扰肌。
- PBE Password-based encryption 對稱加密中基于密碼加密,口令用戶掌管不借助任何物理媒介熊杨,采用隨機(jī)數(shù)雜湊多重加密保證數(shù)據(jù)安全曙旭。
- RSA 即能用戶數(shù)據(jù)加密也能用于數(shù)字簽名盗舰,同時(shí)有公鑰和私鑰。數(shù)字簽名的意義在于桂躏,對傳輸過來的數(shù)據(jù)進(jìn)行校驗(yàn)確保傳輸過程中不被修改钻趋。
- 單向加密中MD5,SHA,HMAC為非可逆加密,單向散列一般用于產(chǎn)生信息摘要剂习。通常作為加密的基礎(chǔ)蛮位。單向加密主要用途為校驗(yàn)傳輸過程中是否被修改過。
四.算法比較
- 在管理方面:公鑰密碼算法只需要較少的資源就可以實(shí)現(xiàn)目的鳞绕,在密鑰的分配上失仁,兩者之間相差一個(gè)指數(shù)級別(一個(gè)是n一個(gè)是n2)。所以私鑰密碼算法不適應(yīng)廣域網(wǎng)的使用们何,而且更重要的一點(diǎn)是它不支持?jǐn)?shù)字簽名萄焦。
- 在安全方面:由于公鑰密碼算法基于未解決的數(shù)學(xué)難題,在破解上幾乎不可能垂蜗。對于私鑰密碼算法楷扬,到了AES雖說從理論來說是不可能破解的解幽,但從計(jì)算機(jī)的發(fā)展角度來看贴见。公鑰更具有優(yōu)越性。
-從速度上:AES的軟件實(shí)現(xiàn)速度已經(jīng)達(dá)到了每秒數(shù)兆或數(shù)十兆比特躲株。是公鑰的100倍片部,如果用硬件來實(shí)現(xiàn)的話這個(gè)比值將擴(kuò)大到1000倍。
五.參考內(nèi)容
http://www.willrey.com/support/ssl_DES.html
http://www.open-open.com/lib/view/open1397274257325.html
http://blog.csdn.net/sunny243788557/article/details/38874153