趣味密码学之四后记:恺撒码补遗

2024-02-25 03:58

本文主要是介绍趣味密码学之四后记:恺撒码补遗,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

上次讲到恺撒码很容易被破解,因此在它的基础上又作出了很多改进。

恺撒码属于字母表的平移变换,其一般加密公式为 f(a)=(a+k) mod n,n为字符集中字母的个数,k的取值范围是1~25。当K=3时,这种变换就是恺撒码。

另一种办法就是改变字母表的顺序,也称为倍模变换,其一般加密公式为f(a)=ak mod n, n为字符集中字母的个数。在这里,k的取值必须与n互素(即最大公约数为1);否则会出现周期性,不同的字符会产生相同的加密结果。
如:k=5、n=26,变换公式为f(a) = (5*a ) mod 26

明文:ABCDEFGHIJKLMNOPQRSTUVWXYZ
密文:ejotydinsxchmrwbglqvafkpuz
因为z的编码为26,而k与26互素,所以 f(a)=(26*k) mod 26=26,明文z加密后还是它本身。同理,M(编码为13)也一样。
如果取k=2,k与26不互素,则会出现编码相同的情况。如,f(1)=(1*2) mod 26 =2,f(14)=(14*2) mod 26 =2,? 字母a和n的密文均为b,而且无法通过解密公式确定明文。这样的情况会同样出现在b和o…m和z中,以13为周期重复产生相同的加密结果。

结合上述两种变换,就得到了广义恺撒码的公式,也称为线性变换。f(a)=(a*k1+k2) mod n , n为字符集中字母的个数, k的取值必须与n互素。如k1=3,k2=2,n=26

明文:abcdef
密文:ehknqt
这三种方法的解密都很简单,但是都达到了混乱原文的效果。而只要知道密钥得到密码表,解密的方法也很简单。

这篇关于趣味密码学之四后记:恺撒码补遗的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/744317

相关文章

密码学读书笔记小结

密码学是保证消息的私密性和完整性以及消息认证的基础。加密算法的选择和密钥的管理是安全机制的效率、性能和可用性的关键。 公钥加密算法: 分发密钥比较容易,但是对大数据量的加密性能较差密钥加密算法: 更适合大批的加密任务混合型加密协议: 例如TLS,先用公钥加密建立一个安全通道,然后使用通道交换密钥,并将此密钥用于后续数据交换。 对分布式系统攻击的分类: 窃听: 未经授权获得消息副本伪装: 在未

NISP | 密码学

关注这个证书的其他相关笔记:NISP 一级 —— 考证笔记合集-CSDN博客 通过上一章的学习,我们知道了,网络安全的 CIA 模型,而本期学习的“密码学”,则能为 CIA 模型提供很好的技术支持: 面临的攻击威胁所破坏的信息安全属性解决问题所采用的密码学技术截获(泄露信息)机密性对称密码和非对称密码篡改(修改信息)完整性哈希函数、数字签名、 对称密码和非对称密码伪造(伪造信息来源)真实

ELK系列之四---如何通过Filebeat和Logstash优化K8S集群的日志收集和展示

前 言 上一篇文章《日志不再乱: 如何使用Logstash进行高效日志收集与存储》介绍了使用ELK收集通用应用的日志,在目前大多应用都已运行在K8S集群上的环境,需要考虑怎么收集K8S上的日志,本篇就介绍一下如何使用现有的ELK平台收集K8S集群上POD的日志。 K8S日志文件说明 一般情况下,容器中的日志在输出到标准输出(stdout)时,会以.log的命名方式保存在/var/log/po

Python趣味编程

文章目录 系列文章每日十练案例1:打印“Hello, World!”案例2:计算两个数的和案例3:求解输入的数字平方案例4:判断数字的奇偶性案例5:计算阶乘案例6:检查列表中的最大值案例7:列表中的元素求和案例8:反转字符串案例9:字典中的键值对遍历案例10:生成随机数 系列文章 序号直达链接表白系列1Python制作一个无法拒绝的表白界面2Python满屏飘字表白代码3

趣味定时器

学习完中断后,接下来都是定时中断这一巧妙的中断模式。定时器是在设定时间并且时间一到后就会响应执行设定好的事件,但其只处理一次,如同机械时钟的闹钟功能。而日常中的手机等电子设备设置闹钟后可配置为隔多久再响一次,这需要实现循环定时中断,在下面的内容中会对比说明。 在Linux Kernel中有两种常用的定时器,两者主要是精度的区别,在了解使用它们前,先了解如下几个概念:  1.节拍率(tick r

selenium 自动化之四----图形验证码处理

目前登录功能增加了验证码的各种形式,本文主要讲解图形验证码的处理方式 需要安装 pytesseract tesseract-ocr pilow 三方库 安装结束之后,修改pytesseract 这个源文件的tesseract_cmd = ‘/usr/local/Cellar/tesseract/4.0.0/bin/tesseract’ 这个绝对路径就是你安装tesseract-ocr 这个执行文件

趣味 | 暴走漫画的《创造1024》

点击上方“朱小厮的博客”,选择“设为星标” 回复”1024“获取独家整理的学习资料 前段时间,暴走漫画出品了一档“综艺”——《创造1024》,视频在网络上疯传,让程序员这个群体火出圈外。 让我们来看看,这个引发圈外人爆笑连连、却让程序员吐槽不止的视频究竟讲了些啥! 首先出场的是鹅厂推送的三人程序员组合,就这样打着吊瓶来了! 台下选手顶着厚重的黑眼圈和凌乱

公钥密码学

1. 非对称密码学         非对称密码学(Asymmetric Cryptography) 中的 “非对称” 指的是用于加密数据的密钥和用于解密数据的密钥是不一样的(如果一样,那就是对称密码学)。对称密码学也称为共享密钥密码学。类似地,非对称密码学也有一个别称,即公钥密码学(Public Key Cryptography)。这是因为它使用一对公钥和私钥分别加密和解密数据。目前使用的非对称

内部排序之四:归并排序和快速排序

前言      之所以把归并排序和快速排序放在一起探讨,很明显两者有一些相似之处:这两种排序算法都采用了分治的思想。下面来逐个分析其实现思想。 归并排序    实现思想        归并的含义很明显就是将两个或者两个以上的有序表组合成一个新的有序表。归并排序中一般所用到的是2-路归并排序,即将含有n个元素的序列看成是n个有序的子序列,每个子序列的长度为1,而后两两合并,得到n/

RFC6455-The WebSocket protocol 之四:Opening Handshake 4.1. Client Requirements

4.Opening Handshake 4.1. Client Requirements 第四章:握手 第一节:客户端的要求 To _Establish a WebSocket Connection_, a client opens a connection and sends a handshake as defined in this section. A connect