当前位置: 首页 > news >正文

恺撒密码/置换密码案例

 恺撒密码是移位密码的一个典型应用。恺撒密码据传是古罗马恺撒大帝用来保护重要军情的加密系统通过将字母按顺序推后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.mrgr.cn/news/51341.html

相关文章:

  • UltraISO(软碟通)制作U盘制作Ubuntu20.04启动盘
  • 基于SSM的大学学术交流论坛【附源码】
  • 3.Three.js程序基本框架结构和API说明
  • Unity之XR Interaction Toolkit 射线拖拽3DUI
  • 自适应过滤法—初级
  • KNN算法及KDTree树
  • 数据分析分段折线图
  • 【C++常见错误】0xC0000005: 读取位置 0x00000000 时发生访问冲突
  • .Net的潘多拉魔盒开箱即用,你学废了吗?
  • 【面经】2024年软件测试面试题,精选100 道(附答案)
  • OpenGauss学习笔记
  • 【开源】Appium:自动化移动应用测试的强大工具
  • 10月报名 | 海克斯康Adams二次开发培训
  • 前端全栈混合之路Deno篇:Deno 2.0 的权限系统详解和多种权限配置权限声明方式 -一次性搞懂和学会用
  • vulhub复现记录
  • 面试记录一
  • 概率测试:用随机性来发现难以复现的问题
  • STM32 QSPI接口驱动GD/W25Qxx配置简要
  • 瞬时存取,无限可能:顺序表的独特魅力
  • 代码随想录训练营Day35 | 452. 用最少数量的箭引爆气球 | 435. 无重叠区间 | 763.划分字母区间