1. 程式人生 > >古典常用密碼

古典常用密碼

【字母表順序】-數字
  加密的時候,經常要把A~Z這26個字母轉換成數字,最常見的一種方法就是取字母表中的數字序號。A代表1,B代表2,C代表3…

字母 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 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

【進位制轉換密碼】
  例如二進位制:1110 10101 1101 10 101 10010 1111 1110 101
  轉為十進位制:14 21 13 2 5 18 15 14 5
  對應字母表:number

【Mod演算法】
  我們可以對字母序號進行數學運算,然後把所得的結果作為密文。當運算結果大於26或小於1的時候,
  我們希望把這個數值轉為1~26的範圍,那麼取這個數除以26的餘數即可。
  Mod就是求餘數的運算子,有時也用“%”表示。例如 29 Mod 26 = 3,或寫成 29 % 26 = 3,意思是29除以26的餘數是3。

【倒序】
  加密時為經常要對字元進行倒序處理。如果讓你按abcdef…的順序背出字母表的每個字母會很容易,
  但是如果是zyxwvu…的順序那就很難背出來了。一個很熟悉的單詞,如果按相反的順序拼寫,可能就會感到很陌生。

例如“love”字母倒過來拼就是“evol”。

具體加密時倒序有很多種方案,需要靈活運用。例如:

每個單詞的倒序:siht si a tset - this is a test
  整句的倒序:tset a si siht - this is a test
  數字的倒序:02 50 91 02 - 20 05 19 20(test)

【間隔】
  單詞之間的間隔一般使用空格。在加密時常常要去掉空格,但有時某些字母或數字來替代空格也不失為一種好的加密方案。
  錯誤空格位置也會起到很強的誤導作用。

例如:t hi sis at est - this is a test

【字母頻率】
  頻率分析法可以有效的破解單字母替換密碼。

關於詞頻問題的密碼,我在這裡提供英文字母的出現頻率給大家,其中數字全部是出現的百分比:
  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

詞頻法其實就是計算各個字母在文章中的出現頻率,然後大概猜測出明碼錶,最後驗證自己的推算是否正確。
  這種方法由於要統計字母出現頻率,需要花費時間較長。參考《跳舞的小人》和《金甲蟲》。

【凱撒密碼(Caesar Shifts, Simple Shift)】

也稱凱撒移位,是最簡單的加密方法之一,相傳是古羅馬愷撒大帝用來保護重要軍情的加密系統,它是一種替代密碼。

加密公式:密文 = (明文 + 位移數) Mod 26
  解密公式:明文 = (密文 - 位移數) Mod 26

以《數字城堡》中的一組密碼為例:

HL FKZC VD LDS

只需把每個字母都按字母表中的順序依次後移一個字母即可——A變成B,B就成了C,依此類推。因此明文為:

IM GLAD WE MET

英文字母的移位以移25位為一個迴圈,移26位等於沒有移位。所以可以用窮舉法列出所有可能的組合。

例如:phhw ph diwhu wkh wrjd sduwb

利用電腦可以方便地列出所有組合,然後從中選出有意義的話:

qiix qi ejxiv xli xske tevxc
  rjjy rj fkyjw ymj ytlf ufwyd
  skkz sk glzkx znk zumg vgxze
  tlla tl hmaly aol avnh whyaf
  ummb um inbmz bpm bwoi xizbg
  vnnc vn jocna cqn cxpj yjach
  wood wo kpdob dro dyqk zkbdi
  xppe xp lqepc esp ezrl alcej
  yqqf yq mrfqd ftq fasm bmdfk
  zrrg zr nsgre gur gbtn cnegl
  assh as othsf hvs hcuo dofhm
  btti bt puitg iwt idvp epgin
  cuuj cu qvjuh jxu jewq fqhjo
  dvvk dv rwkvi kyv kfxr grikp
  ewwl ew sxlwj lzw lgys hsjlq
  fxxm fx tymxk max mhzt itkmr
  gyyn gy uznyl nby niau julns
  hzzo hz vaozm ocz ojbv kvmot
  iaap ia wbpan pda pkcw lwnpu
  jbbq jb xcqbo qeb qldx mxoqv
  kccr kc ydrcp rfc rmey nyprw
  ldds ld zesdq sgd snfz ozqsx
  meet me after the toga party <-
  nffu nf bgufs uif uphb qbsuz
  oggv og chvgt vjg vqic rctva

