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