应用密码学:单表代替密码简单介绍

代替密码(Substitution Cipher)


目录

  • 应用密码学:单表代替密码简单介绍
  • 原理
  • 密钥
  • 加密
  • 解密

原理

一般单代替密码的原理是以26个英文字母集合上的一个置换Π(派)为密钥,对明文中的每一个字母依次进行变换,变换的方式是把明文中的每个字母用它在置换出来的对应项去代替。

用自己的话来说:
先按一定顺序写出26个英文字母,这里我们按字母表的顺序,
例如:A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z
然后按照某种自定义的方法把上面的顺序打乱,依次排列在下方,就形成了最简单的代替密码
例如:
|原表| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
|代替| Q | W | E | R | T | Y | U | I | O | P | A | S | D | F | G | H | J | K | L | Z | X | C | V | B | N | M |
这个对应表就是所谓的密钥

密钥

同上表
|原表| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
|代替| Q | W | E | R | T | Y | U | I | O | P | A | S | D | F | G | H | J | K | L | Z | X | C | V | B | N | M |

加密

我们用上面这个表来加密一段话看看效果
例如:
M明文:my name is yg
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
C密文:dn fqdt ol nu

对应密钥写出密文为:dn fqdt ol nu


解密

将加密的密钥 逆置换 后可以得到解密的密钥(将’代替’这一行重新排序,以这行为主)

|代替| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
|原表| K | X | V | M | C | N | O | P | H | Q | R | S | Z | Y | I | J | A | D | L | E | G | W | B | U | F | T |

将密文用原表的字母代替就可以完成解密得到明文
C密文:dn fqdt ol nu
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
M明文:my name is yg


应用密码学:单表代替密码简单介绍相关推荐

  1. NSSCTF刷题wp——单表替换密码

    NSSCTF Crypto 模块 单表替换密码 [HGAME 2022 week1]Matryoshka ID:1855 打开Matryoshka.txt,发现是一堆点,看标签可能是Braille盲文 ...

  2. 单表置换密码java代码实现_单表替换密码

    要求: 实现单表替换密码,用键盘接收明文和密钥,屏幕答应替换表和密文,大小写敏感,输入健壮性. 实际问题: 密钥处理应该是这个程序的重点,加密和解密都没有什么要注意的地方.用key[]数组接收keyt ...

  3. 单表代换密码之Caesar密码的代码实现

    单表代换密码之Caesar密码的代码实现 代码块 代码块语法遵循标准markdown代码,例如: from operator import mod #ceasar加密算法 def ceasarC(a) ...

  4. 单表代换密码(凯撒密码)

    单表代换密码概述 对所有的明文字母都用一个固定的代换进行加密 ,因而称为 单表代换密码.加密过程中是从明文字母表到密文字母表的一一映射.例: 恺撒(Caesar)密码. 缺点:不能抗击字母频度分析,容 ...

  5. JS实现单表代换密码加密

    单表代换加密算法是比较经典的加密算法,事先准备好字母代换的相应对照表,即可实现加密解密,这里我们用JS进行实现. 明文字母与密文字母对应关系: 明文 a b c d e f g h i j k l m ...

  6. 单表代换密码加密解密

    单表代换密码加密解密原理: 单表代换是指英文字母在进行密码编码替换的时候,有一张对照表,也就是说,对于每一个字母,都是唯一对应的,如: 26个源字母表为:abcdefghijklmnopqrstuvw ...

  7. formidable处理提交的表单或文件的简单介绍

    一般来说,客户端向服务端提交数据有GET和POST这两种方式,在之前的文章node.js当中的http模块与url模块的简单介绍当中我们可以知道通过req.url与url模块的配合处理可以快速得到客户 ...

  8. 单表代替密码原理及算法实现

       要了解单表替代密码就得先了解替代密码,在这里我就做一下简单的介绍:       替代是古典密码中用到的最基本的处理技巧之一 .       替代密码是指先建立一个替换表,加密时将需要加密的明文依 ...

  9. 【C】关于打表法的简单介绍

    本文只是简单介绍打表法,各位大佬可以忽略本文,如果有大佬对本文有修改意见,欢迎评论 还是先上OJ题目 这是一道浙江工业大学的OJ题目,由于是内网链接,这里只能给出题号了:1677(题目有一定的修改,主 ...

  10. 单表代换加密算法用c语言实现,单表代替密码原理及算法实现

    二.由独立试验产生双字母.根据Beker在1982年统计的英文双字母的频数给出了双字母的频率.       统计出的英文双字母的概率最大的30对字母按概率大小排列为: th    he    in   ...

最新文章

  1. java培训分享:学习java开发的优势是什么
  2. 苹果怎么换行打字_停课不停学!苹果电脑学习类软件推荐,丰富您的假期生活...
  3. 苹果2项最新专利曝光无人车路线:闭门造车、传感器先行,关注驾乘体验
  4. UVA10780:Again Prime? No Time(数论)
  5. JavaScript实现轮播图
  6. 牛客一 G-Game of Swapping Numbers
  7. SharePoint 入门介绍
  8. AJAX扩展-POST传递参数并跳转页面
  9. java 简单的加法 递归 从A加到B
  10. 【JavaScript】Canvas绘图整理
  11. windows下使用net-snmp实现agent扩展(三)
  12. java网络编程_Java网络编程进阶:通过JSSE创建安全的数据通信
  13. Kendo Web UI Grid里时间格式转换
  14. Arrays.asList 方法注意事项
  15. 【微信小程序】【云开发】【从零开发】【零成本】翻译小程序 —《阿怼翻译》0.0.1版本(有教程视频和源码)
  16. 3月9日火箭vs黄蜂
  17. 一篇文章教会你利用Python网络爬虫抓取王者荣耀图片
  18. ab并发测试-Linux
  19. 计算机出现蓝屏cpu很烫,win7系统电脑蓝屏罪魁祸首CPU超频的解决方法
  20. TApplicaiton.ProcessMessages不能在非主线程使用

热门文章

  1. php怎么设置div圆角,不用图片的DIV圆角(兼容各浏览器)
  2. 年薪百万计划之高级JAVA架构师之路视频教程
  3. 五矿系30亿项目未经环评私行上马遭环保部叫停
  4. ANSYS 有限元分析 命令流 实例
  5. android超大屏触摸设备,世界上最大的安卓Android平板电脑具有98英寸的屏幕
  6. python课堂笔记之django-day02(11)
  7. uci2019计算机录取,最新!加州大学公布2019年新生录取数据!
  8. TeeChart Pro FOR delphi 年底稳定版
  9. 带485接口伺服电机使用MODBUS协议控制
  10. Java开发微信公众号后台