可知明文為:meet me after the toga party


【凱撒移位(中文版)】

就是按照中文字在Unicode編碼表中的順序進行移位,可以用來加密中文的資訊。

例:[中文凱撒移位]
  轉換成Unicode編碼:中文凱撒移位
  移1位後成為: 丮斈凰撓秼低
  轉換成中文:[丮斈凰撓秼低]

【柵欄密碼(The Rail-Fence Cipher)】

也稱柵欄易位(Columnar Transposition),即把將要傳遞的資訊中的字母交替排成上下兩行,
  再將下面一行字母排在上面一行的後邊,從而形成一段密碼。柵欄密碼是一種置換密碼。

例如密文:TEOGSDYUTAENNHLNETAMSHVAED

解密過程:先將密文分為兩行

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

再按上下上下的順序組合成一句話

THE LONGEST DAY MUST HAVE AN END.


  加密時不一定非用兩欄,還是舉《數字城堡》中的一個例子,密文為:

PFEE SESN RETM MFHA IRWE OOIG MEEN NRMA ENET SHAS DCNS IIAA IEER BRNK FBLE LODI

去掉空格:PFEESESNRETMMFHAIRWEOOIGMEENNRMAENETSHASDCNSIIAAIEERBRNKFBLELODI

共64個字元,以8個字元為一欄,排列成8*8的方陣(凱撒方陣):

P F E E S E S N
  R E T M M F H A
  I R W E O O I G
  M E E N N R M A
  E N E T S H A S
  D C N S I I A A
  I E E R B R N K
  F B L E L O D I

從上向下豎著讀:PRIMEDIFFERENCEBETWEENELEMENTSRESMONSIBLEFORHIROSHIMAANDNAGASAKI

插入空格:PRIME DIFFERENCE BETWEEN ELEMENTS RESMONSIBLE FOR HIROSHIMA AND NAGASAKI (廣島和長崎的原子彈轟炸的最主要區別)


  柵欄密碼也可以用於中文,不過比較容易破解。

明文: 這是中文的柵欄密碼
  密文(3*3方陣):這文欄是的密中柵碼

由於中文用規則的柵欄比較容易破解,所以產生了一些變體,例如道家心法密籍《天仙金丹心法》中的一段加密方法。密文如下:

○ 茫 天 : 摹 然 月 終 為 鼎 半 是 真 滅 器 輪 假 不 但 伸 淨 著 定 分 泥 萬 ○ 無 ○ 光 人 經 法 一 從 塵 色 返 我 權 自 法 中 妙 大 空 照 生 屈 來 好 路 形 神 海 ○ 便 還 未 歸

○ 茫
  天 : 摹
  然 月 終 為
  鼎 半 是 真 滅
  器 輪 假 不 但 伸
  淨 著 定 分 泥 萬 ○
  無 ○ 光 人 經 法 一 從
  塵 色 返 我 權 自 法 中 妙
  大 空 照 生 屈 來 好 路 形 神
  海 ○ 便 還 未 歸

明文(從上向下豎著讀):天然鼎器淨無塵,大海茫茫月半輪。著色空摹終是假,定光返照便為真。不分人我生還滅,但泥經權屈未伸。萬法自來歸一法,好從中路妙形神。


  利用電腦進行加密或解密,建議使用“列舉加密”或“列舉解密”,電腦會自動嘗試一些正好匹配的欄位進行列舉。

lyiroonevuclesey

4欄:
  loveyousincerely

8欄:
  lionvceeyroeulsy

