📜  传统的对称密码

📅  最后修改于: 2022-05-13 01:57:03.432000             🧑  作者: Mango

传统的对称密码

传统对称密码的两种类型是替换密码转置密码。以下流程图对传统密码进行了分类:

1.替换密码:
替换密码进一步分为单字母密码多字母密码

首先,让我们研究一下单字母密码。

  1. 单字母密码 –
    在单字母密码中,明文中的每个符号(例如,“follow”中的“o”)都映射到一个密文符号。无论一个符号在明文中出现多少次,都会对应同一个密文符号。例如,如果纯文本是 'follow' 并且映射是:
    • f -> g
    • o -> p
    • l -> 米
    • w -> x

    密文是'gpmmpx'。

    单字母密码的类型有:

    (一种)。加法密码(移位密码/凯撒密码)–
    最简单的单字母密码是加法密码。它也被称为“移位密码”或“凯撒密码”。顾名思义,就是对明文进行“加法模2”运算,得到密文。

    C = (M + k) mod n
    M = (C – k) mod n

    在哪里,
    C -> 密文
    M -> 消息/纯文本
    k -> 键

    密钥空间是 26。因此,它不是很安全。它可以通过蛮力攻击来破解。
    有关更多信息和实施,请参阅凯撒密码

    (b)。乘法密码 –
    乘法密码类似于加法密码,只是在加密期间密钥位与纯文本符号相乘。同样,密文乘以密钥的乘法逆进行解密,得到明文。

    C = (M * k) mod n
    M = (C * k -1 ) mod n

    在哪里,
    k -1 -> k (key) 的乘法逆

    乘法密码的密钥空间是 12。因此,它也不是很安全。

    (C)。仿射密码 –
    仿射密码是加法密码和乘法密码的组合。密钥空间为26 * 12(加法的密钥空间*乘法的密钥空间)即312。由于密钥空间较大,因此相对安全。
    这里使用了两个密钥 k 1和 k 2

    C = [(M * k 1 ) + k 2 ] mod n
    M = [(C – k 2 ) * k 1 -1 ] mod n

    有关更多信息和实现,请参阅仿射密码

    现在,让我们研究一下多字母密码。

  2. 多字母密码 –
    在多字母密码中,明文中的每个符号都映射到不同的密文符号,而不管它是否出现。符号的每一次不同出现都有不同的密文映射。例如,在纯文本“follow”中,映射为:

    f -> q
    o -> w
    l -> e
    l -> r
    o->t
    w -> y

    因此,密文是'qwerty'。

    多字母密码的类型有:

2.转置密码:
转置密码不处理一个符号与另一个符号的替换。它着重于改变符号在纯文本中的位置。明文中第一个位置的符号可能出现在密文中的第五个位置。

其中两个转置密码是:

  1. 列转置密码 –
    有关信息和实现,请参阅列转置密码
  2. 围栏密码 –
    有关信息和实施,请参阅 Rail-Fence Cipher