密碼學(xué)的基本原理
所謂加密,就是一個(gè)改變數(shù)據(jù),使之變得不可辨識(shí)、無(wú)授權(quán)者無(wú)法使用的過(guò)程;同時(shí),它還要保證解密過(guò)程能成功把改變后的數(shù)據(jù)恢復(fù)成原始形式。安全技術(shù)一般都把加密的數(shù)學(xué)方法和用于加密的參數(shù)(叫做 “key(密鑰)”)區(qū)別開(kāi)來(lái)。被選定的密鑰(通常是一段隨機(jī)的字符串)也是加密過(guò)程的輸入,對(duì)加密過(guò)程來(lái)說(shuō)也是必不可少的。同一把密鑰往往也是解密過(guò)程的必要輸入。
這個(gè)保護(hù)過(guò)程的原理是,只要密鑰(有時(shí)候也叫 “口令”,password)沒(méi)有暴露、只被得到授權(quán)的人所知,那么原始數(shù)據(jù)就不會(huì)暴露給其他人。只有知道密鑰的人才能解密密文。這個(gè)思路,我們叫 “私鑰” 密碼設(shè)計(jì)學(xué)(譯者注:稱作 “對(duì)稱密碼學(xué)” 可能更恰當(dāng)一些,因?yàn)榧咏饷苓^(guò)程是對(duì)稱的,都使用同一把密鑰),也是最廣為人知的加密形式。
那么,加密之所以必要的基本理由如下:
機(jī)密性(confidentiality)—— 在傳輸數(shù)據(jù)的時(shí)候,不希望竊聽(tīng)者能夠知道被廣播的消息的內(nèi)容。在保管數(shù)據(jù)的時(shí)候不希望未經(jīng)授權(quán)的人(比如黑客)能夠訪問(wèn),也是同理。
身份認(rèn)證(Authentication)—— 相當(dāng)于簽名。收信者希望能確證該信息是特定的某個(gè)人發(fā)出的,其他人不能冒充(甚至初始發(fā)信方后面想抵賴也不可能)。
完整性(Integrity)—— 這意味著收信者能夠證實(shí)自己得到的數(shù)據(jù)是完完整整、沒(méi)有經(jīng)第三方改動(dòng)過(guò)的。
不可抵賴性(Non-repudiation)—— 防止發(fā)信方抵賴自己創(chuàng)建過(guò)、發(fā)送過(guò)某條消息。
譯者注:作者在這里提到的才算是現(xiàn)代密碼學(xué)研究的范圍。比如身份認(rèn)證和不可抵賴性,都是很重要的屬性,但是在實(shí)用中幾乎與加解密過(guò)程無(wú)關(guān),但對(duì)數(shù)字簽名的研究毫無(wú)疑問(wèn)是密碼學(xué)的內(nèi)容。加解密的安全性跟機(jī)密性有關(guān),只是現(xiàn)代密碼學(xué)的一部分。
Cipher
密碼設(shè)計(jì)學(xué)是(通過(guò)加密)隱藏敏感數(shù)據(jù)的藝術(shù)和科學(xué)。它包括加密過(guò)程(就是在原始的 “原文” 上使用加密算法)和解密過(guò)程(就是在密文上使用算法,使之恢復(fù)到可讀的形式)。
要解釋什么是 Cipher,最好還是給你看幾個(gè)簡(jiǎn)單的例子:
波利比烏斯密碼
波利比烏斯密碼(Polibius Cipher)也是一種字符替換型密碼。在我這個(gè)示例中,我用的是一個(gè) 6×6 的二維矩陣,可以把所有的大寫字母和數(shù)字 0 到 9 都包括進(jìn)去。然后我們可以得出下表:
有了這個(gè)舉證,我們就可以開(kāi)始代換了。比如,字母 “A” 可以表示成 “1 × 1”,或者 “X = 1,Y = 1”,甚至再簡(jiǎn)化成 11。再舉例,字幕 “N” 可以表示成 “2 × 3”,或者 “X = 2,Y = 3”,簡(jiǎn)化后就是 23。
來(lái)試試加密一條簡(jiǎn)單的信息:
消息(原文):ENCRYPT ME 2 DAY
加密后的數(shù)據(jù)(密文):51–23–31–63–15–43–24 13–51 55 41–11–15
納入生僻字符后,這張表可以變得很大很復(fù)雜。而且,定期地隨機(jī)改變字符的位置也會(huì)讓暴力破解無(wú)從下手。這很像我們今天在高級(jí)計(jì)算型加密方法所用的多態(tài)性(polymorphism)。
凱撒密碼
歷史最悠久的加密算法之一就是以其創(chuàng)造者凱撒而聞名的凱撒密碼(Caeser Cipher)。他用這套方法來(lái)保證跟羅馬將軍們的安全通信,這樣羅馬帝國(guó)的敵人們就算拿到信也沒(méi)有辦法讀懂。凱撒密碼是加密的一種初級(jí)形式,很容易被破解,所以今天已經(jīng)基本不會(huì)用在任何安全用途中了。
從原理上來(lái)說(shuō),凱撒密碼就是重排字母表,不同的位移值也會(huì)使得編碼后的數(shù)據(jù)完全不同。位移值,顧名思義,就是通過(guò)讓字母左移或者右移一定位數(shù)來(lái)生成密文的數(shù)值。(譯者注:所以,在這里,大家可以把凱撒密碼理解成一種根據(jù)字母表順序的位移來(lái)加密的算法(cipher),而位移值就是那個(gè) Key,密鑰。)
這里我們用右移 3 位的做法來(lái)看一個(gè)實(shí)際的例子:
英文原文:ENCRYPT ME
密文:HQFUBSW PH (解密時(shí)候要相應(yīng)左移 3 位才能解密)
上面這條消息可以通過(guò)嘗試所有可能的位移值來(lái)暴力破解:不斷嘗試新的位移值,直到解出來(lái)的原文看起來(lái)像樣子。更加復(fù)雜的密碼比如 Vigenere 密碼和 Gronsfeld 密碼也是用同樣的原理設(shè)計(jì)出來(lái)的。但是解密起來(lái)就很麻煩,因此每個(gè)字母都代表一個(gè)位移值。
維吉尼亞密碼表
在理解密碼設(shè)計(jì)學(xué)之前,我們先要了解加密算法的工作原理,因?yàn)樗鼈兪撬屑用苓^(guò)程的基礎(chǔ)。速記是一種記錄隱藏信息的方法,實(shí)際上可以歸為古典密碼設(shè)計(jì)學(xué)一類,因?yàn)楝F(xiàn)代密碼設(shè)計(jì)學(xué)已經(jīng)成了 “計(jì)算機(jī)安全” 的代名詞。
多態(tài)性
多態(tài)性是密碼設(shè)計(jì)學(xué)中較為高級(jí)的部分,在計(jì)算機(jī)加密技術(shù)中最為常見(jiàn)。多態(tài)性指的是,一種加密方法在每次使用時(shí)都會(huì)產(chǎn)生不同的結(jié)果,而且在每次使用過(guò)后都會(huì)發(fā)生改變。多態(tài)性常見(jiàn)于計(jì)算機(jī)加密算法。也就是說(shuō),如果我們將相同的數(shù)據(jù)加密兩次,每次都會(huì)得到一個(gè)不同的加密結(jié)果。
我們用汽車鑰匙來(lái)打個(gè)比方?,F(xiàn)在,我們只需要在一個(gè)小巧的電子遙控設(shè)備上輕輕一按,就可以解鎖汽車了。當(dāng)你解鎖車門時(shí),你或許從來(lái)沒(méi)思考過(guò)其中的原理 —— 你按下按鈕的那一刻,會(huì)有一段特定的數(shù)據(jù)發(fā)送到你的車上,一旦匹配成功,車門就解鎖了。要實(shí)現(xiàn)這點(diǎn),最簡(jiǎn)單的方法是為每個(gè)遙控設(shè)備設(shè)定不同的頻率。但是,這樣管理起來(lái)會(huì)很麻煩。因此,所有遙控設(shè)備都采用了同樣的波長(zhǎng),但是使用不同的算法(滾動(dòng)碼)來(lái)生成發(fā)送給汽車的數(shù)據(jù)。這些就是多態(tài)性算法。
由于這些算法每次使用過(guò)后都會(huì)發(fā)生改變,很難對(duì)其進(jìn)行逆向工程。即使有黑客破解了算法(首先,破解多態(tài)性算法本身難度就很大),他還得找到與該算法匹配的汽車/鑰匙(這又是一項(xiàng)復(fù)雜的任務(wù))。
-
密碼
+關(guān)注
關(guān)注
9文章
193瀏覽量
30967 -
加密算法
+關(guān)注
關(guān)注
0文章
218瀏覽量
25831
發(fā)布評(píng)論請(qǐng)先 登錄
安芯半導(dǎo)體發(fā)布全新防復(fù)制加密芯片RJGT28E30

貼片三極管上的印字與真實(shí)名稱的對(duì)照表詳細(xì)說(shuō)明
28nm制程!國(guó)產(chǎn)抗量子密碼芯片迎重磅新品
調(diào)試變頻器詳細(xì)說(shuō)明
抵御量子計(jì)算威脅:航芯「抗量子密碼加密簽名方案」為信息安全筑起新防線

UHV系列雷電沖擊電壓發(fā)生器試驗(yàn)裝置詳細(xì)說(shuō)明使用
深入解析ECC256橢圓曲線加密算法

加密算法在云計(jì)算中如何應(yīng)用?
加密算法在網(wǎng)絡(luò)安全中扮演什么角色?
加密算法的選擇對(duì)于加密安全有多重要?
常見(jiàn)的加密算法有哪些?它們各自的優(yōu)勢(shì)是什么?
對(duì)稱加密技術(shù)在實(shí)際應(yīng)用中如何保障數(shù)據(jù)安全?
華納云:加密算法在保護(hù)網(wǎng)絡(luò)安全中扮演什么角色
socket 加密通信的實(shí)現(xiàn)方式
C加密算法的實(shí)現(xiàn)

評(píng)論