【Vigenère Cipher】

由於頻率分析法可以有效的破解單表替換密碼,法國密碼學家維吉尼亞於1586年提出一種多表替換密碼,
  即維吉尼亞密碼,也稱維熱納爾密碼。維吉尼亞密碼引入了“金鑰”的概念,即根據金鑰來決定用哪一行的密表來進行替換,
  以此來對抗字頻統計。

加密演算法:例如金鑰的字母為[d],明文對應的字母[b]。根據字母表的順序[d]=4,[b]=2,那麼密文就是[d]+[b]-1=4+2-1=5=[e],
  因此加密的結果為[e]。解密即做此逆運算。

加密公式:密文 = (明文 + 金鑰) Mod 26 - 1
  解密公式:明文 = [26 + (密文 - 金鑰)] Mod 26 + 1

也可以用查表法來進行加密:例如金鑰的字母為[d],明文對應的字母[b],在下圖的表格第一行找到字母"d"(深藍色),
  再在左邊第一列找到字母"b"(綠色),兩個字母的交叉點(b行d列)就是字母"E",所以對應的密文字母為[e]。

[-----------------圖-----------------]

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
  a 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
  b 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
  c 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
  d 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
  e 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
  f 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
  g 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
  h 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
  i 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
  j 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
  k 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
  l 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
  m 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
  n 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
  o 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
  p 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
  q 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
  r 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
  s 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
  t 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
  u 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
  v 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
  w 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
  x 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
  y 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
  z 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

假如對如下明文加密:

to be or not to be that is the question

當選定“have”作為金鑰時,加密過程是:金鑰第一個字母為[h],明文第一個為[t],因此可以找到在h行t列中的字母[a],依此類推,
  得出對應關係如下:

金鑰:ha ve ha veh av eh aveh av eha vehaveha
  明文:to be or not to be that is the question
  密文:ao wi vr isa tj fl tcea in xoe lylsomvn

【Polybius密碼(Polybius Cipher)】

也稱棋盤密碼,是利用波利比奧斯方陣(Polybius Square)進行加密的密碼方式,產生於公元前兩世紀的希臘,
  相傳是世界上最早的一種密碼。

假設我們需要傳送明文訊息 “Attack at once”, 用一套祕密混雜的字母表填滿波利比奧斯方陣,像是這樣:

A D F G X
  A b t a l p
  D d h o z k
  F q f v s n
  G g j c u x
  X m r e w y

i和j視為同一個字,使字母數量符合 5 × 5 格。之所以選擇這五個字母,是因為它們譯成摩斯密碼時不容易混淆,
  可以降低傳輸錯誤的機率。使用這個方格,找出明文字母在這個方格的位置,再以那個字母所在的欄名稱和列名稱代替這個字母。
  可將該訊息轉換成處理過的分解形式。

明文:A T T A C K A T O N C E
  密文:AF AD AD AF GF DX AF AD DF FX GF XF

A,D,F,G,X也可以用數字1,2,3,4,5來代替,這樣密文就成了:

13 12 12 13 43 25 13 12 23 35 43 53


【ADFGX/ADFGVX密碼(ADFGX/ADFGVX Cipher)】

ADFGX
  1918年,第一次世界大戰將要結束時,法軍截獲了一份德軍電報,電文中的所有單詞都由A、D、F、G、X五個字母拼成,
  因此被稱為ADFGX密碼。ADFGX密碼是1918年3月由德軍上校Fritz Nebel發明的,是結合了Polybius密碼和置換密碼的雙重加密方案。
  A、D、F、G、X即Polybius方陣中的前5個字母。

明文:A T T A C K A T O N C E
  經過Polybius變換:AF AD AD AF GF DX AF AD DF FX GF XF

下一步,利用一個移位金鑰加密。假設金鑰是“CARGO”,將之寫在新格子的第一列。再將上一階段的密碼文一列一列寫進新方格里。

