维热纳尔密码的破解方法
发布网友
发布时间:2022-04-23 04:23
我来回答
共2个回答
热心网友
时间:2023-07-22 15:46
首先,破译的第一步就是寻找密文中出现超过一次的字母。有两种情况可能导致这样的重复发生。最有可能的是明文中同样的字母序列使用密钥中同样的字母加了密;另外还有一种较小的可能性是明文中两个不同的字母序列通过密钥中不同部分加了密,碰巧都变成了密文中完全一样的序列。假如我们*在长序列的范围内,那么第二种可能性可以很大程序地被排除,这种情况下,我们多数考虑到4个字母或4个以上的重复序列。
破译的第二步是确定密钥的长度,又看看这一段先:
关键词 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 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等;
如果每个重复间隔都能被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 O: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 O: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
然后,统计L1的169个字母出现的次数,有:
A:22 N:1
B:1 O:1
C:0 P:5
D:10 Q:16
E:10 R:5
F:9 S:2
G:7 T:7
H:2 U:14
I:9 V:1
J:0 W:1
K:11 X:2
L:0 Y:5
M:14 Z:14
又作出L1的图表(histogram),与标准图表对比一下。标准频率和L1的频率都有峰值,平稳期和低谷。它们之间的区别在于相互错开了一些位置,比较两者应该可以寻找出最显著的特征。例如,看L1图表中A-F这一段,A的峰值过后是低谷,特别是C没有出现,然后是一段平稳期,这与标准频率中的O-T这一段相像;标准频率中,O的前面I-N这一段和L1中U-Z一段也大致吻合;又看看,L1中,J和L的缺失应该就是标准频率中X和Z的缺失,M-Q这一段应就是标准频率中A-E这一段。这就暗示着L1的密码表是由M,N,O,P......开始的。把L1的图表向左平移12个单位再与标准频率对比,整体来说差不多。由此可知,关键词的第一个字母是M。(注意,一些误差是在所难免的,如K替换Y,两图表比较起来好像不很符合,但整体来说是差不多的,我们就可忽略过去。)
继续下来,统计L2中169个字母出现的次数,可以确定关键词的第二个字母是L。
最后,用同样的方法可确定关键词的第三个字母是S。
至此,得到整个关键词是MLS。
再用维热纳尔方阵将密文翻译过来,得到明文:
Whenever sang my songs
On the stage on my own
Whenever said my words
Wishing they would be heard
I saw you smiling at me
Was it real or just my fantasy
You'd always be there in the corner
Of this tiny little bar
My last night here for you
Same old songs just once more
My last night here with you
Maybe yes maybe no
I kind of liked it you're your way
How you shyly placed your eyes on me
Oh did you ever know
That I had mine on you
Darling so there you are
With that look on your face
As if you're never hurt
As if you're never down
Shall I be the one for you
Who pinches you softly but sure
If frown is shown then
I will know that you are no dreamer
现在再说说一些技巧:
1.A-E段,U-Z段以及O-T段的特征比较显著,可先从这些方面着手;
2.如果一些字符串出现的频率较多,不妨猜猜,特别要注意THE,-ING等的出现;
3.要留意那些图表中没有出现的字母,很多时候也会是突破点,如X与Z的空缺;
4.图表最好还是做一下,毕竟比较直观,一个初中生会这些,很怪吧
热心网友
时间:2023-07-22 15:46
http://zhidao.baidu.com/question/17068252.html?fr=qrl3