RS—LHHM风 发表于 2009-9-4 13:03:27

几种常见的密码加密方式

【凯撒密码(Caesar Shifts, Simple Shift)】
  也称凯撒移位,是最简单的加密方法之一,相传是古罗马恺撒大帝用来保护重要军情的加密系统,它是一种替代密码。
  加密公式:密文 = (明文 + 位移数) Mod 26
  解密公式:明文 = (密文 - 位移数) Mod 26
  以《数字城堡》中的一组密码为例:
  HL FKZC VD LDS
  只需把每个字母都按字母表中的顺序依次后移一个字母即可——A变成B,B就成了C,依此类推。因此明文为:
  IM GLAD WE MET
  英文字母的移位以移25位为一个循环,移26位等于没有移位。所以可以用穷举法列出所有可能的组合。
  例如:phhw ph diwhu wkh wrjd sduwb
  利用电脑可以方便地列出所有组合,然后从中选出有意义的话:
  qiix qi ejxiv xli xske tevxc
  rjjy rj fkyjw ymj ytlf ufwyd
  skkz sk glzkx znk zumg vgxze
  tlla tl hmaly aol avnh whyaf
  ummb um inbmz bpm bwoi xizbg
  vnnc vn jocna cqn cxpj yjach
  wood wo kpdob dro dyqk zkbdi
  xppe xp lqepc esp ezrl alcej
  yqqf yq mrfqd ftq fasm bmdfk
  zrrg zr nsgre gur gbtn cnegl
  assh as othsf hvs hcuo dofhm
  btti bt puitg iwt idvp epgin
  cuuj cu qvjuh jxu jewq fqhjo
  dvvk dv rwkvi kyv kfxr grikp
  ewwl ew sxlwj lzw lgys hsjlq
  fxxm fx tymxk max mhzt itkmr
  gyyn gy uznyl nby niau julns
  hzzo hz vaozm ocz ojbv kvmot
  iaap ia wbpan pda pkcw lwnpu
  jbbq jb xcqbo qeb qldx mxoqv
  kccr kc ydrcp rfc rmey nyprw
  ldds ld zesdq sgd snfz ozqsx
  meet me after the toga party <-
  nffu nf bgufs uif uphb qbsuz
  oggv og chvgt vjg vqic rctva
  可知明文为:meet me after the toga par
[四方密码]
四方密码用4个5×5的矩阵来加密。每个矩阵都有25个字母(通常会取消Q或将I,J视作同一样,或改进为6×6的矩阵,加入10个数字)。
首先选择两个英文字作密匙,例如example和keyword。对于每一个密匙,将重复出现的字母去除,即example要转成exampl,然后将每个字母顺序放入矩阵,再将余下的字母顺序放入矩阵,便得出加密矩阵。
将这两个加密矩阵放在左上角和右下角,余下的两个角放a到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
加密的步骤:
两个字母一组地分开讯息:(例如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
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
二方密码
二方密码(en:Two-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
波雷费密码
1选取一个英文字作密匙。除去重复出现的字母。将密匙的字母逐个逐个加入5×5的矩阵内,剩下的空间将未加入的英文字母依a-z的顺序加入。(将Q去除,或将I和J视作同一字。)
2将要加密的讯息分成两个一组。若组内的字母相同,将X(或Q)加到该组的第一个字母后,重新分组。若剩下一个字,也加入X字。
3在每组中,找出两个字母在矩阵中的地方。
若两个字母不同行也不同列,在矩阵中找出另外两个字母,使这四个字母成为一个长方形的四个角。
若两个字母同行,取这两个字母右方的字母(若字母在最右方则取最左方的字母)。
若两个字母同列,取这两个字母下方的字母(若字母在最下方则取最上方的字母)。
新找到的两个字母就是原本的两个字母加密的结果。

冷酷的工藤 发表于 2009-9-4 20:41:55

栅栏、英文和数字的互换、手机键盘、电脑键盘的加密好像比四方和二方更加常用

RS—LHHM风 发表于 2009-9-5 14:57:31

很常用。。。

冷酷的工藤 发表于 2009-9-5 19:37:06

???什么很常用?

RS—LHHM风 发表于 2009-9-5 19:41:45

栅栏、英文和数字的互换、手机键盘、电脑键盘的加密

冷酷的工藤 发表于 2009-9-5 20:03:52

恩英雄所见略同

RS—LHHM风 发表于 2009-9-6 15:10:29

o(∩_∩)o...哈哈

冷酷的工藤 发表于 2009-9-6 19:57:20

O(∩_∩)O~呵呵

工藤昔音 发表于 2009-11-1 20:16:07

两人小心笑抽了~
多谢LZ的帖~学到了~

aijie719 发表于 2010-4-28 18:31:31

好东东!!!!!!!!!!!!!!!!!!!!!!
页: [1]
查看完整版本: 几种常见的密码加密方式