第二章古典密码体制

转https://www.cnblogs.com/WittPeng/p/8978737.html

古典密码体制

1.置换密码

1.列置换密码

  • 加密过程:(1)明文按照固定宽度m按行写出,不足部分按照双方约定方式填充,得到字符矩阵;

                           (2)进行置换操作;

                          (3)读出后即为密文

  • 解密过程:将加密密钥逆置,按照加密过程操作,即可由密文得到明文。
  • 如密钥e=(143)(56) 意思是1->4,4->3,3->1,5->6,6->5

2.周期置换密码

  •  明文按照固定长度m分组,对字符串编号,重新排列位置从而得到密文;解密时将加密密钥逆置得到解密密钥,重新排列位置后得到明文。

2.代换密码

  • 代换密码就是将明文中的字符替换为其他字符的密码体制。

单表代换密码

  • 基于密钥的代换密码,明文字母对应的密文字母在密文中保持不变
  • 仿射密码:e(x)=ax+b(mod26) (a,b属于Z26,gcd(a,26)=1)

                    x=d(e(x))=a-1(e(x)-b)(mod26)

多表代换密码

  • 明文中不同位置的同一明文字母在密文中对应的密文字母不同,能够很好地对抗统计密码分析
  • 实例:
Playfair密码
加密步骤:a.在适当位置闯入一些特定字母,譬如q,使得明文字母串的长度为偶数,并且将明文字母串按两个字母一组进行分组,每组中的两个字母不同。

b.明文m1m2对应的密文c1c2的确定:m1和m2同行或同列,则c1为m1后的字符,c2为m2后的字符;若m1和m2既不同行也不同列,则c1c2在m1m2所确定的矩形的其他两个角上,c1和m1同行,c2和m2同行。

Vigenere(维吉尼亚密码)

例:

 

Vernam(维尔姆密码)
Hill(希尔密码)
  • [p]1*n≡([c]1*n*[k]-1m*n)(mod 26)62333333
  • 所使用的矩阵必须为非奇异矩阵
  • 安全性:能较好抵抗统计分析法,对抗唯密文攻击的强度较高,但易受已知明文攻击。
  • 逆矩阵的求法:
  • 转轮密码机

古典密码的分析——统计分析法

单表代换密码分析

  • 使用字母或汉字的统计规律

多表代换密码分析

  • 确定密钥长度:
  1.  卡西斯基(Kasisks)测试法:找相同字母间隔字母数的最大公因子,有可能是周期k
  2. 重合指数法:计算概率分析重合指数IC=Σpi ,IC高的可能是单表代换,低的可能是多表代换。
  • 确定密钥:拟重合指数测试法:x=Σriqi
  • 恢复明文并验证

明文-密文对分析法

原文地址:https://www.cnblogs.com/69-year-old-comrade/p/15313709.html