1、幾種常見密碼形式:
1、柵欄易位法。 程序員
即把將要傳遞的信息中的字母交替排成上下兩行,再將下面一行字母排在上面一行的後邊,從而造成一段密碼。算法
舉例:網絡
TEOGSDYUTAENNHLNETAMSHVAED工具
解:oop
將字母分截開排成兩行,以下編碼
T E O G S D Y U T A E N N加密
H L N E T A M S H V A E D翻譯
再將第二行字母分別放入第一行中,獲得如下結果code
THE LONGEST DAY MUST HAVE AN END.排序
課後小題:請破解如下密碼
Teieeemrynwetemryhyeoetewshwsnvraradhnhyartebcmohrie
2、愷撒移位密碼。
也就是一種最簡單的錯位法,將字母表前移或者後錯幾位,例如:
明碼錶:ABCDEFGHIJKLMNOPQRSTUVWXYZ
密碼錶:DEFGHIJKLMNOPQRSTUVWXYZABC
這就造成了一個簡單的密碼錶,若是我想寫frzy(即明文),那麼對照上面密碼錶編成密碼也就是iucb(即密文)了。密碼錶能夠本身選擇移幾位,移動的位數也就是密鑰。
課後小題:請破解如下密碼
dtzwkzyzwjijujsixtsdtzwiwjfrx
3、進制轉換密碼。
好比給你一堆數字,乍一看頭暈暈的,你能夠觀察數字的規律,將其轉換爲10進制數字,而後按照每一個數字在字母表中的排列順序,
拼出正確字母。
舉例:110 10010 11010 11001
解:
很明顯,這些數字都是由1和0組成,那麼你很快聯想到什麼?二進制數,是否是?嗯,那麼就試着把這些數字轉換成十進制試試,獲得數字6 18 26 25,對應字母表,破解出明文爲frzy,呵呵~
課後小題:請破解如下密碼
11 14 17 26 5 25
4、摩爾斯密碼。
翻譯不一樣,有時也叫摩爾密碼。*表示滴,-表示噠,以下表所示好比滴滴噠就表示字母U,滴滴滴滴滴就表示數字5。另外請你們不要被滴噠的形式所困,咱們實際出密碼的時候,有可能轉換爲不少種形式,例如用0和1表示,迷惑你向二進制方向考慮,等等。摩爾斯是咱們生活中很是常見的一種密碼形式,例如電報就用的是這個哦。下次再看戰爭片,裏面有發電報的,不妨本身試着破譯一下電報
內容,看看導演是否是胡亂弄個密碼矇騙觀衆哈~因爲這密碼也比較簡單,因此不出小題。
A *- B -*** C -*-* D -** E * F **-* G --*
H **** I ** J *--- K -*- L *-** M -- N -*
O --- P *--* Q --*- R *-* S *** T -
U **- V ***- W *-- X -**- Y -*-- Z --**
數字
0 ----- 1 *---- 2 **--- 3 ***-- 4 ****-
5 ***** 6 -**** 7 --*** 8 ---** 9 ----*
經常使用標點
句號 *-*-*- 逗號 --**-- 問號 **--**
長破折號 -***- 連字符 -****- 分數線 -**-*
5、字母頻率密碼。
關於詞頻問題的密碼,我在這裏提供英文字母的出現頻率給你們,其中數字所有是出現的百分比:
a 8.2 b 1.5 c 2.8 d 4.3
e 12.7 f 2.2 g 2.0 h 6.1
i 7.0 j 0.2 k 0.8 l 4.0
m 2.4 n 6.7 o 7.5 p 1.9
q 0.1 r 6.0 s 6.3 t 9.1
u 2.8 v 1.0 w 2.4 x 0.2
y 2.0 z 0.1
詞頻法其實就是計算各個字母在文章中的出現頻率,而後大概猜想出明碼錶,最後驗證本身的推算是否正確。這種方法因爲要統計字母出現頻率,須要花費時間較長。
6、維熱納爾方陣。
上面所說的頻率分析,很容易破解較長篇幅的密文,因而維熱納爾繼承前人的經驗,創造出了這個維熱納爾方陣,從而克服了詞頻分析輕易可以破解密碼的弊端,成爲一種較爲強大的密碼編譯形式。
a b c d e f g h i j k l m n o p q r s t u v w x y z
1 B C D E F G H I J K L M N O P Q R S T U V W X Y Z A
2 C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
3 D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
4 E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
5 F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
6 G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
7 H I J K L M N O P Q R S T U V W X Y Z A B C D E F G
8 I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
9 J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
10 K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
11 L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
12 M N O P Q R S T U V W X Y Z A B C D E F G H I J K L
13 N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
14 O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
15 P Q R S T U V W X Y Z A B C D E F G H I J K L M N O
16 Q R S T U V W X Y Z A B C D E F G H I J K L M N O P
17 R S T U V W X Y Z A B C D E F G H I J K L M N O P Q
18 S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
19 T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
20 U V W X Y Z A B C D E F G H I J K L M N O P Q R S T
21 V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
22 W X Y Z A B C D E F G H I J K L M N O P Q R S T U V
23 X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
24 Y Z A B C D E F G H I J K L M N O P Q R S T U V W X
25 Z A B C D E F G H I J K L M N O P Q R S T U V W X Y
26 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
以上就是維熱納爾方陣,它由明碼錶(第一行的字母)、密碼錶(下面26行)和密鑰組成,下面我舉個例子說明。
舉例:
密鑰:frzy
密碼:qfuc
解:第一個字母,看以f開頭第五行,對應明碼錶查找q字母所標示的字母爲l。以此類推找出後面字母。所得明文爲love。
這個也不出小題了,只要有密鑰,再複雜的密碼也能查出來,就是個查表的問題~
2、一些新興的密碼形式:
1、利用鍵盤
不管是計算機鍵盤,仍是收集鍵盤,都是出密碼的好工具哦,能夠用錯位、或者排列形狀等。使用手機鍵盤和這個同理。另外手機鍵盤還能夠在鍵盤的字母上作文章,例如你能夠用51表示字母j,用73表示字母r等。
舉例:
r4a6
這個密碼利用計算機鍵盤,將明文字母分別向上移動一個位置,獲得密文。破解結果爲frzy。
852 74123 741236987 426978974123456 7412369
這排數字是否是很暈?其實很簡單,對照小鍵盤,依次打這些字母,看組成的形狀就好了。答案是I L O V E U。
課後小題:請破解如下密碼
18 29 19 34 13 17
2、字母形狀
本人曾經收到過這樣一個密碼短信,不幸被破解,致使發短信人被我很是嚴肅地奚落了一番!
前面我不記得了,只記得後面是hep poo6。這個你能夠從手機裏打出來,而後把手機倒過來看,造成了密碼的明文,good day~~~
課後小題:請破解如下密碼
AnnAW T2UL
THpin boop YA2
T99W2 A 9VAH
MA37b
3、密碼印象
前言:本文是一篇人文性質的文章,並不是技術文章。對密碼學感興趣的讀者,能夠去圖書館查閱相關的書籍,或者去報考我校密碼學權威——楊義先教授的研究生。本篇重在宣揚人文理念,主要講述了我這些年對密碼方面的一些瞭解和隨想,古典的味道比較濃。好了,諸位看官,咱們開始。
Case 1 達·芬奇密碼
13-3-2-21-1-1-8-5
O Draconian devil !(啊,嚴酷的魔王!)
Oh Lame Saint !(噢,瘸腿的聖徒!)
這是暢銷小說《達·芬奇密碼》裏面出現的第一段密碼。在故事中,盧浮宮博物館館長被人殺害,臨死前用隱寫筆在地上寫下了這樣一段使人費解的文字,其中隱藏了重要的信息。
主角是如何破譯這段密碼的呢?他經過分析發現開頭的「13-3-2-21-1-1-8-5」是解密的關鍵所在。將這一串數字從小到大從新排列,獲得「1-1-2-3-5-8-13-21」,剛好是數學中著名的斐波那契數列。這就暗示着,謎題中的文字也是通過亂序排列的。因而,通過對文字的從新排序,主角獲得了明文:
Leonardo da Vinci !(萊昂納多·達·芬奇!)
The Mona Lisa !(蒙娜麗莎!)
故事在這裏終於出現了起色,讀者今後開始了驚心動魄的密碼之旅。真是給人一種茅塞頓開的感受。
固然,這只是浩如煙海的密碼世界的一個比較典型的例子。下面,就讓咱們切入正題。
Case 2 密碼釋義
使用電腦多了的人,聽到「密碼」一詞總會想到password。其實在英語中,主要有兩種對密碼的解釋。一個就是password,還有一個是 code。後者比較不經常使用一點,不過程序員(coder)對這個詞仍是有着比較深的感情的(笑)。
其實password和code在含義上是有着本質的區別的。對於password,我以爲稱它爲「口令」彷佛更貼切一些。好比Windows 的開機密碼,好比FTP的登錄口令,等等。其特徵是把輸入的一個字符串與標準答案進行比對,根據其結果來決定是否授予經過的權限。這個比對的工做是一次性的,並且原理簡單。而code就不一樣。對於code,主要體現的是「翻譯」的過程,牽涉到對信息的編碼和譯碼。好比凱撒密鑰,好比RSA算法,等等。這裏面牽涉到不少數學的東西,好比對字符的分解和重組等。固然,從廣義的角度講,code的編碼和譯碼也能夠往數學之外的方面延伸,這又涉及到不少典故,在此按下不表。
本文主要講述的,基本上是關於code的內容。
Case 3 初見密碼
20.8.1.14.11/25.15.21/
9/12.15.22.5/25.15.21/
這是我小學二年級第一次接觸密碼這種事物時,所遇到的一段code。當時腦筋急轉彎之類的東西尚未引進到大陸,我是在一本香港出版的智力遊戲書籍中發現這個密碼的。原文我忘了,在這裏我用相同的加密方式寫了一段話。
解密的方法很簡單,只要把a=1,b=2,… z=26代入code,就能夠很是容易地獲得明文:
Thank you , I love you .
怎麼樣,是否是很容易?不過若是將四則運算加入譯碼(好比讓a=2等),破譯時就有必定的難度了。
這是一種很典型的古典密碼。
Case 4 凱撒密鑰
提到古典密碼,就不能不提到著名的凱撒密鑰。基本上每一本密碼學方面的基礎教材在提到古典密碼時,都會舉出凱撒密鑰的例子。凱撒密鑰的加密公式是:
c≡ m + k mod 26
凱撒密鑰又稱爲單表代替法。其中m爲明文的數據,c爲加密後的數據,而k是密鑰。
當年凱撒指導軍團做戰,使用的就是這套密碼體系。好比讓a=d,b=e,c=f……依此類推。
這在密碼史上產生了重要的影響,不能不說是一個經典。
Case 5 珍珠港
還記得電影《珍珠港》中的戰火和硝煙麼?在日本偷襲珍珠港以前,美國的情報部門破譯了日本的外交電報密碼,可是因爲當局沒有重視,最後仍是沒能阻止悲劇的發生。
1942年4月和5月期間,在美軍截獲的日軍通信中,有一個「AF」名稱出現的頻率和次數明顯增多,羅奇福特少校領導的情報小組絞盡腦汁,終於在堆積如山的偵抄電文中找到一份日軍偷襲珍珠港時的電報,電文曾提到「AF」,說一架日軍水上飛機須要在「AF」附近的一個小珊瑚島上加油。所以羅奇福特推斷,「AF」只能是指中途島。爲進一步證明這一推斷的準確性,駐中途島上美軍奉命用淺顯的明碼拍發了一份做爲誘餌的無線電報,謊稱中途島上的淡水設備發生了故障。果真不久,美軍截獲一份日軍密電,電文中說:AF可能缺乏淡水。一切立時真相大白了。羅奇福特小組以此爲突破口,一會兒破譯了反映日軍艦隊做戰計劃的全部通信。這樣,尼米茲不只清楚掌握了日軍奪取中途島的戰略企圖,並且還查明瞭其參戰兵力、數量、進攻路線和做戰時間,甚至連對方各艦長的名子都瞭如指掌。(注:這段文字摘自網絡)
日軍當時使用的密碼體系代號爲JN25,比較複雜。可是美軍破譯這個密碼的手法倒是一種很是經典的解密技術。其基本方法是,直接分析密文,根據字符出現的頻率分佈逆推出密碼錶。好比研究證實,英語文章裏面26個字母的出現頻率老是固定的,因而咱們就能夠根據統計得來的數據解析出原始的密碼錶。所以,單純以字母替換爲基礎的密碼體系是很是脆弱的,能夠說是形同虛設。
Case 6 電影中的密碼
與間諜或偵探有關的電影中,總會出現各類各樣的密碼。隨着電影的發展,以電腦叛客爲題材的科幻電影就更是將這一點發揮到了極致。
在電影中,彷佛password的出現次數比code要多得多。在警匪片中,常常會有敵方的黑客在筆記本電腦上開着算號器破解密碼的場面出現。好比《對抗性遊戲》裏,罪犯甚至能夠經過破解旅館電腦系統的密碼來鎖住全部房間的門。須要指出的是,電影裏黑客所使用電腦的界面每每都很是的人性化,要麼是畫面華麗精美,要麼能夠識別天然語言。不知導演是怎麼想的。嗬嗬,這是題外話:-p。
至於電影中的code,給我印象比較深的是《神祕拼圖》等。這裏面的code與一般的code不一樣。由於要考慮到觀衆的理解能力,電影中的 code的密鑰每每與一些典故有關,好比在一本書裏(好比聖經),或者在一幅畫中。這些因素老是使得懸疑的情節散發出濃厚的人文氣息。有時候,電影中的 code乾脆就以字謎或畫謎的形式出現,這就是我在前面提到的,在數學之外領域的延伸,本質上是一種隱喻。
固然,不只僅是電影,在小說、遊戲等其餘藝術領域,密碼也常常出現,而且老是能成爲推進情節發展的關鍵動力。好比《達·芬奇密碼》,好比福爾摩斯的一些探案故事。
Case 7 The RING
若是提到恐怖小說,不能不提到《午夜兇鈴》。這也是我惟一完整讀完的長篇恐怖小說。《午夜兇鈴》是日本著名小說家鈴木光司的做品,共有四部。其情節我就再也不贅述了。須要指出的是,在小說的第二部《兇鈴再現》中,做者以至關的篇幅描寫了一種基於DNA的極度匪夷所思的密碼。
大體的情節是:午夜兇鈴的受害者因爲受到怨念的影響,體內的基因產生突變。通過染色體的變異,四個鹼基A,G,T,C(腺嘌呤、鳥嘌呤、胸腺嘧啶、胞嘧啶)通過組合居然表達出了非同通常的信息。這種以染色體鹼基序列做爲加密載體的方式,我還真是聞所未聞。不由對鈴木光司那天馬行空般的想象力感到深深的佩服。
Case 8 生命之歌
中國著名科幻小說做家王晉康曾經寫過一部很是經典的小說《生命之歌》,也是關於DNA密碼的。當時曾經引起了科幻界的大討論,給我印象很深入。
故事提出的假設是,既然DNA包含了生命的密碼,那麼機器若是洞悉了其中的奧祕,會不會發展成足以和人類競爭的生命形式呢?小說裏面還加入了音樂的要素,即把DNA的序列編製成了旋律,即生命之歌。這個是有必定科學依據的。由於歷史上確實有過把DNA序列譜寫成音樂的先例(好像是個日本的演奏家,具體的我給忘了)。
這彷佛又是一個隱喻。抑或是,諷刺?
Case 9 密寫術
這個話題彷佛跟密碼沒什麼關係。可是由於實在頗有趣,我就寫下來了。
所謂密寫,就是用特殊的方式寫信息,而後只能用特殊的方式才能看到。記得中學語文裏有一篇關於魯迅的課文,提到一種用米湯進行的密寫方式。即用毛筆或手指蘸着米湯寫字,只有紙張浸水後才能看到。後來看了一些影視做品,常常出現的場面是一張羊皮紙在熊熊的火中現出字跡。最誇張的是漫畫《城市獵人》中有一節,竟然是在鏡子的背面進行密寫,而後將鏡子反光在牆上投影,從中就會顯現出字樣。
下面介紹一種很是簡單的密寫方法。首先,準備兩張白紙和一盆水。將其中的一張白紙在盆內浸溼,鋪開在桌面,攤平。將另一張乾燥的白紙覆蓋在溼的那張紙上,而後在其上書寫文字。寫完後,將乾燥的紙張拿走,毀掉,而後把那張浸溼的紙曬乾。好了,曬乾後的那張紙看上去將仍然是一張白紙,但是一旦浸溼,就會顯現出字樣。密寫成功。
這個方法我在初中玩過屢次,屢試不爽。
Case 10 矩陣博士
差點忘了,談論密碼就不能不提到一位美國人,大名鼎鼎的矩陣博士。他的真名我忘了,不過他在美國應該是家喻戶曉。《科學美國人》雜誌曾經對他作過長期的採訪。矩陣博士的職業是「數學巫師」,就是經過數學來搞一些玄學的東西,好比算命等等。此人數學天賦極高,惋惜沒有用在正道上。《科學美國人》對他的專訪也是揭露了不少他的騙術。好比,他使用一個環形的字母表來給人測字,或是對人夢中出現的數字給予玄妙的解釋(舉例:有我的夢中常常出現7734這個數,矩陣博士給它倒過來寫,結果變成了hell,即地獄)。他能夠經過一美圓紙幣的隱喻預測肯尼迪的被刺。他甚至宣稱開發出了能夠寫詩的電腦程序。他還曾由於非法變造美圓貨幣(經過特殊的裁剪粘貼使得14張20美圓紙幣變爲15張)而遭到通緝。最後他的數學「天才」終於引發了當局的注意,被招安到了中央情報局,從事密碼方面的研究。
《科學美國人》的專欄做家馬丁·加德納爲此曾經專門寫過一本書,介紹陣圖博士的把戲。我看的是80年代的中譯本,取名竟然叫《科學算命之謎》,如今的譯本改成《矩陣博士的魔法數》,有興趣的讀者不妨找來一讀。
Case 11 聖經密碼
上個世紀在西方世界鬧得沸沸揚揚的一本書《聖經密碼》,將密碼的故事推演到了極致。此書多是由於意識形態的緣由在大陸沒有出版,所以我只能讀到盜版的臺譯本。
90年代,美國《華盛頓郵報》記者德羅斯寧出版了一本叫做《聖經密碼》的書,記述了有關聖經密碼的破譯方法,及密碼對過去一些重大歷史事件的印證和對將來世界的聳人聽聞的預測。聖經密碼的發現者在1994年預測拉賓遇刺,結果1995年悲劇果真發生了。當時在全世界引起了轟動,也引起了科學界與宗教界的激烈辯論。
所謂聖經密碼,就是採起均衡間字法能夠發現聖經中隱藏的信息,即「上帝的啓示」。 研究人員首先將原版希伯萊文的《聖經》舊約輸入計算機,去掉全部的標點,使之成爲一整篇由344805個希伯萊文字母組成的文字,而後運用均衡間字法對整篇經文進行搜尋,結果得到驚人的發現。神奇的聖經密碼不只印證了許多重大的歷史事件,甚至彷佛還能夠預測將來世界。好比,使用計算機對聖經密碼進行分析,搜索「第二次世界大戰」,能夠找到「希特勒」的名字,並且周圍還環繞着諸如「納粹」、「屠殺」等字眼。讓人感受十分的匪夷所思。