主题
最后登录1970-1-1
回帖0
精华
积分583
威望
RP
金钱 柯币
人气 ℃
注册时间2004-8-12
|
发表于 2005-6-28 20:48:43
|
显示全部楼层
回复: 中等偏高难度密码,想挑战者进!
先给出上篇的答案吧:
1."Having once recognized, however, that the symbols stood for letters,
and having applied the rules which guide us in all forms of secret
writings, the solution was easy enough. The first message submitted to
me was so short that it was impossible for me to do more than to say,
with some confidence, that the symbol [of the stickman with both arms
extended up in the air] stood for E. As you are aware, E is the most
common letter in the English alphabet, and it predominates to so marked
an extent that even in a short sentence one would expect to find it
most often. Out of fifteen symbols in the first message, four were the
same, so it was reasonable to set this down as E. It is true that in
some cases the figure was bearing a flag, and in some cases not but it
was probable, from the way in which the flags were distributed, that
they were used to break the sentence up into words. I accepted this as
a hypothesis, and noted that E was represented by [the stickman with
both arms extended up in the air]
明码表 A B C D E F G H I J K L M N O P R S T U V W X Y
密码表 Q T U G N H Z M U R B S A O W I D Y E C P F K X
(这篇的难点是E以特殊的形式出现,令单字母单词有三个)
2."If you use the code which I have explained," said Holmes, "you will
find that it simply means 'Come here at once.' I was convinced that it
was an invitation which he would not refuse, since he could never
imagine that it could come from anyone but the lady. And so, my dear
Watson, we have ended by turning the dancing men to good when they
have so often been the agents of evil, and I think that I have
fulfilled my promise of giving you something unusual for your
notebook. Three-forty is our train, and I fancy we should be back in
Baker Street for dinner."
明码表 A B C D E F G H I K L M N O P R S T U V W X Y
密码表 D W F K A B Y L U S C M M X V O R I P G E N H
(这篇的难点是M既替换N,又是本身,这是后来一些编码师用来迷惑破译者而设
的陷阱)
自从频率分析法出现后,单字母替换密码完全失去了效用。因此,密码编码者想
方设法去编一种更强大的密码。一些编码者对单字母替换密码做了一些改动,如
在编码过程中,加入一些特殊的字符,或者令一些字母不代表另一个字母,而是
代表一种程式,譬如是代表空格,代表删去前一个字母,代表换行等。但这一切
起的作用并不大,聪明的破译师仍然能在里面找到许许多多破译密码的线索。直
到有一天,佛罗伦萨的里昂巴蒂斯特·阿尔伯提提出了一种多字母替换密码,即
是用两个或两个以上的密码表交替使用来进行加密,如:
明码表 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 Q W E R T Y U I O P A S D F G H K J L Z X C V B N M
密码表2 E K P R J B D N C V O U H T Y W Z X M L A S F I G Q
第一个密码表加密第一个字母,第二个密码表加密第二个字母,第一个密码表又
加密第三个字母,不断地重复......那么:
明文 F O R E S T
密文 Y Y J J L L
这样,按原来的方法进行频率分析就没有什么作用了。这只是两个密码表时的情
况,如果用三个,四个或以上的密码表后,破译就显得非常非常困难。即使是这
样,阿尔伯提未能把他的理念发展成一个完整的系统。这个任务当然由后人完成
了。经过几个人的努力,最后,维热纳尔终于将其完善了。他编出了一个系统而
有效的密码。那就是维热纳尔密码,其主要构成是维热纳尔方阵:
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个密码表,每个表相对前一个发生一次移位。如果只用其中某
一个进行加密,那么只是简单的恺撒移位密码。但用方阵中不同的行加密不同的
字母,它就是一种强大的密码了。加密者可用第7行来加密第一个字母,再用第25
行来加密第二个字母,然后根据第8行来加密第三个字母等。
现在来试一下,就用关键词FOREST来加密Better to do well than to say well.
关键词 F O R E S T F O R E S T F O R E S T F O R E S T F O R
明 文 b e t t e r t o d o w e l l t h a n t o s a y w e l l
密 文 G S K X W K Y C U S O X Q Z K L S G Y C J E Q P J Z C
(看第5行,F开头,明文是b,要用G来加密;第14行,O开头,明文是e,要用S来
加密,如此类推......)
密码术(三)
维热纳尔密码既克服了频率分析,又具有数目众多的密钥。发送者和接收者可使
用字典里任一个单词,或单词组合,或虚构的词作为关键词。它提供了很好的安
全保障,但它的复杂性,却令其等到19世纪才流行起来。不过,也是在19世纪,
查尔斯·巴比奇---一个性情古怪的天才将其破译了。让我们来看看解密的过
程:
首先,看看上篇文章中的一段:
关键词 F O R E S T F O R E S T F O R E S T F O R E S T F O R
明 文 b e t t e r t o d o w e l l t h a n t o s a y w e l l
密 文 G S K X W K Y C U S O X Q Z K L S G Y C J E Q P J Z C
其中,to两次都是被加密为YC,因为它两次都是用FO来进行加密,关键词正好轮
回了两次,巴比奇意识到这种重复正是征服维热纳尔密码的突破点。那么说,破
译的第一步就是寻找密文中出现超过一次的字母。有两种情况可能导致这样的重
复发生。最有可能的是明文中同样的字母序列使用密钥中同样的字母加了密;另
外还有一种较小的可能性是明文中两个不同的字母序列通过密钥中不同部分加了
密,碰巧都变成了密文中完全一样的序列。假如我们限制在长序列的范围内,那
么第二种可能性可以很大程序地被排除,这种情况下,我们多数考虑到4个字母或
4个以上的重复序列。如下面的密文:
I S W Z P N Q C K M Y Y Y J K A Y Y E Z F F S W E E S S P G Z X Q A H F
I S W Z P N Q C K M T V Y J O A C V E H A E S A Z R L T P Q I Z M X O T
Q S W M C V U D S I J G G D E U W A Z R S F X W I L K U E J Q L D A C B
G D L Y J X M Y L M D Q K Z M P L D I L Q E M W F S W D P A Z E Z Q N W
D Y W D Z X F S A E E A Z J D U E L V P T M C E K W S E E F U R Z F S W
D P X A C Q A F K M X W A W V E Z F S D B G D L A Y U Q X G D P E K W S
E E F U R Z F S W D P O U E Z K Z M Y L Q N P Q Q D E M J T Q Y G U V A
Z O G R W A W P V U E Q A F J Q J G G C O M J Z A H Q A F K T J D K A D
M N W P J G G C W K P K A Y E Q Z Z P T V K Z M Q G W D V F A H L T L L
U S S P X A Z P G Z J G G O S D W A Z R K A E Z Q C W K Z M M C W I T L
T E Z M E D A Z C A Y Q A F J R L U Q L K U Q Q A F J Q Y W H P J T F J
F L K U Q Q A F J Q Y W H P J P Z O Z D Z M W D U M W F S W A Y W R Z J
K Z M I S G B T F O S E E J G G D G R E D K M M F D M D P A R Q J A H F
U D K T Z O Z E Z Q Y A I T D X V F A H L T L L K Z M M C W Z Z V D P S
Y P J
在里面重复序列有I S W Z P N Q C K M,B G D L,S E E F U R Z F S W D P,
J G G C,L K U Q Q A F J Q Y W H P J,V F A H L T L L等;
破译的第二步是确定密钥的长度,又看看这一段先:
关键词 F O R E S T F O R E S T F O R E S T F O R E S T F O R
明 文 b e t t e r t o d o w e l l t h a n t o s a y w e l l
密 文 G S K X W K Y C U S O X Q Z K L S G Y C J E Q P J Z C
第一个YC出现后到第二个YC的结尾一共有12个字母(U S O X Q Z K L S G Y C)
那么密钥的长度应是12的约数---1,2,3,4,6,12之中的一个(其中,1可
排除)。那么,再回到上面的密文:
重复序列 重复间隔 密钥的可能长度
I S W Z P N Q C K M 36 2 3 4 6 9 12 18 36
B G D L 93 3 31
S E E F U R Z F S W D P 45 3 5 15
J G G C 24 2 3 4 6 12 24
L K U Q Q A F J Q Y W H P J 18 2 3 6 9 18
很明显,每个重复间隔都能被3整除,关键词应该有三个字母。
下一步,仍旧是频率分析,不过,因为关键词有三个字母,我们应分为三组进行
。把第1,4,7,10,13......个字母分为一组,称之为L1,把第2,5,8,11,
14......个字母又分为一组,称之为L2,余下的归另一组,称之为L3。那么每一
组有169个字母。
现在先做一个标准频率分布表:
用169乘以各个字母的标准百分比,如字母A,169*8.2%=14。
那么由标准频率:
A:8.2 N:6.7
B:1.5 7.5
C:2.8 P:1.9
D:4.3 Q:0.1
E:12.7 R:6.0
F:2.2 S:6.3
G:2.0 T:9.1
H:6.1 U:2.8
I:7.0 V:1.0
J:0.2 W:2.4
K:0.8 X:0.2
L:4.0 Y:2.0
M:2.4 Z:0.1
得到标准个数:
A:14 N:11
B:3 13
C:5 P:3
D:7 Q:0
E:21 R:10
F:4 S:11
G:3 T:15
H:10 U:5
I:12 V:2
J:0 W:4
K:1 X:0
L:7 Y:3
M:4 Z:0
(注:《THE CODE BOOK》里面是用一篇也是169个字母的较标准的明文来数出各
个字母的标准个数,觉得较麻烦,就用上面的方法代替了)
相应作出图表:(已大致地按比例缩小,可以把图表复制再粘贴到记事
本去,那样就清楚了)
这些东西我以前看到事物所出现过,但是现在找不到了。。所以又到哀界去转了一份过来。希望对大家有用。。。不过偶估计大部分没有看完就晕了。。。%&205 |
|