5种古典密码

一、凯撒密码

1.概念

将明文中的的字母表按照一定的字数进行平移进行加密。

2.加密

在凯撒密码中,按一定的字数平移是这个密码的算法,平移的字数是这个密码的密钥。

3.解密

  • 使用与加密时相同的秘钥进行反向平移操作。
  • 暴力破解。凯撒密码的密钥是平移的字数,有0-25共26种,全部尝试一遍,就会发现,只有当秘钥为3时,解密的字符串有意义。

4.显而易见,凯撒密码非常弱,无法保护重要的秘密。

5.python实现加解密

二、栅栏密码(置换密码)

1.概念:

将一段被加密的明文分成n组,把每组的第n个字符连接起来。特点是组成栅栏的字母不会很多。

2.加密:

先找明文的字母数的因数,因数有几,就可以分为几栏,分组后连接各组。

三、仿射密码(替换密码)

1.介绍:

将明文与密钥的一部分相乘,然后再加上密钥的一部分。

放射密码的秘钥有两个a、b,范围[0,25],a要求与26互质。

3.加密:

  1. x是明文,y是密文。
  2. 加密公式:y = (ax+b)mod 26
  3. 加密过程:
  • a =7,b = 3
  • y = (7x+3) mod 26
  • 假设明文为c,那么x的值为2
  • 所以y =17,密文为r

4、解密:

x =7的乘法逆元*(y-3)mod 26

四、维吉尼亚密码(多表代换密码)

1.介绍:

凯撒密码的加密强度是很低的,可以通过字频分析。人们在单一凯撒密码的基础上扩展出多表密码,称为“维吉尼亚”密码。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

2.如图:

行为明文,列为密钥,一个明文和一个秘钥得到一个密文,没有秘钥是很难破解的。

如果秘钥比密文短,将密钥重复几次,直至大于等于密文个数

3.解密:

五、曲路密码

曲路密码的密钥其实是整个表格的列数和曲路路径,设明文为 “THISISATESTTEXT ”,先将文本填入矩阵.再按预先约定的路径,从表格中取出字符,即可得到密文:ISTXETTSTHISETA

  • 10
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值