古典密码集合

古典密码集合
下述密码均摘⾃互联⽹
字母顺序】-数字
  加密的时候,经常要把A~Z这26个字母转换成数字,最常见的⼀种⽅法就是取字母表中的数字序号。A代表1,B代表2,C代表3...
  字母 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 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
【进制转换密码】
  例如⼆进制:1110 10101 1101 10 101 10010 1111 1110 101
  转为⼗进制:14 21 13 2 5 18 15 14 5
  对应字母表:number
【Mod算法】
  我们可以对字母序号进⾏数学运算,然后把所得的结果作为密⽂。当运算结果⼤于26或⼩于1的时候,
  我们希望把这个数值转为1~26的范围,那么取这个数除以26的余数即可。
  Mod就是求余数的运算符,有时也⽤“%”表⽰。例如 29 Mod 26 = 3,或写成 29 % 26 = 3,意思是29除以26的余数是3。
【倒序】
  加密时为经常要对字符进⾏倒序处理。如果让你按的顺序背出字母表的每个字母会很容易,
  但是如果是的顺序那就很难背出来了。⼀个很熟悉的单词,如果按相反的顺序拼写,可能就会感到很陌⽣。
  例如“love”字母倒过来拼就是“evol”。
  具体加密时倒序有很多种⽅案,需要灵活运⽤。例如:
  每个单词的倒序:siht si a tset - this is a test
  整句的倒序:tset a si siht - this is a test
  数字的倒序:02 50 91 02 - 20 05 19 20(test)
【间隔】
  单词之间的间隔⼀般使⽤空格。在加密时常常要去掉空格,但有时某些字母或数字来替代空格也不失为⼀种好的加密⽅案。
  错误空格位置也会起到很强的误导作⽤。
  例如:t hi sis at est - this is a test
【字母频率】
  频率分析法可以有效的破解单字母替换密码。
  关于词频问题的密码,我在这⾥提供英⽂字母的出现频率给⼤家,其中数字全部是出现的百分⽐:
a 8.2
b 1.5
c 2.8
d 4.3
e 12.7
f 2.2
g 2.0
h 6.1
  i 7.0 j 0.2 k 0.8 l 4.0
  m 2.4 n 6.7 o 7.5 p 1.9
  q 0.1 r 6.0 s 6.3 t 9.1
  u 2.8 v 1.0 w 2.4 x 0.2
  y 2.0 z 0.1
  词频法其实就是计算各个字母在⽂章中的出现频率,然后⼤概猜测出明码表,最后验证⾃⼰的推算是否正确。
  这种⽅法由于要统计字母出现频率,需要花费时间较长。参考《跳舞的⼩⼈》和《⾦甲⾍》。
