仿射密码 affine

news2024/11/24 7:32:09

参考链接:https://www.cnblogs.com/0yst3r-2046/p/12172757.html

仿射加密法

在仿射加密法中,字母表的字母被赋予一个数字,例如 a=0,b=1,c=2…z=25 。仿射加密法的密钥为0-25直接的数字对。

仿射加密法与单码加密法没什么不同,因为明文的每个字母分别只映射到一个密文字母。

仿射密码的加密算法就是一个线性变换,即对任意的明文字符x,对应的密文字符为 ,其中,a,b∈,且要求gcd(a,26)=1,函数e(x)称为仿射加密函数。

注意:

注1. 仿射加密函数要求gcd(a,26)=1,即要求a和26互素,否则就不是一个单射函数。

注2. 从仿射加密函数的表达式易知,当a=1,b=3时,这种仿射密码就是著名的凯撒密码。

注3. 在求解仿射解密函数时,需要求a在上的乘法逆元这可由扩展欧几里得算法求解,下表列出了在上所有与26互素元素的乘法逆元:

举个列子:

假设e(x)为密文,x为明文。

设仿射加密函数是

由上表知:所以相应的仿射解密函数是

若加密明文是  sorcery  ,首先把明文每个字母转换为数字 18,14,17,2,4,17,24 。然后对明文进行加密,这里以第一个字母s为例:

e(x)=(11*18+6)mod 26

e(x)=204 mod 26

e(x)=22 

对照下表:

python代码:

flag = "szzyfimhyzd"
flaglist = []
for i in flag:
    flaglist.append(ord(i)-97)
flags = ""
for i in flaglist:
    for j in range(0,26):
        c = (17 * j - 8) % 26
        if(c == i):
            flags += chr(j+97)
print(flags)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/979423.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ubuntu修改用户名和用户密码

1.修改passwd文件 sudo gedit /etc/passwd2.修改shadow文件 sudo gedit /etc/shadow3.修改home目录下文件夹名 mv /home/原用户名/ /home/新用户名4.修改sudo权限(修改group用户组) sudo gedit /etc/group5.修改用户密码 sudo passwd username #修改…

位运算 |(按位或) (按位与) ^(按位异或)

