• 代换密码


    代换密码

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

    单表代换密码

    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,无法穷举破译。
    • 缺点
      • 相同明文字母对应密文字母相同,可用统计的方法攻击。
  • 相关阅读:
    SQL server 日期格式转换style 对应码
    postman的使用方法详解!最全面的教程
    港澳台身份证小结
    使用设置自定义对话框的大小,位置,样式以及设置在安卓桌面上弹出对话框
    android自定义Activity窗口大小(theme运用)
    C#调用RabbitMQ实现消息队列
    C# http请求带请求头部分
    Android如何屏蔽home键和recent键
    针对jquery的优化方法,你知道几条
    试图从目录中执行 CGI、ISAPI 或其他可执行程序
  • 原文地址:https://www.cnblogs.com/liugangjiayou/p/12375025.html
Copyright © 2020-2023  润新知