C A R G O
  _________
  A F A D A
  D A F G F
  D X A F A
  D D F F X
  G F X F X

最後,金鑰按照字母表順序“ACGOR”排序,再按照此順序依次抄下每個字母下面的整列訊息,形成新密文。如下:

FAXDF ADDDG DGFFF AFAXX AFAFX

在實際應用中,移位金鑰通常有兩打字元那麼長,且分解金鑰和移位金鑰都是每天更換的。

ADFGVX
  在1918年6月,再加入一個字V擴充。變成以6×6格共36個字元加密。這使得所有英文字母(不再將I和J視為同一個字)以及數字0到9都可混合使用。
  這次增改是因為以原來的加密法傳送含有大量數字的簡簡訊息有問題。

【乘法密碼(Multiplication Cipher)】

乘法密碼也是一種簡單的替代密碼,與凱撒密碼相似,凱撒密碼用的是加法,而乘法密碼用的自然是乘法。
  這種方法形成的加密資訊保密性比較低。

加密公式:密文 = (明文 * 乘數) Mod 26

對於乘數密碼,只有當乘數與26互質時,加密之後才會有唯一的解,因此乘數只可能有如下11種的選擇:

乘數 = 3,5,7,9,11,15,17,19,21,23,25

仿射密碼和希爾密碼因為都用到了乘法,所以乘數也受到相同的侷限。


【仿射密碼(Affine Shift)】

仿射密碼就是凱撒密碼和乘法密碼的結合。

加密公式:密文 = (明文 * 乘數 + 位移數) Mod 26


【希爾密碼(Hill Cipher)】

希爾密碼就是矩陣乘法密碼,運用基本矩陣論原理的替換密碼。每個字母當作26進位制數字:A=0, B=1, C=2… 一串字母當成n維向量,
  跟一個n×n的金鑰矩陣相乘,再將得出的結果模26。希爾密碼的優點是完全隱藏了字元的頻率資訊,弱點是容易被已知明文攻擊擊破。

加密
  例如:金鑰矩陣
  1 3
  0 2

明文:HI THERE

去空格,2個字母一組,根據字母表順序換成矩陣數值如下,末尾的E為填充字元:

HI TH ER EE
  8 20 5 5
  9 8 18 5

HI 經過矩陣運算轉換為 IS,具體演算法參考下面的說明:

|1 3| 8 e18+39=35 MOD26=9 =I
  |0 2| 9 e08+29=18 MOD26=18=S

用同樣的方法把“HI THERE”轉換為密文“IS RPGJTJ”,注意明文中的兩個E分別變為密文中的G和T。

解密
  解密時,必須先算出金鑰的逆矩陣,然後再根據加密的過程做逆運算。

逆矩陣演算法公式:
  |A B| = 1/(AD-BC) * | D -B|
  |C D| |-C A|

例如金鑰矩陣=
  |1 7|
  |0 3|
  AD-BC=13-07=3 3*X=1 mod26 所以 X=9
  因此
  |1 7| 的逆矩陣為: 9 * |3 -7|
  |0 3| |0 1|

假設密文為“FOAOESWO”

FO AO ES WO
   6 1 5 23
  15 15 19 15

9* |3 -7| | 6| = 9*(36-715)=-783 mod26 = 23=W
   |0 1| |15| = 9*(06+115)= 135 mod26 = 5 =E

所以密文“FOAOESWO”的明文為“WEREDONE”


【Playfair密碼(Playfair Cipher)】

Playfair將明文中的雙字母組合作為一個單元對待,並將這些單元轉換為雙字母組合。
  加密後的字元出現的頻率在一定程度上被均勻化。

5*5變換矩陣(I或J視為同一字元):

C I P H E
  R A B D F
  G K L M N
  O Q S T U
  V W X Y Z

加密規則:按成對字母加密

相同對中的字母加分隔符(如x)
  ballon -> ba lx lo on
  同行取右邊:he->ec
  同列取下邊:dm->mt
  其他取交叉:kt->mq od->tr

