代换密码

代换密码

  • 代换密码是将明文中的字符替换为其他字符的密码体质。
  • 基本方法是:
    • 建立一个代换表,加密时将明文字符通过查表代换为对应的密文字符,代换表即密钥。
    • (代换表即影视题材中常见的密码本,密码本由机要员保管,有电报需要发送时先由机要员用密码本将情报代换成电报代码,发报员负责发报,发报员不知道发报的内容是什么。)

单表代换密码

  1. 移位密码
  • 首先建立英文字母与摸26的剩余之间的对应关系
    A B C D …… Z
    0 1 2 3 …… 25
  • 定义:
    • 设P=C=K=Z={0,1,2,……,25},明文x密文y,对于整数k(0<=k<=25),定义:
      • 加密:y=e(x)=x+kmod26,
      • 解密:x=d(y)=y-kmod26,x,y属于Z
凯撒(Caesar)密码是k=3的移位密码
明文:A B C D …… W X Y Z
密文:D E F G …… Z A B C
明文M=china,密文C=FKLQD
M=game is over,k=9.
加密过程: g a m e i s  o   v  e r
         6 0 12 4 8 18 14 21 4 17
         6 0 12 4 8 18 14 21 4 17
         +9mod26
         ------------------------
         15 9 21 13 17 1 23 4 13 0
   密文C= p j  v  n  r b  x e n a
解密过程: p j  v  n  r  b x  e n a
         15 9 21 13 17 1 23 4 13 0
         15 9 21 13 17 1 23 4 13 0
         -9mod26
         ------------------------
         6 0 12 4 8 18 14 21 4 17
   密文C= g a m e i  s  o  v  e r
  1. 单表代换密码
  • 定义
    • 设P=C=K=Z={0,1,2,……,25},K是0,1,2,……,25的所有置换的集合,对置换π属于K
置换π为:π=(0  1  2 ……  25
            0' 1' 2' …… 25')
加密: y=e(x)=π(x),
解密: y=d(y)=π^-1(y).
  • 密钥传递
    • 为方便使用,通常代换后结果还是26个英文字母。
      • 代换密钥可约定为当日的某份英文报纸的头版头条新闻(重复的字母只用一次)
  • 优点
    • 不需要携带密码本,且可以设定每天更换一次密码,不容易破译。
    • 26个英文字母的代换密钥个数为26!>10^25,无法穷举破译。
  • 攻击分析
    • 26个英文字母的代换密钥个数26!>10^25,无法穷举破译。
  • 缺点
    • 相同明文字母对应密文字母相同,可用统计的方法攻击。
posted @ 2020-02-27 22:44  insist钢  阅读(1740)  评论(0编辑  收藏  举报