私下通信的能力,使得只有預(yù)定的各方才能訪問機(jī)密信息,是密碼學(xué)最廣為人知的能力。我們的產(chǎn)品使用加密來保護(hù)敏感數(shù)據(jù)的機(jī)密性,無論是在通信接口之間傳輸還是存儲在內(nèi)存中。本博客系列將介紹最常用的加密算法,解釋它們的差異,并討論每種算法最適合的應(yīng)用程序。
防止其他人竊聽我們的私人談話并不是一項簡單的任務(wù)。已經(jīng)提出了許多不同的方法將未受保護(hù)的信息(稱為明文)轉(zhuǎn)換為某種難以理解的形式(稱為密文),但很少有人能夠經(jīng)受審查和攻擊。
將明文消息轉(zhuǎn)換為密文的一種方法是將基礎(chǔ)字母表的每個字母映射到其他字母 - 一種稱為單字母替換密碼的技術(shù):
A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ |
G | Q | J | V | E | O | Y | A | S | C | U | K | M | F | N | Z | B | X | L | W | H | R | T | I | P | D |
使用此映射加密明文消息“security”會導(dǎo)致密文“l(fā)ejhxswp”,這當(dāng)然看起來難以理解。如果愛麗絲希望與鮑勃私下交流,她可能會親自與他分享這個秘密地圖。然后,他們可以將加密的信件郵寄給對方,并使用他們的共享密鑰(從明文到密文字母表的映射)輕松解密它們。
愛麗絲和鮑勃不知道的是,夏娃一直在攔截他們的加密信息并試圖解密它們,盡管她不知道秘密映射。作為破解密碼的第一次嘗試,Eve 考慮嘗試所有可能的映射——暴力 攻擊。不幸的是,有26個!? 288可能性,對于伊芙來說,即使有電腦的幫助也無法搜索。但是,暴力攻擊很少是破解加密的最有效方法。伊芙?jīng)Q定放棄暴力攻擊的方法,而是利用她的英語知識來嘗試破解鮑勃的一條信息——你能破解它嗎?嘗試一次為一個字符選擇一個映射[1],也許首先猜測獨(dú)立的密文字符“I”可能用于加密明文字符“A”:
ITT VAHR IQG QA WTID UIRKM EISR I GNTT ZAD
盡管單字母替換密碼有大量可能的密鑰(密鑰空間為 288),人們可以只使用他們的英語知識和在地鐵上班時的一些試錯來解密這些密文。擁有大量可能的密鑰當(dāng)然是構(gòu)建安全加密算法的必要條件,但顯然是不夠的。
現(xiàn)代加密
單獨(dú)的大密鑰空間并不意味著加密算法是安全的,因為暴力攻擊(嘗試所有可能的密鑰)很少是破解加密方案的最有效方法。在單字母替換密碼的情況下,對底層語言的了解允許攻擊者減少可能的映射集(例如,由于少量有效單詞具有重復(fù)字母),并且還可以快速檢查候選映射是否導(dǎo)致有效且連貫的語句(例如,它是否會導(dǎo)致不存在的單詞?
理想情況下,我們將消除這些快捷方式攻擊,因此在不知道密鑰的情況下破壞加密方案基本上是不可能的。也就是說,加密算法應(yīng)該依賴于一些如果您不知道密鑰就很難解決的問題,但如果您知道,則很容易解決。
該圖顯示了一個函數(shù) f(x),當(dāng)賦值器可以訪問紅色鍵(頂部箭頭)時,該函數(shù)很容易在輸入 x 上計算,并且易于反轉(zhuǎn)以恢復(fù) x (中間箭頭)。但是,當(dāng)紅色鍵未知時,該功能很難反轉(zhuǎn)(底部箭頭)。
對稱加密算法
通過訪問具有此屬性的某些函數(shù) f(x),Alice 和 Bob 可以開始設(shè)計一種私下通信的算法。他們的一般方法是使用他們都知道的鍵在明文消息x上計算f(x),以便另一個可以輕松地反轉(zhuǎn)f(x)以恢復(fù)明文消息x。由于 Eve 不知道他們的共享密鑰,因此她將無法從密文中恢復(fù)明文消息。
由于 Alice 和 Bob 共享相同的密鑰,因此它們在此設(shè)計中的信息是對稱的,因此遵循此設(shè)計原理的算法稱為對稱加密算法。
審核編輯:郭婷
-
通信
+關(guān)注
關(guān)注
18文章
5880瀏覽量
135321 -
密鑰
+關(guān)注
關(guān)注
1文章
134瀏覽量
19658
發(fā)布評論請先 登錄
相關(guān)推薦
評論