例如:ballon -> ba lx lo on -> db sp gs ug

【摩斯電碼】

摩斯電碼(摩爾斯電碼)是一種發報用的訊號程式碼,是一種替代密碼,用點(Dot)和劃(Dash)的組合來表示各個英文字母或標點。

國際標準摩斯電碼表

1 ---- A - N - [.] ---
  2 — B -* O — [,] –
  3 – C -- P [:] —

  4 - D - Q –- [’] ----
  5 ***** E * R - [?]
  6 -
*** F - S *** [-] --
  7 –
G –
T - [()] --
  8 —
* H **** U - [@] -
  9 ----
I ** V - [—] --
  0 ----- J *— W *-- 分數線 -
-

  K -
- X -
-
  L -* Y -– 終了[\r] --
  M – Z –
始信[\n] -
-*-

例:Hello (斜線代表字母之間的間隔)
  *//-**/-**/—/

【置換密碼(Transposition Cipher)】

也稱易位密碼。

【替代密碼(Monoalphabetic Substitution)】

也稱單表替換密碼。

【字母表數字 】
  用1-26這些數字分別表示A-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 Z
  數字 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

【字母表程式碼】
  同字母表數字,只是把10以下的數字添0補位。

字母 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
  數字 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

【反字母表】
  就是丹·布朗在《達·芬奇密碼》一書中提到的埃特巴什碼(Atbash Cipher)。它的原理是取一個字母,
  指出它位於字母表正數第幾位,再把它替換為從字母表倒數同樣的位數後得到的字母。如:E被替換為V,N被替換為M等。

明碼錶 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
  密碼錶 Z Y X W V U T S R Q P O N M L K J I H G F E D C B A

明文:sophia
  密文:hlksrz

【隨機亂序字母】
  即單字母替換密碼。重排密碼錶二十六個字母的順序,密碼錶會增加到四千億億億多種,
  能有效的防止用篩選的方法檢驗所有的密碼錶。這種密碼持續使用幾個世紀,直到阿拉伯人發明了頻率分析法。

明碼錶 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
  密碼錶 Q W E R T Y U I O P A S D F G H J K L Z X C V B N M

明文:forest
  密文:gbmrst

【棋盤密碼】
  即Polybius密碼。

【鍵盤密碼】
  加密的原理同棋盤密碼,只是利用了鍵盤作為方陣。

鍵盤的字母分佈:

