凱撒方陣

凱撒方陣

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

基本介紹

  • 中文名:凱撒方陣
  • 外文名:Kaiser matrix
  • 加密公式:密文 = (明文 + 位移數) Mod 26
  • 解密公式:明文 = (密文 - 位移數) Mod 26
公式,加密公式,解密公式,套用,其他特例,

公式

加密公式

密文 = (明文 + 位移數) Mod 26

解密公式

明文 = (密文 - 位移數) Mod 26

套用

以《數字城堡》中的一組密碼為例:
HL FKZC VD LDS
只需把每個字母都按字母表中的順序依次後移一個字母即可——A變成B,B就成了C,依此類推。因此明文為:
IM GLAD WE MET
英文字母的移位以移25位為一個循環,移26位等於沒有移位。所以可以用窮舉法列出所有可能的組合。
例如:phhw ph diwhu wkh wrjd sduwb
利用電腦可以方便地列出所有組合,然後從中選出有意義的話
可知明文為:meet me after the toga party

其他特例

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 (廣島和長崎的核子彈轟炸的最主要區別)
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

相關詞條

熱門詞條

聯絡我們