非常通俗易懂的解释密码算法原理!

本文通俗易懂地介绍了密码分析的基础知识,包括移位密码、单表代换、仿射代换和多表代换等传统密码学方法。接着讲解了置换密码中的无密钥换位和有密钥换位。最后,文章简要概述了DES分组密码的工作原理,包括初始置换、轮运算和扩展置换等核心步骤。
摘要由CSDN通过智能技术生成

      密码分析(上)

Tip:因为考试需要而总结的,因为写的比较通俗易懂,就放到博客里来了。

一、代换密码

1.1 移位(凯撒)密码

   应该是  

       注意:别被左边那种公式误导了,应该是先加再取余的,下面我按0-25代表a-z来算(这个无所谓了,你用ASCII码来算都可以,只要最后再算回字母来表示密文就行了)

       mod就是求余数的,N就是26(26个英文字母),假如k取为3

              比如a的加密过程,

              (‘a’ + 3) mod 26就相当于4 26取余 算出来就是‘d’(4)

              再比如z的加密过程

              (‘z’ + 3) mod 26就相当于28 26取余 算出来就是‘c’(3)

如果先取余就是25+3 (28)这个就跑出a-z的范围了

       举个例子

              原密码:a     o     p     c      d     e      f

              加密后:d     r      s      f      g  h   i

1.2 单表代换

       简单说就是一个字母在一张密码表里对应固定的另一个字符

       加密表(当然这表可以由自己随便给[一行放不下,放两行了]):

              0     1     2     3     4     5     6     7     8     9     10    11    12

              21    12    25    17    24    23    19    15    22    13    18    3     9

              -- - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - -- - - -

              13    14    15    16    17    18    19    20    21    22    23    24    25

              5     10    2     8     16    11    14    7     1     4     20    0     6

        解密表(扳着脚趾头想都可以想到是上面翻过来的):

              0     1     2     3     4     5     6     7     8     9     10    11    12

              24    21    15    11    22    13    25    20    16    12    14    18    1

              -- - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - -- - - -

              13    14    15    16    17    18    19    20    21    22    23    24    25

              9     19    7     17    3     10    6     23    0     8     5     4     2

       0-25分别代表A-Z,就比如说c(2)加密就会变为z(25),解密时z(25)-->c(2)

       举个例子

              原密码:a     o     p     c      d     e      f

              加密后:v     k     c      .      .      .      . (剩下的我就不算了,这26个字母数的比较烦)

1.3 仿射代换(乘数密码)

  应该是

       注意:还是别被左边那种公式误导了,应该是先加再取余的,解密的时候肯定先减掉了,比如k1 取7,k2取2,N还是26个英文字母,最终加密公式就是(7m+2)mod 26(m就是密码),解密公式就是(c-2)/7 mod 26(c是加密后的数据,-1次方就是除法,都知道的)

              比如a是0  加密:0×7+2mod 26 = 2    即为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值