趣味密碼學之一 從福爾摩斯的小人說起

2021-09-30 02:56:59 字數 947 閱讀 1549

各位請先看看下圖:

這僅僅是單純的圖畫嗎?

看過福爾摩斯探案集的人應該會有印象--那是在《跳舞的人》**現的"小人密碼"。在這個故事裡大偵探面對的難題就是要破解這個密碼,得到圖畫中隱含的資訊從而獲得破案的線索。聰明的福爾摩斯當然在蛛絲馬跡中順藤摸瓜推理出密碼的意思啦。雖然這個故事是虛構的,但其中卻包含著豐富的密碼學知識。

讓我們跟著福爾摩斯一起,展開學習密碼知識的旅程。

剛一開始,大偵探接到這張畫滿小人的紙條當然不可能馬上就知道是什麼意思。但唯一推測到的是這一串圖畫代表一串單詞或數字。

沒錯!所謂的"密碼"就是一種為了掩人耳目,傳送秘密訊息給對方而設計的方法。幾乎可以說只要有秘密,為了保護秘密,就有密碼。因此密碼的起源很早,在人類能夠彼此溝通之時,密碼也就隨之而誕生。原來的資訊明明白白、清清楚楚,叫做"明文";"明文"通過某種規則方法轉換後就成了"密文",原來的意思就成了秘密。

福偵探手中只有這一串小人("密文"),如果沒有更多的密文、更多的線索是無法得知其中意思的。因為如果乙個小人代表乙個字母,那這麼多小人排在一起組成的單詞就有成千上萬種可能性,根本無法通過一一枚舉來破解。如圖的15個小人的組合就有2615種,簡直是天文數字(當時並沒有計算機)。再者,如果這些小人每個代表乙個數字,而這些數字又恰恰對應某本書上某一頁的某個字呢?可能性有很多種,單單憑這一條線索來分析推理明文,和瞎編亂猜沒什麼區別。因此可以說,這個密碼是很安全的,人們無法破解--也就是達到了"完全安全"(perfect security)的高度。

在密碼學裡,要做到理論上絕對的安全只有一種方法:"一次一密"。就是加解密的方法只使用一次,用完即棄。在二次大戰時期,間諜們都有乙個活頁本,每頁都記載著加密解密的方法,每次加密後就把那一頁銷毀,確保安全。

看來我們要為大偵探捏一把汗了。那到底他是如何解決著一難題的呢?

(待續)

密碼學基礎系列之(2 1傳統對稱金鑰密碼之一)

傳統對稱金鑰密碼之一 傳統對稱金鑰密碼可分為兩類 代換密碼和換位密碼。相對於現代密碼,傳統密碼更簡單,但其原理是相通的。分析傳統密碼更易理解密碼的基本原理。代換密碼 substitution cipher 就是用乙個符號代替另乙個符號。單碼代換中,明文中的符號與密文中的符號一一對應。additive...

乙個簡單的密碼學例項

乙個簡單的密碼學例項 分享乙個密碼學例項 假設我們的主角是alice和bob,他們準備一同出去吃飯,但就去哪家餐廳並沒有達成共識。此時通常的解決方法是猜拳 投硬幣之類的手段來決定選擇誰的方案。通常這種方式也算公平 合理,就像足球場上的擲幣一樣 概率是一半一半 而此時我們需要的是一種協議,這個協議可以...

密碼學的一些基本概念

密碼學是研究如何隱密地傳遞資訊的學科。機密性 是網路資訊不洩露給非授權使用者的特性,防止被動攻擊。常用的保密技術包括 防偵聽 防輻射 資訊加密 物理保密等 完整性.完整性是網路資訊未經授權不能進行改變的特性。完整性是一種面向資訊的安全性防止主動攻擊。不可否認性 用於防止通訊雙方中的某一 方 對所傳輸...