干貨!當(dāng)前流行的幾種加密體制匯總

古典密碼

古典密碼是以語言學(xué)為基礎(chǔ),對文字進(jìn)行字符轉(zhuǎn)化,最核心的有兩種加密技巧:移位和替代,移位算法也叫錯(cuò)位算法,就是講數(shù)字重新排序,例如123456變成341265。替代算法也叫置換算法,將明文中的一組字符替代成其他的字符,形成密文,例如:Hello Word變成IFMMP XPSE,每個(gè)字母用下一個(gè)字母代替。前面兩種基本算法又被演變?yōu)楹芏喾种?,這些分支加入更加復(fù)雜的算法,讓加密更加可靠。

單表替代密碼:將明文的一個(gè)字符用相應(yīng)密文字符替代,加密過程中從明文字母表到明文字母表一一映射,主要包括移位密碼、乘數(shù)密碼、仿射密碼、多項(xiàng)式密碼、密鑰短語密碼;

同音替代密碼它與單表替代密碼相似,不同的是單個(gè)字符明文可以映射密文的幾個(gè)字符中的一個(gè),例如a字母可以對應(yīng)2,5,11,吧、字母對應(yīng)7,23,67。

多表替代密碼:它是指明文中的字符映射到密文空間的字符還依賴于它在上下文中的位置,由多個(gè)簡單的代替密碼所構(gòu)成,弗吉尼亞密碼、滾動密鑰密碼、轉(zhuǎn)子機(jī)密碼均為多表替代密碼,二次大戰(zhàn)中的德軍用的恩尼格瑪密碼機(jī)正是多表替代密碼應(yīng)用的典范。

多字母替代密碼:明文中字符被成組加密,例如“ABA”可能對應(yīng)于“RTQ”,ABB可能對應(yīng)于SLL等,希爾密碼,Playfair密碼均為多字母替代密碼,在一戰(zhàn)中英國人采用了這種密碼。

對稱加密體制

古典密碼學(xué)的延續(xù),它使用的技巧任然是替代和移位,對稱加密體制要求加密和解密使用同一個(gè)共享的密鑰,解密和加密時(shí)互逆運(yùn)算,通信的雙方共享一個(gè)密鑰,這就要求雙方通信前必須商定好密鑰,并且要妥善保存密鑰。對稱加密體制分為兩種:一種是對明文的單個(gè)位或字節(jié)進(jìn)行運(yùn)算,稱為流密碼,也叫序列密碼;另一種將明文信息劃分為不同的組或塊結(jié)構(gòu),分別對組或塊進(jìn)行加密和解密。

非對稱加密體制

它和對稱加密算法區(qū)別是非對稱加密體制的加密密鑰和解密密鑰是不同的,它分為兩個(gè)密鑰:一個(gè)叫公鑰可以公開的,一個(gè)叫密鑰它是保密的,非對稱加密體制使得發(fā)送者和接收者無密鑰傳輸?shù)谋C芡ㄐ懦蔀榭赡埽瑥浹a(bǔ)的對稱加密體制的不足。非對稱加密如果使用公鑰加密,那么就必須用私鑰解密,同樣的如果信息用私鑰加密,那么就得用公鑰解密,非對稱加密可以用于支持?jǐn)?shù)字簽名和驗(yàn)證。非對稱加密算法的安全性依賴于計(jì)算復(fù)雜度的難題,通常來自于數(shù)論。

哈希函數(shù)體制

哈希函數(shù)體制也叫離散函數(shù)體制或信息摘要體制或者叫單向函數(shù)或者叫雜湊函數(shù),它的作用是用于驗(yàn)證數(shù)據(jù)的完整性的問題,哈希函數(shù)可以給數(shù)據(jù)創(chuàng)建數(shù)字指紋,數(shù)字指紋也叫哈希值,哈希值通常是一個(gè)短的隨機(jī)字母和數(shù)字組成的字符串,哈希函數(shù)體制的特點(diǎn)是,不管多長的信息都可以進(jìn)行哈希,不同信息算出的哈希值是不同的,兩個(gè)不同的哈希值,那么哈希值的原始數(shù)據(jù)也不相同,哈希算法不可逆也就是哈希值推不出原始信息,常用的哈希算法有MD信息摘要算法,sha安全散列算法以及mac消息認(rèn)證碼算法。

數(shù)字簽名技術(shù)

一些安全性要求較高的網(wǎng)站常常會使用數(shù)字簽名技術(shù),數(shù)字簽名包含對數(shù)據(jù)完整性、認(rèn)證性和不可否認(rèn)性三個(gè)特征。數(shù)字簽名針對數(shù)字形式存儲的信息進(jìn)行處理,產(chǎn)生一種帶有操作者身份信息的編碼,執(zhí)行數(shù)字簽名的實(shí)體叫做簽名者,簽名過程中使用的算法叫簽名算法,簽名過程中生成的編碼稱為簽名者對該信息的數(shù)字簽名。發(fā)送者通過網(wǎng)絡(luò)將信息連同驗(yàn)證簽名一起發(fā)送給接收者,接收者收到信息和數(shù)字簽名后,可以通過一個(gè)算法驗(yàn)證簽名的真?zhèn)我约白R別對應(yīng)的簽名者,這個(gè)過程叫驗(yàn)證過程,其過程使用的算法叫驗(yàn)證算法。數(shù)字簽名離不開非對稱加密體制,簽名算法受私鑰控制,并由簽名者保密,驗(yàn)證者算法受公鑰控制,對外公開。