简述仿射密码

在说起古典密码时,凯撒密码总是绕不开的话题,它是将明文与密钥相加,从而得到的密文,而我们今天要了解的仿射密码,则是将明文与密钥的一部分相乘,然后再加上密钥的另一部分,以此来实现加密。

仿射密码简介

仿射密码(Affine cipher)是一种表单替换密码,它通过对字母数值进行简单的乘法和加法方程运算,而得到另一个与其对应的字母,从而进行加密。

仿射加密函数:F(x) = (ax + b) (mod m),其中a和b互质,m是字母的数量;

仿射解密函数:F(x) = a-1(x - b) (mod m),其中a-1是a在Zm群的乘法逆元,m是字母的数量。

仿射密码

仿射密码的加密过程

  1. 将纯文本字母表中的每个字母转换为0到m -1范围内的相应整数;
  2. 对每个字母数值进行如下算式计算(其中a和b是密码的密钥):E(x)=(ax + b)mod m
  3. 即将纯文本字母的整数值乘以a,然后将b加到结果中,最后我们取模数m(也就是说,当解除以m时取余数,或者取掉字母的长度,直到得到小于该长度的数字)。

举个例子:

使用密钥a = 5,b = 8加密明文“AFFINE CIPHER”:

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

仿射密码

2、找到的明文字母的整数值后,对这些值执行计算,在此例中,所需的计算为(5x + 8);

3、最后,我们必须确保所有答案均在mod 26中计算,并将整数转换回密文字母。

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

仿射密码的解密过程

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

仿射密码

仿射密码的优缺点

仿射密码的优缺点为同一点,那就是简单,当a=1,仿射加密为凯撒密码。它明文空间一般为26个英文字母,任意两个不同的字母加密或解密后对应不用的字母,相同的字母加密或解密后对应相同的字母,所有仿射密码可以使用频率分析法破解。

免责声明:素材源于网络,如有侵权,请联系删稿。

相关推荐

简述希尔密码

数学和密码学一直是不可分割的两门学科,像我们熟悉的RSA算法就是基于数学中大素数之积难被分解所设计的。那么我们今天来了解一种将字母替换为数字的密码——希尔密码。 希尔密码简介 希尔密码(Hill Cipher)是Le ...

简述栅栏密码

在密码学中一直有这样一句话:“古典密码是密码学的源头”。这之前的文章中我们也了解了古老的凯撒密码,虽然以现在的眼光来看比较简单,但在当时可以说是一种质的飞跃。今天我们就来了解另外一种古典密码——栅栏密 ...

简述曲路密码

在古典密码中大致可以分为移位和替换两种,在移位密码中字母不变,位置改变;替换密码中则是字母改变,位置不变。今天我们就来了解一种比较简单的移位密码——曲路密码。 曲路密码的简介 曲路密码发明者和发明时间 ...

简述ADFGVX密码

在之前的文章中,我们了解了波利比乌斯密码,它是一种棋盘方阵密码,而我们今天要了解的密码是由它改良而来,在第一次世界大战中被德军广泛使用的ADFGVX密码。 ADFGVX密码简介 ADFGVX密码被认为是“人力加密时代 ...