| 微信第一風尚自媒體 |
範主說:大腦要燒起來了!
(商務範出品,轉載請註明)
每個人都有秘密,有些秘密可能永遠藏在心裡,有些則是要分享給特定的某人,為了不讓無關的人看到,密碼誕生了。說到密碼,你可能會想到這些詞:安全、間諜、破譯、腦力遊戲……今天範主會給大家介紹三種簡單好用的加密方法,讓你輕鬆假裝成高智商人士。
值此光棍節即將到來之際,看完這篇文章的你,不妨用加密的文字給心愛的人寫一封情書,然後告訴ta解密的方法,好了,花樣虐狗新技能get!
☞ 凱撒密碼:最經典的加密法,你也可以試試
根據古羅馬史學家蘇埃託尼烏斯的《羅馬十二帝王傳》一書中的記載,凱撒曾經在軍事行動中使用過一種加密方法:
凱撒說:如果需要保密,信中便用暗號,也即是改變字母順序,使局外人無法組成一個單詞。如果想要讀懂和理解它們的意思,得用第4個字母置換第一個字母,即以D代A,餘此類推。
這種加密方法在密碼學上被稱為替換式密碼,即用特定的方式改變字母的字母順序,並且以改變後的順序書寫。比如經典凱撒密碼的偏移量是3,於是我們就能得到下面這個圖:
也就是說,當我們想說A的時候,寫出來的是D……根據這個圖,我們可以得到下面這個密碼錶:
明文字母表:ABCDEFGHIJKLMNOPQRSTUVWXYZ
密文字母表:DEFGHIJKLMNOPQRSTUVWXYZABC
比如我想給WANGSICONG這個詞加密,就可以按照上面的密碼錶,得到「ZDQJVLFRQJ」這個密碼。
把凱撒密碼搞得再複雜一點,就能得到現在在歐美一些網絡論壇上比較流行的ROT13加密法,發帖人為了隱藏劇透或者髒話,逃過版主或管理員的審查,才想出了這種加密法。ROT13原理很簡單,凱撒密碼是把字母表位移了三位,ROT13就是位移了13位,當你想說A的時候,寫出來卻是N,如下圖所示:
比如你想給LVCHABIAO這個詞加密,根據密碼錶,你可以得到YIPUNOVNB這個密碼
剛剛講完凱撒密碼,範主就收到了一份奇怪的挑戰書,來自Geek感滿滿的阿里雲……
這封向全中國程式設計師發出的密碼挑戰書,能破解就有機會贏得阿里雲雙11專屬1024元紅包。
乍一看這封挑戰書,英文字母雜亂無章,範主頓時頗摸不著頭腦,只想問一句「What are you 弄啥嘞」。不過,據阿里雲透露,通過精心設計,這封挑戰書有三重密碼限制,最關鍵的解題線索甚至能追溯到三百年前之遠。用戶需要像福爾摩斯般抽絲剝繭,捕捉字母間的暗示,破除三重密碼,才能揭開背後的最終奧秘。
☞ 維吉尼亞密碼:挑戰更為複雜的加密方法
以凱撒密碼為代表的單字母替代式密碼是非常容易被破解的,儘管密鑰的存在的這種各樣的可能性,只要密文長度足夠長,密碼破譯者就能夠通過頻率分布推斷出出現次數最多的密文意思。如果密鑰洩露,那密碼就完全不設防了。由於單字母代替式的密碼太容易破解,於是後來又出現了多字母替代式密碼,也就是由兩組或多組密碼字母集進行加密。
上面這位名叫萊昂·巴蒂斯塔·阿爾伯蒂,1467年他提出了多字母替代式密碼的方法,並且發明了一個金屬密碼盤來切換密碼,這種方法後來發展出了維吉尼亞密碼。
之前我們講到凱撒密碼是依靠字母表的位移來加密的,所以你可以把維吉尼亞密碼理解為一些偏移量不同的凱撒密碼的組合。要生成密碼,就需要一個密碼錶,就是下面這個(密恐患者慎看):
這個表格有26行字母,每一行都是前一行向左偏移一位。舉個慄子:你要把「ILOVEYOU」這條明文信息加密,需要分以下幾步:
第一步:設一個密鑰關鍵詞:比如AINI;
第二步:重複這個關鍵詞,讓關鍵詞字數同要加密的文字的字數一樣,於是我們得到AINIAINI這個密鑰;
第三步:去密碼錶裡進行第二次加密。明文信息的每個字母對應密碼錶的第一行,密鑰的每個字母對應密碼錶的第一列,就像乘法表一樣,行列相交處的那個字母就是密碼用到的字母。
比如我們要加密的明文的第一個字母是「I」,密鑰的第一個字母是「A」,想想乘法表,「I」乘以「A」等於「I」,於是第一個密碼字母就這麼出來了。以此類推:「ILOVEYOU」改造成維吉尼亞密碼就是「ITBNEGBC」。
設置一個維尼吉亞密碼很簡單,但是如果你不知道密鑰,或者沒有高超的數學能力,破解起來可謂是極為困難,維尼吉亞密碼也一度被稱為「不可破譯的密碼」。
☞數字、符號、奇怪文字:為了加密也是拼了
當然,單純依靠字母間的互相替換是不夠的,於是後來又有人引入了數字、拆分字母或者乾脆發明各種奇特的文字來提高加密級。比如至今仍未被破解的「比爾密碼」就是由一串數字組成:
比爾密碼起源於一本只有23頁的小冊子,名為《The Beale Papers》,1885年出版,密碼的作者是60多年前的一位名叫「比爾」(Beale)的神秘人物,這個人在1822年留給一個叫羅伯特·莫裡斯的旅館老闆一個上鎖的盒子,讓他保管10年,如果10年後無人來取,老闆才可以打開盒子。後來盒子果然無人來取,老闆打開盒子以後,發現裡面是三份密碼。旅館老闆花了大半輩子都沒能破解,於是把密碼給了他的一個朋友。
這個朋友便是《The Beale Papers》的作者,他破解了三份密碼中的第二份。這個破譯者發現,第二份密碼的密鑰是美國《獨立宣言》,每一個數字都代表《獨立宣言》中第幾個詞的首字母,密碼聲稱破譯後可以找到埋藏在維吉尼亞州貝德福德縣的寶藏,包括2921磅金子、5100磅銀子和總值約13000美元的珠寶。不過寫有藏寶地點的第一份密碼至今仍然沒有被破譯,不過很多密碼學家認為,「比爾密碼」不過是一個惡作劇。
來自中世紀的《伏尼契手稿》是奇文怪字密碼的典型文本,這本書成書於1404-1438之間,作者不明,被認為是中古世紀鍊金術士的秘密筆記,現在收藏在耶魯大學貝內克珍本與手稿圖書館。全書用奇特的文字符號寫成,至今無人能夠解讀。
同樣著名的還有「十二宮殺手密碼」,因為同名電影而廣為人知。這名至今依然逍遙法外的殺手在1968年12月至1969年10月間至少殺害了七個人。1969年8月1日舊金山的三家報社收到來自殺手的信件,其中包含著由408個字符組成的密碼,殺手聲稱密碼的謎底便是他的真實身份。一周之後,這份密碼被破解,但其中並沒有殺人的身份信息;11月8日殺手由寄來了一份340個字符組成的密碼,至今仍任無人能夠破譯。
其實使用最廣泛的一套文字替代系統是摩爾斯電碼,就是諜戰劇中經常出現的發報機「滴滴答答」的聲音。摩爾斯電碼本身沒有秘密,它只是將字母數字轉換成了電碼的形式。摩爾斯電碼發明於1836年,在海事通訊中被作為國際標準一直使用到1999年。
摩爾斯電碼最重要的組成部分是點(.)和劃(-),也叫做「滴」(Dit)和「答」(Dah)。如上圖,每一個字母、數字乃至標點符號都有特定的代碼。比如商務範的微信號bfaner就可以寫成「-... ..-. .- -. . .-.」,就算內容沒有加密,不懂摩爾斯電碼的人看上去依舊是一頭霧水。
好了,關於密碼的話題今天就說到這裡吧,學會範主今天告訴你的加密技術,你也可以為別人出題了。當然,出題之前,別忘了去破譯阿里雲的挑戰書哦~~~
為了讓所有人都能參與一把挑戰書的挑戰,這個周末,只要與阿里雲的官方微信進行互動,就能獲得解碼的關鍵線索。題外話,會不會與這個雙11最難拿的紅包擦肩而過,可能就在你與官微聊與不聊之間。
不說了,範主得趕著去和我的程式設計師盆友一起解題了,據程式設計師的第六感,這應該與某種碼有關……
(掃描二維碼關注阿里雲官方微信)
想要了解活動詳情,那就猛戳閱讀原文吧!
↓↓↓↓