【凯撒密码(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 party
-------------------------------------------------------------------------
【凯撒移位(中⽂版)】
  就是按照中⽂字在Unicode编码表中的顺序进⾏移位,可以⽤来加密中⽂的信息。
长沙市基础教育管理平台  例:[中⽂凯撒移位]
  转换成Unicode编码:中⽂凯撒移位
  移1位后成为:丮斈凰撓秼低
  转换成中⽂:[丮斈凰挠秼低]
【栅栏密码(The Rail-Fence Cipher)】
  也称栅栏易位(Columnar Transposition),即把将要传递的信息中的字母交替排成上下两⾏,
  再将下⾯⼀⾏字母排在上⾯⼀⾏的后边,从⽽形成⼀段密码。栅栏密码是⼀种置换密码。
  例如密⽂:TEOGSDYUTAENNHLNETAMSHVAED
  解密过程:先将密⽂分为两⾏
  T E O G S D Y U T A E N N
  H L N E T A M S H V A E D
  再按上下上下的顺序组合成⼀句话
  THE LONGEST DAY MUST HAVE AN END.
  .............................................................
  加密时不⼀定⾮⽤两栏,还是举《数字城堡》中的⼀个例⼦,密⽂为:
  PFEE SESN RETM MFHA IRWE OOIG MEEN NRMA ENET SHAS DCNS IIAA IEER BRNK FBLE LODI
  去掉空格:PFEESESNRETMMFHAIRWEOOIGMEENNRMAENETSHASDCNSIIAAIEERBRNKFBLELODI
  共64个字符,以8个字符为⼀栏,排列成8*8的⽅阵(凯撒⽅阵):
  P F E E S E S N
  R E T M M F H A
  I R W E O O I G
  M E E N N R M A
  E N E T S H A S
  D C N S I I A A
  I E E R B R N K
  F B L E L O D I
  从上向下竖着读:PRIMEDIFFERENCEBETWEENELEMENTSRESMONSIBLEFORHIROSHIMAANDNAGASAKI
  插⼊空格:PRIME DIFFERENCE BETWEEN ELEMENTS RESMONSIBLE FOR HIROSHIMA AND NAGASAKI (⼴岛和长崎的原⼦弹轰炸的最主要区别)
  .............................................................
  栅栏密码也可以⽤于中⽂,不过⽐较容易破解。
  明⽂:这是中⽂的栅栏密码
  密⽂(3*3⽅阵):这⽂栏是的密中栅码
  由于中⽂⽤规则的栅栏⽐较容易破解,所以产⽣了⼀些变体,例如道家⼼法密籍《天仙⾦丹⼼法》中的⼀段加密⽅法。密⽂如下:
  ○茫天:摹然⽉终为⿍半是真灭器轮假不但伸净著定分泥万○⽆○光⼈经法⼀从尘⾊返我权⾃法中妙⼤空照⽣屈来好路形神海○便还未归
  ○茫
  天:摹
  然⽉终为
  ⿍半是真灭
  器轮假不但伸
  净著定分泥万○
  ⽆○光⼈经法⼀从
  尘⾊返我权⾃法中妙
山下智久生田斗真
  ⼤空照⽣屈来好路形神
  海○便还未归
  明⽂(从上向下竖着读):天然⿍器净⽆尘,⼤海茫茫⽉半轮。著⾊空摹终是假,定光返照便为真。不分⼈我⽣还灭,但泥经权屈未伸。万法⾃来归⼀法,好从中路妙形神。
  .............................................................
  利⽤电脑进⾏加密或解密,建议使⽤“列举加密”或“列举解密”,电脑会⾃动尝试⼀些正好匹配的栏位进⾏列举。
  lyiroonevuclesey
  4栏:
  loveyousincerely
  8栏:
  lionvceeyroeulsy
【Vigenère Cipher】
  由于频率分析法可以有效的破解单表替换密码,法国密码学家维吉尼亚于1586年提出⼀种多表替换密码,
  即维吉尼亚密码,也称维热纳尔密码。维吉尼亚密码引⼊了“密钥”的概念,即根据密钥来决定⽤哪⼀⾏的密表来进⾏替换,
  以此来对抗字频统计。
  加密算法:例如密钥的字母为[d],明⽂对应的字母[b]。根据字母表的顺序[d]=4,[b]=2,那么密⽂就是[d]+[b]-1=4+2-1=5=[e],
  因此加密的结果为[e]。解密即做此逆运算。
  加密公式:密⽂ = (明⽂ + 密钥) Mod 26 - 1
  解密公式:明⽂ = [26 + (密⽂ - 密钥)] Mod 26 + 1
  也可以⽤查表法来进⾏加密:例如密钥的字母为[d],明⽂对应的字母[b],在下图的表格第⼀⾏到字母"d"(深蓝⾊),
  再在左边第⼀列到字母"b"(绿⾊),两个字母的交叉点(b⾏d列)就是字母"E",所以对应的密⽂字母为[e]。
  [-----------------图-----------------]
  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
  a 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
  b 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
  c 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
  d 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
  e 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
  f 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
  g 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
  h 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
  i 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
  j 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
qltv  k 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
  l 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
  m 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
itg  n 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
  o 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
  p 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
  q 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
  r 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
  s 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
  t 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
  u 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
  v 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
  w 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
  x 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
  y 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
  z 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
  假如对如下明⽂加密:
  to be or not to be that is the question
  当选定“have”作为密钥时,加密过程是:密钥第⼀个字母为[h],明⽂第⼀个为[t],因此可以到在h⾏t列中的字母[a],依此类推,  得出对应关系如下:
  密钥:ha ve ha veh av eh aveh av eha vehaveha
  明⽂:to be or not to be that is the question
  密⽂:ao wi vr isa tj fl tcea in xoe lylsomvn
【Polybius密码(Polybius Cipher)】
  也称棋盘密码,是利⽤波利⽐奥斯⽅阵(Polybius Square)进⾏加密的密码⽅式,产⽣于公元前两世纪的希腊,
  相传是世界上最早的⼀种密码。
  假设我们需要发送明⽂讯息 “Attack at once”,⽤⼀套秘密混杂的字母表填满波利⽐奥斯⽅阵,像是这样:
  A D F G X
  A b t a l p
  D d h o z k
  F q f v s n
  G g j c u x
  X m r e w y
  i和j视为同⼀个字,使字母数量符合 5 × 5 格。之所以选择这五个字母,是因为它们译成摩斯密码时不容易混淆,
  可以降低传输错误的机率。使⽤这个⽅格,出明⽂字母在这个⽅格的位置,再以那个字母所在的栏名称和列名称代替这个字母。  可将该讯息转换成处理过的分解形式。
  明⽂:A T T A C K A T O N C E
  密⽂:AF AD AD AF GF DX AF AD DF FX GF XF
  A,D,F,G,X也可以⽤数字1,2,3,4,5来代替,这样密⽂就成了:
  13 12 12 13 43 25 13 12 23 35 43 53
-------------------------------------------------------------------------
【ADFGX/ADFGVX密码(ADFGX/ADFGVX Cipher)】
ADFGX
  1918年,第⼀次世界⼤战将要结束时,法军截获了⼀份德军电报,电⽂中的所有单词都由A、D、F、G、X五个字母拼成,
  因此被称为ADFGX密码。ADFGX密码是1918年3⽉由德军上校Fritz Nebel发明的,是结合了Polybius密码和置换密码的双重加密⽅案。
  A、D、F、G、X即Polybius⽅阵中的前5个字母。
  明⽂:A T T A C K A T O N C E王馨流产
  经过Polybius变换:AF AD AD AF GF DX AF AD DF FX GF XF
  下⼀步,利⽤⼀个移位密钥加密。假设密钥是“CARGO”,将之写在新格⼦的第⼀列。再将上⼀阶段的密码⽂⼀列⼀列写进新⽅格⾥。
  C A R G O
  _________
宜昌人事局
  A F A D A
  D A F G F
  D X A F A
  D D F F X
  G F X F X
  最后,密钥按照字母表顺序“ACGOR”排序,再按照此顺序依次抄下每个字母下⾯的整列讯息,形成新密⽂。如下:
  FAXDF ADDDG DGFFF AFAXX AFAFX
  在实际应⽤中,移位密钥通常有两打字符那么长,且分解密钥和移位密钥都是每天更换的。
ADFGVX
  在1918年6⽉,再加⼊⼀个字V扩充。变成以6×6格共36个字符加密。这使得所有英⽂字母(不再将I和J视为同⼀个字)以及数字0到9都可混合使⽤。
  这次增改是因为以原来的加密法发送含有⼤量数字的简短信息有问题。
【乘法密码(Multiplication Cipher)】
  乘法密码也是⼀种简单的替代密码,与凯撒密码相似,凯撒密码⽤的是加法,⽽乘法密码⽤的⾃然是乘法。
  这种⽅法形成的加密信息保密性⽐较低。
  加密公式:密⽂ = (明⽂ * 乘数) Mod 26
  对于乘数密码,只有当乘数与26互质时,加密之后才会有唯⼀的解,因此乘数只可能有如下11种的选择:
  乘数 = 3,5,7,9,11,15,17,19,21,23,25
  仿射密码和希尔密码因为都⽤到了乘法,所以乘数也受到相同的局限。
-------------------------------------------------------------------------
【仿射密码(Affine Shift)】
  仿射密码就是凯撒密码和乘法密码的结合。
  加密公式:密⽂ = (明⽂ * 乘数 + 位移数) Mod 26
-------------------------------------------------------------------------
【希尔密码(Hill Cipher)】
  希尔密码就是矩阵乘法密码,运⽤基本矩阵论原理的替换密码。每个字母当作26进制数字:A=0, B=1, ⼀串字母当成n维向量,  跟⼀个n×n的密钥矩阵相乘,再将得出的结果模26。希尔密码的优点是完全隐藏了字符的频率信息,弱点是容易被已知明⽂攻击击破。
加密
  例如:密钥矩阵
  1 3
  0 2
  明⽂:HI THERE
  去空格,2个字母⼀组,根据字母表顺序换成矩阵数值如下,末尾的E为填充字元:
  HI TH ER EE
  8 20 5 5
  9 8 18 5
  HI 经过矩阵运算转换为 IS,具体算法参考下⾯的说明:

本文发布于:2024-09-21 03:17:59,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/693610.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:密码   字母   加密   密钥   顺序   数字   字母表   频率
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议