查看: 7756|回复: 5

[密码学习] 四方密码、二分密码、三分密码

简洁模式
发表于 2009-5-21 16:46:02 | 显示全部楼层
 四方密码、二分密码、三分密码
四方密码
是一种对称式加密法,由法国人Felix Delastelle(1840年–1902年)发明。
这种方法将字母两个一组,然后采用多字母替换密码。
四方密码用4个5×5的矩阵来加密。每个矩阵都有25个字母(通常会取消Q或将I,J视作同一样,或改进为6×6的矩阵,加入10个数字)。
首先选择两个英文字作密匙,例如example和keyword。对于每一个密匙,将重复出现的字母去除,即example要转成exampl,然后将每个字母顺序放入矩阵,再将余下的字母顺序放入矩阵,便得出加密矩阵。- s$ f$ p% ?% L& |. p7 o" o, w/ o
将这两个加密矩阵放在右上角和左下角,余下的两个角放a到z顺序的矩阵: ' r" p: |" B+ r
a b c d e   E X A M P
f g h i j   L B C D F
k l m n o   G H I J K
p r s t u   N O R S T
v w x y z   U V W Y Z
K E Y W O   a b c d e
R D A B C   f g h i j
F G H I J   k l m n o
L M N P S   p r s t u
T U V X Z   v w x y z1

加密的步骤
两个字母一组地分开讯息:(例如hello world变成he ll ow or ld)
找出第一个字母在左上角矩阵的位置
a b c d e   E X A M P
f g h i j   L B C D F
k l m n o   G H I J K
p r s t u   N O R S T
v w x y z   U V W Y Z
K E Y W O   a b c d e
R D A B C   f g h i j
F G H I J   k l m n o
L M N P S   p r s t u '
T U V X Z   v w x y z
同样道理,找第二个字母在右下角矩阵的位置:
a b c d e   E X A M P
f g h i j   L B C D F
k l m n o   G H I J K
p r s t u   N O R S T
v w x y z   U V W Y Z
K E Y W O   a b c d e
R D A B C   f g h i j
F G H I J   k l m n o
L M N P S   p r s t u
T U V X Z   v w x y z
找右上角矩阵中,和第一个字母同行,第二个字母同列的字母:
a b c d e   E X A M P
f g h i j   L B C D F
k l m n o   G H I J K
p r s t u   N O R S T
v w x y z   U V W Y Z
K E Y W O   a b c d e
R D A B C   f g h i j
F G H I J   k l m n o
L M N P S   p r s t u
T U V X Z   v w x y z

找左下角矩阵中,和第一个字母同列,第二个字母同行的字母:
a b c d e   E X A M P
f g h i j   L B C D F
k l m n o   G H I J K
p r s t u   N O R S T
v w x y z   U V W Y Z
K E Y W O   a b c d e
R D A B C   f g h i j
F G H I J   k l m n o
L M N P S   p r s t u 0
T U V X Z   v w x y z
这两个字母就是加密过的讯息。
hello world的加密结果:
he lp me ob iw an ke no bi ,
FY GM KY HO BX MF KK KI MD


二分密码(enTwo-square_cipher)
比四方密码用更少的矩阵。
得出加密矩阵的方法和四方密码一样。
例如用「example」和「keyword」作密匙,加密lp。首先找出第一个字母(L)在上方矩阵的位置,再找出第二个字母(D)在下方矩阵的位置:
E X A M P
L B C D F
G H I J K
N O R S T
U V W Y Z
K E Y W O、
R D A B C
F G H I J
L M N P S
T U V X Z
在上方矩阵找第一个字母同行,第二个字母同列的字母;在下方矩阵找第一个字母同列,第二个字母同行的字母,那两个字母就是加密的结果
E X A M P
L B C D F
G H I J K
N O R S T
U V W Y Z
K E Y W O
R D A B C
F G H I J
L M N P S
T U V X Z
help me的加密结果:
he lp me
HE DL XW
这种加密法的弱点是若两个字同列,便采用原来的字母,例如he便加密作HE。约有二成的内容都因此而暴露。   $

三分密码
三分密码

  三分密码由Felix Delastelle发明(他也发明了四方密码和二分密码)。二分密码是二维的,用5×5(或6×6)的矩阵加密,但三分密码则用3×3×3的。它是第一个应用的三字母替换密码。
  首先随意制造一个3个3×3的Polybius方格替代密码,包括26个英文字母和一个符号。然后写出要加密的讯息的三维坐标。讯息和坐标四个一列排起,再顺序取横行的数字,三个一组分开,将这三个数字当成坐标,找出对应的字母,便得到密文。

  二分密码的做法w相近,和后来出现的ADFGVX密码差不多。

  例:加密"HELLO WORLD"

  1 2 3 1 2 3 1 2 3( d


  1 L E O N A R D V I
0 t4 a  P9 e9 k  s4 o
  2 C B F G H J K M P 2 B'
3 V1 A3 ?, Y2 M& U& v
  3 Q S T U W X Y Z /

  1 2 3 1 2 3 1 2 3

  然后写出"HELLO WORLD"的每个字母的坐标,先上横再竖再下横

  如下:

  H E L L O W O R L D

  2 1 1 1 1 2 1 2 1 3

 2 1 1 1 1 3 1 1 1 1

  2 2 1 1 3 2 3 3 1 1

  将所得的表格横着读出,每三个数字一组

  211 112 121 321 111 311 112 211 323 311

  再回头按坐标找出第一个表中对应字母,即:

  211 112 121 321 111 311 112 211 323 311

  N E C K L D E N P D

  则"HELLO WORLD"的密文即为:NECKLDFNPD
本主题帖为【历史主题】,仅楼主发布内容可以浏览。
尚未登录
您需要登录后才可以回帖 登录 | 加入学院