查看: 1428|回复: 18

[密码学习] 仿射密码

简洁模式
发表于 2022-12-26 15:41:57 内蒙古| 发自安卓客户端 | 显示全部楼层
仿射密码(Affine cipher)加密过程:

1、将纯文本字母表中的每个字母转换为0到m -1

范围内的相应整数;

2、对每个字母数值进行如下算式计算(其中a和

b是密码的密钥):

E(x)=(ax+b) modm

3、即将纯文本字母的整数值乘以a,然后将b加到结果中,最后我们取模数m(也就是说,当解除以m时取余数,或者取掉字母的长度,直到得到小于该长度的数字)。

例如,让我们使用密钥a=5,b =8加密明文

"AFFINE CIPHER":

1、首先,我们必须找到明文字母表中每个字母的整数值(以字母表中的26个字母为例),如:ABCDEFGHIJKLMNOPQ RSTUVWXYZ

0 123 4 5 6 78 91011 12 13 14 15 16

1718 19 20 21 22 23 24 25

2)找到的明文字母的整数值后,对这些值执行

计算,在此例中,所需的计算为(5x+8);

3)最后,我们必须确保所有答案均在mod 26中

计算,并将整数转换回密文字母。

最后,得到的密文是“IHHWVC SWFRCP”。

仿射密码(Affine cipher)解密过程,使用解密F(x)= a-1(x-b)(mod m)进行计算,即可得到对应的解密后的原文。

仿射密码仍为单字母表密码,其依旧保留了该类别加密之弱处,当a=1,仿射加密为凯撒密码,因该加密方程可简化为线性移动。
1 | 发表于 2022-12-27 08:38:39 江西| 发自安卓客户端 | 显示全部楼层 发帖际遇
又学到了
1 | 发表于 2022-12-27 09:17:34 江苏| 发自安卓客户端 | 显示全部楼层 发帖际遇
学废了
| 楼主| 发表于 2022-12-27 11:19:16 内蒙古| 发自安卓客户端 | 显示全部楼层
耶,翻到自己的帖了,顺便水一下子
1 | 发表于 2022-12-27 17:49:50 西班牙| 发自安卓客户端 | 显示全部楼层 发帖际遇
学到了
1 | 发表于 2022-12-27 19:02:54 河南| 发自安卓客户端 | 显示全部楼层 发帖际遇
感谢分享
| 发表于 2022-12-27 20:57:56 福建| 发自安卓客户端 | 显示全部楼层
感谢分享
| 发表于 2022-12-27 23:39:49 中国香港| 发自安卓客户端 | 显示全部楼层 发帖际遇
感谢分享
| 发表于 2022-12-28 07:53:56 山东| 显示全部楼层
感谢分享
| 发表于 2022-12-28 07:58:33 山东| 发自安卓客户端 | 显示全部楼层
感谢分享
返回版块
12
尚未登录
您需要登录后才可以回帖 登录 | 加入学院