单表代换 您所在的位置:网站首页 字母方阵加密表例子 单表代换

单表代换

2024-07-07 16:18| 来源: 网络整理| 查看: 265

仿射变换加解密原理

仿射变换是基于凯撒密码(替换)和移位变换,需要两个密钥,一个为相乘a,一个为移位b。

加密算法:c=a*m+ b(mod n)

加密过程: 1.获取a,b(密钥),n(字符个数),mod n是为了保证得到数字唯一(互素)。 2.获取明文。 3.明文转换成各个字符所对应的数字 -> 将所得数字带入上面的算法公式 -> 得到数字再转换成对应的字符,形成密文.

解密算法: 算法:m=a^ -1(m-b)(mod n)这里a^-1不是指倒数,而是a关于字符数量模的乘法可逆元。

什么是乘法逆元? 例1:求5关于14的乘法逆元 14=25+4 5=41+1 反过来写:1=5-41=5-(14-52)=5*3-14 因此5关于模14的乘法逆元为3.

代码实现:

a=7 b=26 c=0 i=0 while i= len(LETTERS): num = num - len(LETTERS) else: #用于解密,加密无用 num=19*(num-23)%26 #19为逆元 elif num


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有