你能猜出照片中的這些女人在做什么嗎?沒錯,很難猜。自從1912年發(fā)現(xiàn)這份15世紀的手稿以來,一直試圖分析破解它。即使是專業(yè)的密碼專家和歷史學家也無法破譯它。盡管如此,還是有人提出了一些建議——但所有這些建議都被證明是錯誤的或毫無根據(jù)的。最有根據(jù)的猜測要么是基于對其他中世紀手稿中熟悉模式的識別,要么是基于計算最頻繁的字母順序。
后一種方法稱為頻率分析,它是一種強力搜索,用于解碼替代密碼(如Caesar密碼),這是一種對稱加密,通過改變原始消息中的字母位置來形成代碼。
如果照片中的兩個女人——我們叫她們艾格尼絲和伊莎貝爾——想在別人聽不見的情況下彼此分享一個秘密呢?
字母在textIt中的相對頻率是一個單字母替換密碼,可以簡單地用任意預設的字母數(shù)量將每個字母沿字母表向下移動。因為它改變了相同字母表的字母,所以通過計算每個字母并找到最常見的一個字母,字母序列是可以破譯的。在英語中,很可能是“e”。這是一個典型的英語字母分布。
知道字母“e”在代碼中變成了什么,我們可以很容易地計算出其他字母的位置。
一種稍微復雜一點的基于替換的加密方法是多字母密碼,它使用混合字母來代替字母。例如,它的一個特殊案例——Vigenere密碼——三百年來都無法破譯。它使用一個關鍵字和一個表(tabula recta)對單詞進行加密和解密。
一個關鍵字,也稱為移位字,與我們要加密的文本并列。假設阿格尼絲和伊莎貝爾選擇了“彩虹”作為轉換詞。艾格尼絲想告訴伊莎貝爾,她所有的錢都用膠帶粘在她的馬桶水箱后面。她把“彩虹”這個詞抄了很多遍,因為她的文字很長:
現(xiàn)在,要用一個關鍵字加密這個句子,她需要把表格里的字母替換成原來的字母。行由關鍵字決定,列由她句子中的字母決定。例如,為了替換“a”,她在“a”列下查找“r”行。下一個字母是“l(fā)”,然后是“t”,以此類推。
然而,如果他們的一個朋友——伊娃——截獲了一封含有“替換”字的信,這條信息就很容易破譯。艾格尼絲和伊莎貝爾顯然需要更可靠的東西。
在19世紀,一次性密碼墊在加密技術上邁出了新的一步。一次性密碼墊使用的原理與之前的密碼相似,但使用的不是移位字,而是整個隨機字母序列,長度與原始信息一樣長。一次性密碼墊是密碼學上的一個突破,因為它們包含了信息理論之父克勞德?香農(nóng)(Claude Shannon)所稱的完全保密的偽隨機性概念。
暴力攻擊對一次性密碼墊是無能為力的,因為對人類來說,這需要處理太多的選項。例如,對于一個371個字母的消息,有一個371個字母的鍵,每個字符可以取26個值。因此,可能的鍵的數(shù)量是26 ^ 371年或10 ^ 525。
上個世紀的戰(zhàn)爭推動了密碼學的發(fā)展,不僅導致了著名的恩尼格瑪計算機的誕生,也激發(fā)了新一代的數(shù)學加密技術,即非對稱密碼學。
首先是關于恩尼格瑪機器。這些機器的設計是絕對的藝術發(fā)展,仍然是基于對稱鍵的原則。但是操作中的人為因素是它們衰敗的原因之一。
另一個重要的原因是,一個字母不能像它自己一樣加密——它必須是另一個字母。
如今,破解對稱加密的解決方案如此之多,以至于你可以在網(wǎng)上進行破解。因此,這些方法都不涉及到保護加密貨幣錢包。它們受到更強大的非對稱加密系統(tǒng)的保護,該系統(tǒng)涉及一對用于加密和解密的公鑰和私鑰。
簡單地說,如果一個神秘的女人想用不對稱加密的方式向另一個女人發(fā)送消息,她會使用公鑰來鎖定信息。為了解碼消息,她的朋友會使用與她收到的公鑰相對應的私鑰。然而,這要復雜一些。
Diffie-Hellman算法解決了Enigma機器的問題——現(xiàn)在密鑰不需要以物理形式傳輸(例如在紙上的列表)。
為了在Diffie-Hellman的幫助下交換鍵,阿格尼絲和伊莎貝爾首先需要在一個基本模量和一個發(fā)電機上達成一致。他們同意是17和3。然后阿格尼絲選擇她的私人號碼,計算發(fā)電機(3)的15次方。她可以公開把結果寄給伊莎貝爾。當伊莎貝爾得到它時,她選擇了自己隨機的私人號碼。她用模量17計算出發(fā)電機(3)的13次方,并將結果(12)公開發(fā)送給阿格尼絲。
這是狡猾的部分。艾格尼絲拿著她收到的結果,將其提升到她的私人號碼的冪,以獲得秘密信息(10號)。伊莎貝爾得到了阿格尼絲的公開結果,并將其提升到她的私人號碼的冪,得到了同樣的秘密信息,也就是10號。
他們以不同的順序對指數(shù)進行了同樣的計算(都計算了3的私人數(shù)字的冪)。如果你交換指數(shù)的位置,結果不會改變。
RSA使用公鑰和私鑰對,其中第一個用于加密,第二個用于解密。這就是為什么它被稱為非對稱算法。它使用一個活門函數(shù),這是一個單向函數(shù),很容易執(zhí)行,但很難逆轉。換句話說,它是一個數(shù)學鎖,需要第二個單向函數(shù)(或稱為陷阱門的特殊信息)來解密消息。
首先,艾格尼絲和伊莎貝爾在兩個質數(shù)p和q上達成了一致。
然后,根據(jù)公式計算得到的通分,并選擇指數(shù):
作為Diffie-Hellman算法,RSA使用模塊化求冪運算。公鑰使用用于加密的模數(shù)(n)和指數(shù)(e)生成。私鑰由用于解密的模(n)和秘密私指數(shù)(d)生成。
在計算中使用的整數(shù)是素數(shù),這使得解密成為一項費時費力的任務,因為對大素數(shù)進行因式分解很困難——這就是所謂的因式分解問題。
這些是密碼算法的基本技巧。當然,艾格尼絲和伊莎貝爾l需要成為使用非對稱算法的計算機,因為解決質數(shù)分解問題需要很高的計算能力。盡管看起來15世紀的神秘女性能夠很好地隱藏她們的秘密,以至于今天的密碼專家仍在試圖破解她們的秘密,但對她們來說,不對稱加密技術同樣是一種可靠的解決方案。這就是加密貨幣錢包選擇這種方法來保證你資金安全的原因。