常见古典密码加密方法
常见加密方法
1.替换法
例:Qxjsn qvv, ks dqis qvnsqwl amcvj jdcu AAU, qgw ks jdcgf jds AAU cu jds asuj bgs ks dqis sisn ussg. Ks kqgj sisnlbgs icucj dsns, vsqng jds jdcgeu kdb kqgj jb vsqng.]
个人感觉是所有密码中最重要、也是破译起来最有乐趣的一种,要想熟练破解所有密码,就一定要熟悉这种密码。
简略归纳出其破译步骤为:
1.根据被译文段的格式、断句、字符的长短、字符的种类数目来判断密码的语言,这也是破译所有密码所必不可少的第一环节。一般中文的密码以2-5个字符居多,而英文则不会超过15个,下文讨论英文密码。
2.数出字符使用的频率并纪录,根据字符的频率可以大致做出判断。在英文中以字母e出现的最多,其次依次是aoidhnrstuycfglmwbkpqxz。
3.英文中以单词the出现的次数最多。可以根据这个原理察看是否有重复多次的三个字母组合的词,便基本可以判断t、h、e这三个字母了。
4.接下来便可以将t、h、e三个字母带入,观察哪些词可以猜测出来,比如已知t.ee(未知字母用.表示)就可以判断.为r了,因为常用的词汇中,只有tree满足结构。
以此方法反复带入并不断检验前面的推理,很快就能够解决整个密码
注意:此种密码通常用各种符号来代替英文字母,达到混淆的目的。
扩展:
汉语拼音替换密码
[例:mtbqe ai abqe mtbqe oxq lti sp sz nx!]
以下面这个密码的破译为例:
ZJR ZJR NOBR, WR HRAN WBC AO XR UOJ UR,DO WBC IBAN NJ NJ HBA UBA
因为每个单词不超过6个字母,所以能够初步判断是汉语(中文汉语拼音最多是6个字母)。
可以看出,密文虽短,但其中出现了多次重复单词:ZJR、WBC、NJ
字母在单词中的位置都相对固定,十分符合汉语的特点,所以基本就能够确定是汉语了。
短文中出现得最多的字母R(共7次)。
它都是出现在单词的最后一个字母的位置上。汉语拼音中能作为最后一个字母的、常用的有哪些呢?
a、e、i、o、u、n、g
看“UR”这个词,由于n和g通常不能出现在两个字母的词中,所以首先把n和g排除了。
因此R只可能是a、e、i、o、u中的一个
以此类推,我们把出现在末尾的字母的所有可能性都找出来:
R:a、e、i、o、u(末尾(排除一切不能出现在末尾的字母))
N:g、n(开头和末尾)
C:a、e、i、o、u、g、n(末尾)
O:a、e、i、o、u(中间和末尾)
J:a、e、i、o、u(中间和末尾)
A:n(开头、中间、末尾都有)
因此判断A就是n,所以N就是g
整理一下就是:
ZJR ZJR gOBR,WR HRng WBC nO XR UOJ UR,DO WBC IBng gJ gJ HBn URn
下面就轻松多了:
g* g*这个词你会想到什么?很明显是ge ge(哥哥)嘛。
所以J是e
ZeR ZeR gOBR,WR HRng WBC nO XR UOe UR,DO WBC IBng ge ge HBn URn
哥哥都有了,“*e* *e*”会是什么?很明显是mei mei(妹妹)。
mei mei gOBi,Wi Hing WBC nO Xi UOe Ui,DO WBC IBng ge ge HBn Uin
剩下看O,i、e已经名花有主了,O只能是a、o、u这三个中的一个。
“nO”O不能是o
“UOe”O不能是a
所以O只能是u
mei mei guBi,Wi Hing WBC nu Xi Uue Ui,Du WBC IBng ge ge HBn Uin
继续解出来的就是:
mei mei guai,yi ding yao nu li xue xi,bu yao rang ge ge dan xin
(妹妹乖,一定要努力学习,不要让哥哥担心)
2.恺撒密码
[例:Nb mznv rh HvevmPrmt.]
几乎是最常见的密码,使用率极高,甚至连初中英文阅读题中都出现过。
(将A替换为Z,B替换为Y,以此类推):
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
也可以将原代码推后几个字母
比如How are you?这句话推后1个字母后就是Ipx bsf zpv?而推后2个就是Jqy ctg aqw?
判断原代码究竟推后了几位,可以利用字符使用频率最多的是E的原则来判断
3 维吉尼亚密码(维热那尔密码)
[例:mhkrrcpaykyigIjwurhtqsvtfyyscjbnxsrhbnkgjjhrzvvitnjsexxrobxqrhkoixnnhwuhxnkjvrtsubvsytnstsfmubtvhwjieogocbksfesmbmggzvfywijgktkeygklxsoueimolskiknohpyiotarrralzvimitudsfethfjfyrwwi ]
这种密码首先引入了密钥的概念。看似复杂,但实际上就是恺撒密码的延展。
例如:
密钥为man,原文为I am rich.(见下表)则原文中的I对应的密文为M行(第一个密码为M的那行)的U,A对应A行的A,M对应N行的Z,R对应M行的D……以此类推。
简单地归纳为:
密钥:M an manm.(man循环使用)
原文:I am rich.
密文:U az dipt.
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 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 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 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 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
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
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
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
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
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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
S之解参见:
http://free3.getbbs.com/Post/Topic.aspx?BID=89594&TID=1876494&go=6B84B4ED71
传统破译部分参见:
http://free3.getbbs.com/Post/Topic.aspx?BID=100097&TID=749155&go=2512D547DF
4 栅栏密码
[例:iiaundysoitssnyaintt]
此密码一般适用于较短的密码,原理是字母的错位。操作步骤如下:
this little child is funny(原句)
thislittlechildisfunny(去掉空格)
t i l t l c i d s u n
h s i t e h l i f n y(上下拆开)
tiltlcidsunhsitehlifny(合并)
破译时只要按照相反的步骤来就行了。
另一种栅栏密码的操作步骤如下:
this little child is funny(原句)
thislittlechildisfunny(去掉空格)
th
hi
il
sd
li
is
tf
tu
ln
en
cy(左右拆开)
thhiilsdliistftulnency(合并)
当用中文的汉语拼音做栅栏密码时十分有趣,可以选择用声母做前排,韵母做后排。例如:
zhong hua ren min gong he guo(原句)
zhonghuarenmingongheguo(去掉空格)
zh h r m g h g
ong ua en in ong e uo
zh in
ong g
h ong
ua h
r e
en g
m uo(上下或左右拆开)
zhhrmghgonguaeninongeuo
zhinongghonguahreengmuo(合并)
5.字母重组
[例:Ia mast ude.N thowa bouty o u?]
这种密码乍一看不知所云,但仔细一看只不过是简单的重组罢了,只要有一定的语言水平就能推理出来。
例如这句话:To da yi sa ni ce da y le tu sp la yi n go u t si de.
乍一看像是罗马音,先组合:Todayisanicedayletusplayingoutside.
再整理:Today is a nice day.Let us playing outside.
加密原则:
1.书写原文时尽量用比较晦涩、生僻的词语,这样能够对破译者起蒙蔽的作用。
例如当原文为英文时,就要尽量少使用含有字母"E"的单词,并且尽量不要重复使用同一个单词。这样做能够有效地使破译者无法使用频率法。
2.对一个密码使用多种加密方式。
3.当双方需要用密码通信时,加密方法要定期改变。
中、英文字母使用概率统计表
汉语拼音:
A 8.22%
B 1.43%
C 0.68%
D 2.57%
E 6.35%
F 1.22%
G 9.50%
H 5.60%
I 12.93%
J 2.30%
K 0.20%
L 0.66%
M 0.86%
N 12.56%
O 7.02%
P 0.68%
Q 0.62%
R 0.84%
S 2.24%
T 1.80%
U 9.40%
V 0.00%
W 1.86%
X 1.16%
Y 5.52%
Z 3.20%
出现频率的顺序为(由高到低):
INGUAOEHYZDJSWTBFXMRPCLQKV
英文:
A 8.16%
B 1.49%
C 2.78%
D 4.25%
E 12.70%
F 2.23%
G 2.02%
H 6.09%
I 6.97%
J 0.15%
K 0.77%
L 4.03%
M 2.41%
N 6.74%
O 7.51%
P 1.92%
Q 0.09%
R 5.99%
S 6.33%
T 9.05%
U 2.75%
V 0.97%
W 2.36%
X 0.15%
Y 1.97%
Z 0.07%
出现频率的顺序为(由高到低):
ETAOINSHRDLCUMWFGYPBVKJXQZ
摩斯密码:
摩斯密码是类似于信号的含义。如果我们在海边,看到远离海滩的水面有一亮一亮的灯光,我们不妨仔细辨识一下。假如我们看到灯光是按照 “短亮 暗 短亮 暗 短亮 暗 长亮 暗 长亮 暗 长亮 暗 短亮 暗 短亮 暗短亮”这个规律来显示的话,那么它就意味是求救信号,SOS。知道为什么吗?对了。“短亮 暗 短亮 暗 短亮 暗”代表信号S,“长亮 暗 长亮 暗长亮 暗”则代表信号O。根据信号规律,得出结论就是SOS!
摩斯密码表:
A . _ M _ _ Y _ . _ _
B _ . . . N _ . Z _ _ . .
C _ . _ . O _ _ _ 1 . _ _ _ _
D _ . . P . _ _ . 2 . . _ _ _
E . Q _ _ . _ 3 . . . _ _
F . . _ . R . _ . 4 . . . . _
G _ _ . S . . . 5 . . . . .
H . . . . T _ 6 _ . . . .
I . . U . . _ 7 _ _ . . .
J . _ _ _ V . . . _ 8 _ _ _ . .
K _ . _ W . _ _ 9 _ _ _ _ .
L . _ . . X _ . . _ 0 _ _ _ _ _
说明:经常用di(滴)代表“。”(短),用da(答)代表“-”(长)
比如国际常用求救信号SOS用摩斯密码表示为:···— — —···