傳播知識遠比開拓羅馬的疆域更偉大。
——蓋烏斯·尤利烏斯·愷撒
01
凱撒密碼
在密碼學史上,載入史冊的有很多「首次」的故事,但到如今,最被大家所熟知的就是我們這次要講的愷撒密碼。
公元前58年,當愷撒成為高盧(今法國南部)總督後,便發動了高盧戰爭。高盧一戰打了9年,最後以愷撒的完勝收場,而此時戰功赫赫的愷撒早已成為遠在羅馬元老院的元老們眼中釘。於是,元老院元老們拉攏龐培,準備設計謀殺愷撒。
公元前49年,元老院向愷撒發布撤回羅馬的命令,並表示如不遵守,就宣布愷撒為國家的敵人。攜大軍的愷撒沒有絲毫退卻的意思,在臨近返回羅馬時,試圖武裝奪取政權,嚇得元老們紛紛逃跑,剩下的人被強制要求推舉愷撒為獨裁官。於是,遊戲結束,愷撒成為了最後的贏家。
當然,愷撒本人除了作為西方歷史上著名的獨裁者、陰謀家,他還十分熱衷於密文寫作。
在高盧戰爭期間,他不僅把敵人打得落花流水,還建立了廣泛、深入的情報網。在高盧戰爭的記載中,提到了他的好友羅馬將領西塞羅被包圍時,如何將消息通過密文傳遞給他。愷撒用密文的形式,是為了避免「當消息被敵人截獲時,我們的對策不會被敵人發現」。
這個經典的密碼密文是「VIMRJSVGIQIRXW SRXLI AEC」,其通過一個四位的移位加密完成,例如:「R+4=V」。破譯密文後,得到的明文為「REINFORCEMENTS ON THE WAY」,也就是 「援軍就在路上」。
所以,愷撒密碼其實就是通過將明文中的字母,按照固定的數字向後推移,進行加密。如果到了「Z」這個字母,則返回ABCD繼續排列進行加密即可。簡單來說,愷撒密碼中的加密算法就是字母的推移,而密鑰就是推移字母的數字,很簡單吧。
講到這裡,你可能會有一個問題,既然密文是通過推移生成的,那麼愷撒的敵人算完所有可能性(最多26種可能),不就知道明文了,這有什麼難的?
愷撒密碼在當時有多大的效果,現在我們已經無法得知,但還是有理由相信在當時是安全的。因為愷撒所在的時代,大部分敵人目不識丁,而當時的文字還不像現在這麼集中,能讀懂字母的人也可能將這些消息當作是某個自己看不懂的外語,所以即使某個敵人獲取了愷撒的加密信息,當成外文看的概率也遠大於把它當作一種密碼。
但用過一次後,對於熟悉的人來說確實就不好使了。所以,在後來的歷史中,誕生了許多愷撒密碼的變形密碼,比如奧古斯都在後期將數字向前推移來進行加密,再比如我們在第二期密文中使用的維吉尼亞密碼等等。
02
第8期謎題
密文正文:
ZkdwlvwkhNooerivngvbabsLaolylbt?
密文提示:暴力美學
密文難度:★★★
本期獎勵最快解出密文的前三名(以留言時間為準),第一名獎勵66.6元,第二、三名各獎勵36.6元。在得到答案並斷句後,你需要在本文下方留言中寫出。如果無人中獎或中獎人數不足3位,未領取的獎勵將會計入下次活動中。
03
第7期謎題與解密
第7期密文正文:
krrovzoiiaxbkixevzumxgvne
第7期明文答案:
elliptic curve cryptography.
第7期加密方式依然為「因式分解」,難度只有2星,很多玩家應該就能明白,這道題不會像《解題有獎#6 | 黎曼猜想告訴你,這個世界確實是屬於數學的》中的密文那麼難了。
但823543這個數比2310大得多,所以怎麼迅速分解就很重要了。無論你採取什麼方法,最後你會發現,分解的結果全部都是7。沒錯,這道因式分解真的並沒有別的項。那麼,全部都是7的話,實際上就是最簡單的形式,也就是我們本期所講的「凱撒密碼」了,移位即可得到答案。
最後,依然祝各位玩得開心,周末愉快!
享受破譯、喜歡密碼學小夥伴,可以添加小編微信(微信號:dabaibtc),進入「大白解密群」哦。
——End——
『聲明:本文為白話區塊鏈解密專欄特約作者「Dr. Strange」供稿,答案下期揭曉。』
親,給「白話區塊鏈」加個「星標」
👇 不錯過重要推送哦 👇