Keys

“鑰匙”一詞的定義

  • May 9, 2015

我查看了很多地方(NIST、教科書、線上資源),但從語義的角度來看,我找不到“關鍵”一詞的定義的答案。

它是密文的“鑰匙”(即像鎖定/解鎖的門鑰匙),還是算法的“鑰匙”(即使其工作的關鍵因素,如梯形石)?

我被告知是後者,但無論哪種方式我都找不到證據。我可以理解差異是否太小而無法討論,但我想知道該術語的原始意圖是否已知。

編輯:

為了進一步闡明我如何理解語義:因為密鑰是算法執行所必需的,所以密鑰對於算法來說是“意味著”的(例如,拱門的梯形石或 IBM 電腦的打孔卡)術語“ key’ 意味著作為一個程序的推動者,而不是作為一個秘密的鎖定/解鎖器。尤其如此,因為加密密鑰可用於不“隱藏”或“保護”數據的算法。

在加密方案的上下文中,密鑰是加密消息的合法接收者擁有的任何資訊,這使他能夠有效地解密密文。因此,密鑰必須對攻擊者隱藏,否則攻擊者可以像合法使用者一樣有效地解密。

大多數密碼——無論是古典密碼還是現代密碼——都可以使用任何密鑰。只是,如果用於解密消息的密鑰與用於加密它的密鑰不匹配1,則輸出將基本上是無稽之談,並且不會透露實際預期的消息。

(然後一些加密系統可能會檢測到解密的文本是無意義的,這通常是消息完整性檢查的副作用,並且可能會因錯誤指示而不是返回垃圾而中止。但這對於密碼的基本操作嚴格來說是次要的。 )

因此,說密鑰是“算法執行所必需的”是不正確的——算法對任何密鑰都很好(並且通常很容易組成任意密鑰),它只是根據不同的情況發揮不同的作用鑰匙。


事實上,從歷史上看,很明顯,密碼學中“密鑰”的原始含義來自“允許進入或訪問的東西”的含義。例如,這是Leon Battista Alberti 的論文De componendis cifris (c. 1466) 的早期引述,描述了Alberti 密碼

“完成後,我們將確定我們想成為誰的索引,因為它是索引,可以說是進入神聖儀式最深處的鑰匙。每個人都可以做出決定。”

唉,我的拉丁語很糟糕,但這是我在字典和Google翻譯的幫助下拼湊出來的粗略翻譯。歡迎改進和更正:

“完成此操作後,我們必須選擇索引

$$ cipher alphabet $$; 因為這個索引確實就像一把鑰匙,打開了最深處的聖殿的入口。但指數本身是雙重的;一部分由靜態的大寫字母組成,另一部分由可移動的小寫字母組成,兩者都可以自由選擇。”

事實上,這是文本中唯一出現“key”(clavis)一詞的地方。應該清楚,即使從我笨拙的翻譯來看,這個有點詩意的典故確實是打開門的鑰匙,而不是拱形石。


當然,現在這個問題由於引入了除密碼之外的加密工具而有些混亂。在現代密碼學中,密鑰可能不會(僅)用於加密和解密,還可以用於例如簽名或驗證消息。

然而(儘管人們可能認為這只是一個術語上的巧合)同樣的比喻,正確理解,仍然有效:在現代密碼學中,鑰匙是*控制訪問的東西,*擁有它可以讓人們有能力做某事應該僅限於某些個人——無論是解密秘密消息,以某人的名義簽署文件,還是被授予訪問電腦系統的權限。

(對於公鑰密碼學,這個比喻確實有些失效;事實上,我幾乎認為“公鑰”這個詞是一個矛盾的術語,因為在密碼學的其他任何地方,“密鑰”都是要保密的。不過,它是現代加密術語的一個既定部分,並且,由於缺少更好的術語,它仍然存在。)

也可以看看:


  1. 對於經典密碼和現代對稱密碼,密鑰需要有效地相同。對於非對稱(公鑰)密碼,密鑰對的兩半需要具有適當的數學關係。例如,對於 RSA,公鑰和私鑰由模數和指數組成;為了解密成功,模數必須相同,並且指數必須是彼此的模倒數。

引用自:https://crypto.stackexchange.com/questions/25364