目录 文章目录:本章讲解的主要是刷题系列 1:首先会介绍 I & ^这三个操作符的作用,性质 2:三道使用位运算操作符的经典 笔试题(来自剑指offer) 题目链接如下: 1:136. 只出现一次的数字 - 力扣(LeetCode…

Jmeter进阶使用指南-使用断言

Apache JMeter是一个流行的开源负载和性能测试工具。在JMeter中,断言(Assertions)是用来验证响应数据是否符合预期的一个重要组件。它是对请求响应的一种检查,如果响应不符合预期,那么断言会标记为失败。 以下是如何在…

Echarts 中国地图

直接展示效果图: 我们需要引入两个文件: echarts.js 官网地址下载:快速上手 - Handbook - Apache ECharts chain.js 这个官网已经找不到了,需要自行搜寻下载 也可以私信我(网上下载的China.js会导致省名称定为不准确&#xff0…

Go语言最全面试题,拿offer全靠它,附带免积分下载pdf

面试题文档下链接点击这里免积分下载 go语言入门到精通点击这里免积分下载 文章目录 Go 基础类GO 语言当中 NEW 和 MAKE 有什么区别吗?PRINTF(),SPRINTF(),FPRINTF() 都是格式化输出,有什么不同?GO 语言当中数组和切片的区别是什么&#xf…

【C++】函数重载 ③ ( 为函数指针赋值重载函数 )

文章目录 一、函数指针回顾1、函数指针概念2、函数指针语法3、代码示例 - 函数指针示例 二、为函数指针赋值重载函数1、为函数指针赋值重载函数2、代码示例 - 为函数指针赋值重载函数 博客总结 : 重载函数 : 使用 相同 的 函数名 , 定义 不同 的 函数参数列表 ;判定标准 : 只有…

判断计算机处理器的大小端

一、什么是大小端? 大端模式:低位字节存在高地址,高位字节存在低地址 小端模式:高位字节存在高地址,低位字节存在第地址 二、如何判断计算机处理器是大端还是小端? ①使用变量 x 的值本身来检查处理器存储…

九章云极DataCanvas公司参与大模型重点项目合作签约,建设产业集聚区

9月3日,2023中国国际服务贸易交易会石景山国际开放合作论坛在石景山首钢园成功举办,北京市委常委、常务副市长夏林茂,商务部服务贸易和商贸服务业司司长王东堂,北京市石景山区委书记常卫出席论坛并致辞。论坛期间正式举行“石景山…

关于内涝积水的那些事儿

内涝积水是指城市区域在强降雨、排水系统失效或不足的情况下,大量降雨无法及时排除而积聚在地面上的现象。内涝积水不仅给城市环境和居民的生活带来困扰,同时也给社会经济、交通运输和居民安全造成了严重的危害。 内涝积水的影响 1.内涝积水会对城市环境…

亚马逊鲲鹏系统有哪些优势特点

亚马逊鲲鹏系统是一款全自动化操作的软件,有批量注册账号、自动养号、点击广告、根据关键词进行加购、下单购买、留评、评论点赞或举报、QA等,是一款功能比较齐全的软件。 亚马逊鲲鹏系统有以下优势特点: 1.功能齐全 亚马逊鲲鹏系统一套软件…

【买华为云产品,返CSDN余额红包】,快来薅羊毛!

华为云828营销季火热进行中,9月15日前首次购买华为云产品官网任意一款产品,可获得相应比例的CSDN红包。 热门产品云服务器、域名、商标、主机安全等产品都在其中,任君挑选。 活动优惠价购买后还是获得相应比例余额红包,实际付费金…

nodejs+vue+elementui高校人事管理系统

总体设计 根据高校人事管理系统的功能需求,进行系统设计。 用户功能:用户进入系统可以实现首页、个人中心、职称申报管理、工资信息管理、绩效信息管理、奖惩信息管理、招聘管理等进行操作; 院长功能:院长进入系统可以实现首页、个…

用通俗易懂的方式讲解大模型分布式训练并行技术:概述

近年来,随着Transformer、MOE架构的提出,使得深度学习模型轻松突破上万亿规模参数,传统的单机单卡模式已经无法满足超大模型进行训练的要求。因此,我们需要基于单机多卡、甚至是多机多卡进行分布式大模型的训练。 而利用AI集群&a…

vue中实现签名画板

特意封装成了一个组件&#xff0c;签名之后会生成一张图片 signBoard.vue <template><el-drawer title"签名" :visible.sync"isShowBoard" append-to-body :show-close"false" :before-close"closeBoard" size"50%&quo…

一文1000字彻底搞懂Web测试与App测试的区别

总结分享一些项目需要结合Web测试和App测试的工作经验给大家&#xff1a; 从功能测试区分&#xff0c;Web测试与App测试在测试用例设计和测试流程上没什么区别。 而两者的主要区别体现在如下几个方面&#xff1a; 1 系统结构方面 Web项目&#xff0c;B/S架构&#xff0c;基于…

网络请求流程简述

二层通信 通过 ARP 获取 MAC通过 MAC 确定目标进行通信 相同 vlan&#xff0c;不跨交换机 相同 vlan&#xff0c;跨交换机 不同 vlan

二进制搭建kubernetes

二进制搭建kubernetes 一、常见的K8S部署方式1.Minikube2.Kubeadmin3.二进制安装部署 二、二进制搭建K8S(单台master)1.部署架构规划2.系统初始化配置3.部署 docker引擎4.部署 etcd 集群4.部署 Master 组件5.部署 Worker Node 组件6.部署网络组件 三、负载均衡部署1.配置load b…

44、Flink之module模块介绍及使用示例和Flink SQL使用hive内置函数及自定义函数详细示例--网上有些说法好像是错误的

Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…

免费教学自制产品图册的方法

制作一个精美的产品图册可以帮助我们更好地展示产品的特点和优势&#xff0c;吸引潜在客户的注意力。而使用免费的工具和资源来制作图册&#xff0c;不仅可以节省成本&#xff0c;还能提高效率。 首先&#xff0c;我们需要选择一个适合的设计工具。例如FLBOOK在线制作电子杂志平…

包管理工具--》yarn的配置及使用

包管理工具系列文章目录 一、包管理工具--》npm的配置及使用&#xff08;一&#xff09; 二、包管理工具--》npm的配置及使用&#xff08;二&#xff09; 目录 &#x1f31f;yarn 简介 &#x1f31f;yarn 的核心命令 初始化 安装 脚本和本地CLI 查询 更新 卸载 &…