计算机破译加密电报原理,电报上的计算机原理

首页 > 科技 > 作者:YD1662023-01-17 13:01:17

得到明文“ Common sense is not so common.”

解密的步骤 如下: 1. 将 消息 的 长度 除以 密钥 并向 上 取整 计算 需要 的 列数。 2. 画出 一定 数量 的 格子。 列数 已在 第一步 计算, 行数 和 密钥 一样。 3. 将 格子 的 个数( 行数 乘以 列数) 减去 密 文 消息 的 长度 计算 需要 涂 灰 格子 的 个数。 4. 涂 灰 最 右边 那一 列 下面 的 格子, 个数 已在 第三步 计算。 5. 填入 密 文 的 字符, 从 最上 面 那一 行 开始, 从左 向右 填入。 跳过 任何 灰色 格子。 6. 要 获取 明文, 从 最 左边 那一 列 开始, 从上往下 读取, 然后 移到 下一 列 顶部。 Al Sweigart 斯维加特. Python密码学编程(异步图书) (p. 95). 人民邮电出版社. Kindle 版本.

破解方法:通常我们在不知道密钥key的情况下,采用爆破密钥key,然后通过英文单词检测的方式来破解密文。

6-数乘加密法

凯撒加密法,都是采用将密钥加到字符串的索引去,而数乘加密法是采用乘法将密钥乘索引。

在凯撒加密法里 ,加密和解密符号涉及把它们转换成数字 ,加上或减去密钥 ,然后把新的数字转换回符号 。

如果我们在加密时不是加上密钥而是乘以呢 ?这会导致 “回调 ”问题 ,不过取模运算符可以解决这个问题 。比如说 ,我们使用只包含大写字母的符号集和密钥 7 。

下面列出字母及其数字 :

计算机破译加密电报原理,电报上的计算机原理(9)

要找出符号 F使用密钥 7会加密成什么 ,将它的数字 ( 5 )乘以 7 ,再对 2 6取模 (处理 2 6符号集的 “回调 ” ) 。然后使用那个数字的符号 。 ( 5 × 7 )取模 2 6 = 9 , 9是符号 J的数字 。因此 , F在乘数加密法里使用密钥 7会加密成 J 。同理得到:

计算机破译加密电报原理,电报上的计算机原理(10)

问题1:

乘数加密法有个缺点,就是A没有被加密,密文也是A,因为A的索引是0,0乘上任何Key都是0,所以,我们在乘数keyA后,再进行凯撒加密法进行加法keyB加密。于是得到仿射加密法。

问题2:不是任意的数都可以作为乘数加密的密钥Key,例如8,会导致密文多对一。密钥他和字符集大小,要互质。

计算机破译加密电报原理,电报上的计算机原理(11)

两个数的最大公约数为1,则两个数互质

求两个数的最大公约数算法:欧几里得算法

def gcd (a , b ) : while a ! = 0 : a , b = b % a , a return b

计算机破译加密电报原理,电报上的计算机原理(12)

上一页12345下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.