恺撒密码/置换密码案例

news/2024/10/17 2:23:00/

 恺撒密码是移位密码的一个典型应用。恺撒密码据传是古罗马恺撒大帝用来保护重要军情的加密系统通过将字母按顺序推后3位起到加密作用。改进版的恺撒密码可以将一个字母利用字母表中该字母后面的第k个字母替代,k有 25 种可能的密钥。

案例:如果对明文“bob.ilove you.Alice”,利用k=3恺撒密码加密,得到的密文是什么?

对于 k=3 的恺撒密码,其字母替换关系是:明文的“abcdef...xyz”,替换为“defghi..abc”。于是,明文“bob.ilove you.Alice”加密后得到的密文是“ere,Ioryh brx.Dolhh”

恺撒密码是单字母密码,仅仅采用了简单的替代技术,优点是算法简单,便于记忆;缺点是结构过于简单,密码分析者只要通过很少的信息就可以破译密文。

换位密码,又称置换密码,是根据一定的规则重新排列明文,以便打破明文的结构特性。置换密码的特点是保持明文的所有字符不变,只是利用置换打乱了明文字符的位置和次序。也就是说,改变了明文的结构,不改变明文的内容。
换位密码可分为列置换密码和周期置换密码,,下面主要介绍列置换密码。

案例:假设采用密钥向 k=nice 的列置换密码,对明文“bob i love you”进行加密,加密得到的密文是什么?

【解】密钥 k=nice,则密钥长度 n=4,密钥的字母顺序为(4,3,1,2),因此将明文排列成 M;矩阵,每行分别为 bobi、love、youx,其中最后的“x”为填充字母。依据密钥规定的列输出顺序输出各列,便得到密文为:bvu iex ooo bly。

综合案例:设 Bob 给 Alice 发送了 frgh 和 cuerippnori$ottknlmrwpce 两段密文。 其中第一段密文为密钥 k=3(字符集为 26 个小写英文字母) 的恺撒密码, 第二段密文是采用了第一段密文的明文作为加密密钥的列置换密码(填充字符为$ )。 
试求:(1) 第一段密文的明文; 
试求:(2) 第二段密文的明文(写出解密过程) 

 请注意审题,均是密文转明文。

(1)frgh是以k=3位密钥加密后得到的密文,因此各字母需要往前推3位,即得到正确答案:code

(2)(2)求解第二段明文:密钥 code 的长度 n=4,密钥字母顺序:{1,4,2, 3}列输出顺序:第1列->第 4列->第2列->第3列密文 cuerippnori$ottknlmrwpce 对应的明文矩阵为:computrnetworkprinciples去掉填充字符所求明文为:computrnetworkprinciple。

图解如下:一共24个字符,一行4个,即6行,依次往下排。

上述操作解析OK


http://www.ppmy.cn/news/1539602.html

相关文章

将SpringBoot的Maven项目打成jar包和war包

先需要明确的是,该项目打包的形态是可执行的jar包,还是在tomcat下运行的war包。 springboot自带的maven打包 1.创建一个springboot web项目 1.api控制层HelloWorld.java RestController RequestMapping("/hello") public class HelloWorld …

关于oracle数据库/加载机密码中含有特殊字符@:><等的解决办法

一、前提交代 我最近项目中需要通过把特定的数据文件(.gz文件)导入到oracle库中,一般情况我们是通过shell来实现该功能,然后再通过作业调度调用shell来实现。在shell中肯定要连接数据库和加载机(存放数据文件的服务器),但是数据库…

foxy moveit2 小鱼

ros2 foxy 下安装moveit2 通过小鱼安装包(极简): 通过小鱼配置好git连接,注意start.sh前面有一个. git clone https://gitee.com/ohhuo/d2lmoveit2_tutorials cd d2lmoveit2_tutorials . start.sh 注意观察上面的运行过程,如果没报错啥的&…

Elasticsearch Suggester

概述 Elasticsearch里设计了4 种类别的 Suggester Term Suggester:词条建议器。对给输入的文本进进行分词,为每个分词提供词项建议。Phrase Suggester:短语建议器,在term的基础上,会考量多个term之间的关系Completio…

【Android】在安卓中使用 `mobile-ffmpeg` 压缩后的视频,浏览器在线播放提示“没有找到支持的视频格式和 MIME 类型”的解决方案

在安卓中使用 mobile-ffmpeg 压缩后的视频,浏览器在线播放提示“没有找到支持的视频格式和 MIME 类型”的解决方案 你可能在安卓开发中使用了 mobile-ffmpeg 进行视频压缩,而当你尝试在浏览器中在线播放压缩后的视频时,看到提示:…

标题:民峰金融——引领全球金融投资新时代

随着全球经济的快速发展和金融市场的复杂化,投资者面临的选择和挑战也越来越多。民峰金融作为一家创新型的金融服务平台,致力于为全球投资者提供优质的金融解决方案,通过智能化的技术和多元化的资产配置,帮助投资者在全球市场中把…

鸡兔同笼(贪心)

一个笼子里面关了鸡和兔子(鸡有 22 只脚,兔子有 44 只脚,没有例外)。 已经知道了笼子里面脚的总数 aa,问笼子里面至少有多少只动物,至多有多少只动物。 输入格式 第一行包含整数 nn,表示共有…

R语言手工实现主成分分析 PCA | 奇异值分解(svd) 与PCA | PCA的疑问和解答

几个问题: pca可以用相关系数矩阵做吗?效果比协方差矩阵比怎么样?pca做完后变量和样本的新坐标怎么旋转获得?pca做不做scale和center对结果有影响吗?pca用因子分解和奇异值分解有啥区别?后者怎么获得变量和样本的新坐标?1. 用R全手工实现 PCA(对比 prcomp() ) 不借助包…