分享

维吉尼亚密码详解

 曜希JFSH 2015-02-22
                                                                 维吉尼亚密码以破译复杂、工作烦琐而闻名,令众多破译者望而却步。但是破译的方法还是有的,由于工作量较大,所以一般借助一些破解工具。
由于不是一次一密乱码本作为的密钥,所以密钥的长度都是有限的,所以当密文越长时,我们破解出密码的可能性就越大。密码术 密码学 推理 密码论坛 密码术论坛& D0 D6 }2 I' a2 X( i- w# L' r

; v0 W4 T0 o# I3 o
破解方法以下题为例:★密码部落☆8 i6 m. ^- T% o/ V
cgrpfrvanxsnycznbjqana  j# r% d/ C7 _% z( e* }
密码术 密码学 密码论坛 密码术论坛$ `, \  j9 p. |* A' O) c$ X. z
首先假设密钥的长度,我们从2开始(如果密钥长度是1的话,维吉尼亚密码就变成了恺撒密码了)。
密码术 密码学 密码论坛 密码术论坛6 C: f% o4 l" [0 ?+ Y6 ?
假设密钥长为2。★密码部落☆, G8 A% g& a, \

以两个字母为一组加上空格:cg rp fr va nx sn yc zn bj qa na密码爱好者部落0 b5 I# C, n2 f" x& E
再进行恺撒全排:密码术 密码学 密码论坛 密码术论坛2 b. j% c' a6 r$ [
A     cg rp fr va nx sn yc zn bj qa na
Z     dh sq gs wb oy to zd ao ck rb ob
Y     ei tr ht xc pz up ae bp dl sc pcmimashu.haotui.com3 u. N$ i* ^& B, L1 c2 ~8 `
X     fj us iu yd qa vq bf cq em td qd
W     gk vt jv ze rb wr cg dr fn ue re密码术 密码学 密码论坛 密码术论坛- {; w0 ?3 m4 f. i; k
V     hl wu kw af sc xs dh es go vf sf密码术 密码学 密码论坛 密码术论坛( j5 @  k# Q% j* R
U     im xv lx bg td yt ei ft hp wg tg
T     jn yw my ch ue zu fj gu iq xh uh
S     ko zx nz di vf av gk hv jr yi vi& ]( F2 D8 S# s9 Y
R     lp ay oa ej wg bw hl iw ks zj wj
Q     mq bz pb fk xh cx im jx lt ak xk密码爱好者部落4 Q6 U9 J( o" ]& @
P     nr ca qc gl yi dy jn ky mu bl yl
O     os db rd hm zj ez ko lz nv cm zm
N     pt ec se in ak fa lp ma ow dn an
M     qu fd tf jo bl gb mq nb px eo bo
L     rv ge ug kp cm hc nr oc qy fp cp密码术 密码学 推理 密码论坛 密码术论坛7 q6 l& L% R# Q- Z& |7 H
K     sw hf vh lq dn id os pd rz gq dq密码术 密码学 推理 密码论坛 密码术论坛9 `+ f1 S- O" b, F. h5 d7 ~
J     tx ig wi mr eo je pt qe sa hr er
I     uy jh xj ns fp kf qu rf tb is fs
H     vz ki yk ot gq lg rv sg uc jt gt
G     wa lj zl pu hr mh sw th vd ku hu
F     xb mk am qv is ni tx ui we lv iv密码爱好者部落$ x, F5 @8 H" b8 |! k* z( a' p0 z( J
E     yc nl bn rw jt oj uy vj xf mw jw
D     zd om co sx ku pk vz wk yg nx kx. s/ E& Y' K8 w& L
C     ae pn dp ty lv ql wa xl zh oy ly
B     bf qo eq uz mw rm xb ym ai pz mz
★密码部落☆4 u7 B, P' [# ~5 ^: D4 h
首先看A行:cg rp fr va nx sn yc zn bj qa na
当密钥第一个字母为A的时候,密码中出现了v、z、q等多个低频率的字母,所以密钥的第一个字母不是Z;mimashu.haotui.com& X$ Y. I" Q5 g* I; w  w
当密钥第二个字母为A的时候,密码中出现了x、c、j等多个低频率的字母,所以密钥的第二个字母也不是Z。

再看Z行:dh sq gs wb oy to zd ao ck rb ob密码术 密码学 推理 密码论坛 密码术论坛, f) {/ _+ W/ M) h
同理可知密钥的第一、二个字母都不是Z。
★密码部落☆5 F6 M  U8 m4 Z, d
以此类推,可以发现:只有密钥的第一个字母为M时才基本符合标准频率,而第二个字母为O或M时才基本符合标准频率。
mimashu.haotui.com# [, e9 ]! o/ ?# L9 Z5 U
然后将两组组合一下:密码术 密码学 密码论坛 密码术论坛$ I5 V( A1 D- Y
当密钥为MO时,密码无意义,舍;
当密钥为MM时,密码无意义,舍。★密码部落☆- U' s: [& k, l( m3 T
至此可以判断出,密钥的长度不是2。

mimashu.haotui.com; L. ]8 ^. u7 ~  v+ q

同样的道理,我们假设密钥长为3。密码术 密码学 推理 密码论坛 密码术论坛9 ~8 i$ t/ o# p8 J

以两个字母为一组加上空格:cgr pfr van xsn ycz nbj qan a密码术 密码学 密码论坛 密码术论坛9 Q8 i% W" r7 G( y: M# d
再进行恺撒全排:
A     cgr pfr van xsn ycz nbj qan a密码术 密码学 密码论坛 密码术论坛7 O. R3 d5 {0 W0 W& Q0 a9 L
Z     dhs qgs wbo yto zda ock rbo b1 K- ]" R5 F' N
Y     eit rht xcp zup aeb pdl scp c
X     fju siu ydq avq bfc qem tdq d
W     gkv tjv zer bwr cgd rfn uer e
V     hlw ukw afs cxs dhe sgo vfs f★密码部落☆' Y. `; a+ ?% r
U     imx vlx bgt dyt eif thp wgt g
T     jny wmy chu ezu fjg uiq xhu h密码术 密码学 推理 密码论坛 密码术论坛; {1 b+ _, z# ]. h. Y6 G
S     koz xnz div fav gkh vjr yiv i
R     lpa yoa ejw gbw hli wks zjw j
Q     mqb zpb fkx hcx imj xlt akx k
P     nrc aqc gly idy jnk ymu bly l
O     osd brd hmz jez kol znv cmz m
N     pte cse ina kfa lpm aow dna n★密码部落☆: B6 _6 |# X5 k+ Q) [, _
M     quf dtf job lgb mqn bpx eob omimashu.haotui.com" w& w, @. t2 t
L     rvg eug kpc mhc nro cqy fpc p
K     swh fvh lqd nid osp drz gqd q密码术 密码学 密码论坛 密码术论坛  M6 O: `" I% F/ p
J     txi gwi mre oje ptq esa hre r
I     uyj hxj nsf pkf qur ftb isf s
H     vzk iyk otg qlg rvs guc jtg t密码术 密码学 密码论坛 密码术论坛. X  y$ B' ^& [: X, S
G     wal jzl puh rmh swt hvd kuh u
F     xbm kam qvi sni txu iwe lvi v
E     ycn lbn rwj toj uyv jxf mwj w
D     zdo mco sxk upk vzw kyg nxk x
C     aep ndp tyl vql wax lzh oyl y
B     bfq oeq uzm wrm xby mai pzm z
密码术 密码学 密码论坛 密码术论坛: ?0 B1 i" M( Q% H7 d0 `
利用刚才的方法,我们能够得出下表:
密钥第一个字母:NOPRS密码术 密码学 推理 密码论坛 密码术论坛: x0 t: a8 ?8 h% |
密钥第二个字母:ABCGMNO
密钥第三个字母:CNPRUV密码爱好者部落" ?& f  j6 i* B6 f( w
密码爱好者部落% h1 F2 Y) l5 O- C8 d
不难看出,当密钥长度设定为3时,密钥的字母数大大增加了,说明密钥很有可能就是3。密码术 密码学 密码论坛 密码术论坛3 w8 J+ j5 S7 z& B* J- M4 \2 d2 b
但是却怎么组合也组合不出有意义的解,这是怎么回事呢?4 e# ?- ?" @) S  m
这说明密钥的实际长度很有可能是3的倍数。

跳过4和5,我们直接假设密钥长为6。
A     cgrpfr vanxsn ycznbj qana★密码部落☆) v/ K4 C8 P2 p. |. A
Z     dhsqgs wboyto zdaock rbob★密码部落☆7 J, E& f) d$ Z2 h* T
Y     eitrht xcpzup aebpdl scpc
X     fjusiu ydqavq bfcqem tdqd
W     gkvtjv zerbwr cgdrfn uere★密码部落☆8 j9 k8 P& q3 r* t% Z& a
V     hlwukw afscxs dhesgo vfsf
U     imxvlx bgtdyt eifthp wgtg
T     jnywmy chuezu fjguiq xhuhmimashu.haotui.com( H: v6 ]8 E% `8 K+ j  q# y) f+ d* u
S     kozxnz divfav gkhvjr yivi密码术 密码学 推理 密码论坛 密码术论坛7 v7 b# ?; ?3 `
R     lpayoa ejwgbw hliwks zjwjmimashu.haotui.com$ ^- K: Z; S* q" _2 E
Q     mqbzpb fkxhcx imjxlt akxk
P     nrcaqc glyidy jnkymu blyl7 _* h; |7 i% L5 O1 O" K
O     osdbrd hmzjez kolznv cmzm密码术 密码学 密码论坛 密码术论坛& D- t4 l& N6 }2 ~
N     ptecse inakfa lpmaow dnan
M     qufdtf joblgb mqnbpx eobo
L     rvgeug kpcmhc nrocqy fpcp密码爱好者部落0 H3 ^# S4 {" b( ]5 x3 V) ?
K     swhfvh lqdnid ospdrz gqdqmimashu.haotui.com/ D& D" t0 I9 t* l# U2 e# e( o
J     txigwi mreoje ptqesa hrermimashu.haotui.com, H0 v- E! c4 J, E' W/ z% _
I     uyjhxj nsfpkf qurftb isfs
H     vzkiyk otgqlg rvsguc jtgt
G     waljzl puhrmh swthvd kuhu
F     xbmkam qvisni txuiwe lviv密码爱好者部落3 T# z  |; r: z. G; g
E     ycnlbn rwjtoj uyvjxf mwjw
D     zdomco sxkupk vzwkyg nxkx密码术 密码学 密码论坛 密码术论坛0 }7 k3 J; ]' t+ A0 o' q8 x* c
C     aepndp tylvql waxlzh oyly
B     bfqoeq uzmwrm xbymai pzmzmimashu.haotui.com$ Z7 B+ A, A/ |# \$ ]
mimashu.haotui.com0 G' v9 r3 G3 U' K
解得密钥为:CONNON★密码部落☆9 Y) t& m) ?% x- H
原文为:密码爱好者部落8 T3 M- Y$ P* T# f/ s4 N
asecre tmakea womanw oman★密码部落☆4 V& h! N4 ~; ~  S. U2 g
整理后得:
A secret make a woman woman.
★密码部落☆! r* k4 G" t4 h3 J1 ?
读完本文后,你会发现破译维吉尼亚密码的快慢与破译的成功与否在很大的程度上取决与对于密钥长度的判断。因此当密文重复出现同一段字母组合的时候,你就要注意了:这两段重复字母的位置差,很有可能就是密钥长度的倍数。密码术 密码学 推理 密码论坛 密码术论坛  m; r. p3 A& v' `4 X
例如:mimashu.haotui.com2 x0 f& s# V3 c# Y; t7 M2 y
(ABC)NFGAEIUHGOIUGSH(ABC)AGSDGASD……密码爱好者部落; Q. o. ^  A! c# h; I: P
文段中ABC重复出现。从前一个A开始数,数到后一个A的前一个字母,一共有18个字母。则密钥的长度很有可能就是3或6(9或18都太长了)。
利用这种方法,我们就能更快地找出密钥的长度,也就能更快地破解密码了。
密码术 密码学 推理 密码论坛 密码术论坛$ J5 D9 H- @! R& L9 i9 ]
注意:★密码部落☆- L7 G& R7 Y) b% C6 Z
1.判断是否与标准频率符合的时候,不仅要考虑是否低频率的字母出现得多,还要考虑是否高频率的字母出现得少。密码爱好者部落2 x& `1 C, [9 H4 G! F, j3 E
2.标准频率顺序为:密码爱好者部落* a3 {, a2 v) x
etaoinshrdlcumwfgypbvkjxqz 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多