[email protected]#$%^&*()_+|
  `1234567890-=\
   QWERTYUIOP{}
   qwertyuiop[]
   ASDFGHJKL:"
   asdfghjkl;’
   ZXCVBNM<>?
   zxcvbnm,./

密文:72 81 12 63 01 12 63
  明文:jianpan

低下頭看看鍵盤就知道了,密文就是鍵盤上的26個字母的座標,72即第7列第2行,第7列正好是數字鍵[7]的位置,往下2個就是字母[J]。
【鍵盤移位】
  密文:kosm[sm
  明文:jianpan

就是鍵盤上的字母往右一個。例如[j]鍵的右面是[k],[i]鍵的右面是[o],依此類推。
【軟鍵盤密碼】
  密文1:まはす にはつ へつ たっゃの せちなゃ ひつなゃ てなゃ ひつな ゅつ ぬす
  密文2:ㄈㄘㄍ ㄋㄘㄛ ㄠㄛ ㄗㄟㄙㄕ ㄐㄧㄇㄙ ㄨㄛㄇㄙ ㄣㄇㄙ ㄨㄛㄇ ㄩㄛ ㄎㄍ
  密文3:црв мрж уж езып гёлы сжлы илы сжл ьж нв
  密文4:#←☆ △←◇ 〓◇ ●◆_→ ★◎■_ ↑◇■_ □■_ ↑◇■  ̄◇ ▲☆
  明文:zhe shi li yong ruan jian pan jia mi de(這是利用軟鍵盤加密的)

用智慧ABC或微軟拼音輸入法,把小鍵盤開啟,選擇日本平假名字元,輸入“zhe shi”就會出現“まはす にはつ”,
  如果切換到俄文字元就會出現“црв мрж”……
【數字小鍵盤密碼】
  數字小鍵盤的字母分佈:
  7 8 9
  4 5 6
  1 2 3

密文:852 74123 741236987 74269 78974123456 7412369
  明文:I L O V E U

對照小鍵盤,依次打這些字母,看組成的形狀就行了。
  關於Alt+小鍵盤數字的加密方法,參看:百度/Google/網頁字元。

【手機鍵盤密碼】
  根據手機鍵盤上的數字和對應的字母進行加密。
  密文:42 21 71 71 93
  明文:HAPPY
  “42”:4鍵對應的是GHI,GHI第2個就是H;“21”:2鍵對應的是ABC,ABC第1個就是A。
  加密時往往只出現數字鍵,而不給出具體的字母位置,這時解密時就要列舉所有可能的組合,從中選出有意義的單詞來。
  例如密文:42779,這時就要從 GHI ABC PQRS PQRS WXYZ 中提出有意義的字元:HAPPY
  另一種方法是根據形狀加密的,和數字小鍵盤密碼相同,按照密碼裡的數字比劃一下就劃出來了。
  比如密文173946,對應的明文是H,17是左邊一豎,39是右邊一豎,46是中間一橫。

【百度/Google/網頁字元】

下面解釋一下在百度、Google搜尋中文的關鍵詞時,位址列上出現的奇怪字元。

百度字元(GB2312)
  例如在百度搜索“你好”兩個字,會轉到一個地址為 http://www.baidu.com 的網頁。

密文(GB碼16進位制):%C4%E3%BA%C3
  密文(GB碼十進位制):50403 47811
  明文:你好

百度用的是GB2312的中文編碼,是16進位制的。GB2312是標準的簡體中文編碼。“你”字的GB碼為C4E3,“好”字的GB碼為BAC3。
  “你好”轉換成十進位制為50403和47811。

Google字元(URI)
  例如在Google搜尋“你好”兩個字,會轉到一個地址為 http://www.google.cn 的網頁。

密文(URI):%E4%BD%A0%E5%A5%BD
  明文:你好

URI全稱Uniform Resource Identifier(通用資源識別符號)。Internet可用的每種資源 - HTML文件、影象、視訊片段、程式等 -
  由一個通過URI進行定位。

網頁編碼(Unicode)
  論壇裡常玩的一個把戲,就是讓你回帖時寫一堆像天書一樣的奇怪字元,而回帖之後就能看到相應的文字。

密文(Unicode16進位制):樓主是個天才
  密文(Unicode10進位制):樓主是個天才
  明文:樓主是個天才

這裡使用的是Unicode編碼(十進位制),Unicode是一種全世界範圍的文字編碼,網頁都支援這種編碼。

Alt+數字小鍵盤
  按住Alt鍵,在任意文字框中,用鍵盤右邊的數字小鍵盤輸入55021,然後鬆開Alt鍵,這時你看到了什麼?

用同樣的方法分別輸入“你好”兩個字的GB程式碼(十進位制)50403、47811,這時你將在文字框中看到這兩個字。

注意在qq的對話方塊中,要使用Unicode程式碼(十進位制)20320、22909。
【母音密碼】
母音密碼的原則很簡單,即將五個母音字母分別標號1,2,3,4,5,然後將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 z1 11 12 13 2 21 22 23 3 31 32 33 34 35 4 41 42 43 44 45 5 51 52 53 54 55然後進行加密即可。

題目:45.23.2.33.1.44.45.44.3.22.23.45
對應上表解出明文:the last sight(最後一面).
需要說明的是,母音字母因為密文中只含有1,2,3,4,5五個數字而且時常出現個位數,因此很容易破解,
有時候可以將1,2,3,4,5變為10,20,30,40,50等,也可變成如同棋盤密碼密文的形式來對解密者進行干擾。
【雲影密碼】
此密碼運用了1248程式碼,因為本人才疏學淺,尚未發現有過使用的先例,因此暫歸為原創密碼,若有密碼界前輩認為不妥,
請指出此密碼或類似密碼的普遍使用歷史並附寄一份到我站內郵箱,我將以最快速度核查並改正。由於這個密碼,我和片風雲影初識,為了紀念,將其命名為“雲影密碼”,原文請見謎題大全精華區。
原理很簡單,有了1,2,4,8這四個簡單的數字,你可以以加法表示出0-9任何一個數字,例如0=28,7=124,9=18。
這樣,再用1-26來表示A-Z,就可以用作密碼了。
為了不至於混亂,我個人引入了第五個數字0,來用作間隔,以避免翻譯錯誤,所以還可以稱“01248密碼”。

題目:12401011801180212011401804
第一步,分割,即124 1 118 118 212 114 18 4
第二步,基本翻譯,例如124可以表示7,也可以表示16(但不可能是34,因為不會超過26),所以可以放在一邊,翻譯其他沒有異議的,
可得:124 a s s w o 18 d
第三步,推測得出明文。可以推測後面的18表示r,前面的為p最合適。

明文:password(密碼).(五)四位乘法密碼——(密文:I Q V L N J O P X;金鑰:1234)
自古密文的傳遞者最擔心的就是密文和金鑰同時落入敵手,這樣,密碼的效應也就所剩無幾了,
所以通常會將兩樣東西以不同的方式在不同的時間進行傳送。但是,後來有一個叫前天淫次郎的日本鬼子發明了一種加密方式,
這種加密方式使得即使金鑰落入敵手也不會輕易暴露,一時很令敵手頭疼。
這種加密方式的關鍵是金鑰,簡短但是實用。下面介紹其使用及破譯方法:
首先,任意選取一個個十百位數均無零的四位數,如題目中的金鑰,即1234;
其次,將上述四位數做平方處理,即1234×1234=1522756,取中間三位數,即227;
再次,用所得數字與1234相乘,即227×1234=280118,取“中間三位”(之前傳遞和接收密文的雙方要有所約定比如遇到像280118這樣的數字,
是取‘801’還是取‘011’),這裡取801;
依次類推,直到所得的三位數所含數字總個數大於或等於密文的字母個數為止,即801×1234=988434,取884。
這樣,最終得到的一組碼是227801884。
最後,將這組碼標在密文下,向前推相應的位數即可得到明文,即

密文:I Q V L N J O P X
金鑰:2 2 7 8 0 1 8 8 4
明文:g o o d n i g h t(Good night!)
【費娜姆密碼】(密碼:00110110010001001100100010000010110;金鑰:study)

二戰時德軍使用過的一種密碼,其實是利用了二進位制的表示法來替代字母,有如下的表格作為基礎:

A 1000001 B 1000010 C 1000011 D 1000100 E 1000101 F 1000110 G 1000111 H 1001000 I 1001001 J 1001010

K 1001011 L 1001100 M 1001101 N 1001110 O 1001111 P 1010000 Q 1010001 R 1010010 S 1010011 T 1010100

U 1010101 V 1010110 W 1010111 X 1011000 Y 1011001 Z 1011010

那麼,比如我們要加密“Hello”,金鑰用“study”,則以如下方式進行加密:

H E L L O = 1001000 1000101 1001100 1001100 1001111
S T U D Y = 1010011 1010100 1010101 1000100 1011001

加密原則:1+1=0,0+0=0,1+0=1

於是得密文:00110110010001001100100010000010110

那麼解題目中的密文,需要遵循以下幾個原則和步驟,

1,劃分,即每七個數字為一組;

2,對應,找出密文每個字母對應的數字,再與上述數字對應;

3,轉換,遵循上述加密原則,逆用即可;

4,解密,得出新的一組數字,對應字母,得出明文。