密码常识.docx

上传人:b****5 文档编号:5346134 上传时间:2022-12-15 格式:DOCX 页数:38 大小:117.96KB
下载 相关 举报
密码常识.docx_第1页
第1页 / 共38页
密码常识.docx_第2页
第2页 / 共38页
密码常识.docx_第3页
第3页 / 共38页
密码常识.docx_第4页
第4页 / 共38页
密码常识.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

密码常识.docx

《密码常识.docx》由会员分享,可在线阅读,更多相关《密码常识.docx(38页珍藏版)》请在冰豆网上搜索。

密码常识.docx

密码常识

【密码常识】

字母表顺序-数字

  加密的时候,经常要把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。

倒序

  加密时为经常要对字符进行倒序处理。

如果让你按abcdef...的顺序背出字母表的每个字母会很容易,但是如果是zyxwvu...的顺序那就很难背出来了。

一个很熟悉的单词,如果按相反的顺序拼写,可能就会感到很陌生。

  例如“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

  词频法其实就是计算各个字母在文章中的出现频率,然后大概猜测出明码表,最后验证自己的推算是否正确。

这种方法由于要统计字母出现频率,需要花费时间较长。

参考《跳舞的小人》和《金甲虫》。

∙2007-6-1010:

37

∙回复

∙秋雨灰灰

∙79位粉丝

4楼

【凯撒密码(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位后成为:

      丮斈凰撓秼低

  转换成中文:

[丮斈凰挠秼低]

∙2007-6-1010:

38

∙回复

∙秋雨灰灰

∙79位粉丝

5楼

【栅栏密码(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

∙2007-6-1010:

38

∙回复

∙秋雨灰灰

∙79位粉丝

6楼

【维吉尼亚密码(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

  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

  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

∙2007-6-1010:

40

∙回复

∙秋雨灰灰

∙79位粉丝

7楼

【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都可混合使用。

这次增改是因为以原来的加密法发送含有大量数字的简短信息有问题。

∙2007-6-1010:

42

∙回复

∙秋雨灰灰

∙79位粉丝

8楼

【乘法密码(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, C=2... 一串字母当成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,具体算法参考下面的说明:

  |1 3| 8 e1*8+3*9=35 MOD26=9 =I

  |0 2| 9 e0*8+2*9=18 MOD26=18=S

  用同样的方法把“HI THERE”转换为密文“IS RPGJTJ”,注意明文中的两个E分别变为密文中的G和T。

解密

  解密时,必须先算出密钥的逆矩阵,然后再根据加密的过程做逆运算。

  逆矩阵算法公式:

  |A B| = 1/(AD-BC) * | D -B|

  |C D|               |-C  A|

  例如密钥矩阵=

  |1 7|

  |0 3|

  AD-BC=1*3-0*7=3 3*X=1 mod26 所以 X=9

  因此

  |1 7| 的逆矩阵为:

 9 * |3 -7|

  |0 3|                |0  1|

  假设密文为“FOAOESWO”

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 党团建设

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1