应用密码学:单表代替密码简单介绍
应用密码学:单表代替密码简单介绍
代替密码(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
应用密码学:单表代替密码简单介绍相关推荐
- NSSCTF刷题wp——单表替换密码
NSSCTF Crypto 模块 单表替换密码 [HGAME 2022 week1]Matryoshka ID:1855 打开Matryoshka.txt,发现是一堆点,看标签可能是Braille盲文 ...
- 单表置换密码java代码实现_单表替换密码
要求: 实现单表替换密码,用键盘接收明文和密钥,屏幕答应替换表和密文,大小写敏感,输入健壮性. 实际问题: 密钥处理应该是这个程序的重点,加密和解密都没有什么要注意的地方.用key[]数组接收keyt ...
- 单表代换密码之Caesar密码的代码实现
单表代换密码之Caesar密码的代码实现 代码块 代码块语法遵循标准markdown代码,例如: from operator import mod #ceasar加密算法 def ceasarC(a) ...
- 单表代换密码(凯撒密码)
单表代换密码概述 对所有的明文字母都用一个固定的代换进行加密 ,因而称为 单表代换密码.加密过程中是从明文字母表到密文字母表的一一映射.例: 恺撒(Caesar)密码. 缺点:不能抗击字母频度分析,容 ...
- JS实现单表代换密码加密
单表代换加密算法是比较经典的加密算法,事先准备好字母代换的相应对照表,即可实现加密解密,这里我们用JS进行实现. 明文字母与密文字母对应关系: 明文 a b c d e f g h i j k l m ...
- 单表代换密码加密解密
单表代换密码加密解密原理: 单表代换是指英文字母在进行密码编码替换的时候,有一张对照表,也就是说,对于每一个字母,都是唯一对应的,如: 26个源字母表为:abcdefghijklmnopqrstuvw ...
- formidable处理提交的表单或文件的简单介绍
一般来说,客户端向服务端提交数据有GET和POST这两种方式,在之前的文章node.js当中的http模块与url模块的简单介绍当中我们可以知道通过req.url与url模块的配合处理可以快速得到客户 ...
- 单表代替密码原理及算法实现
要了解单表替代密码就得先了解替代密码,在这里我就做一下简单的介绍: 替代是古典密码中用到的最基本的处理技巧之一 . 替代密码是指先建立一个替换表,加密时将需要加密的明文依 ...
- 【C】关于打表法的简单介绍
本文只是简单介绍打表法,各位大佬可以忽略本文,如果有大佬对本文有修改意见,欢迎评论 还是先上OJ题目 这是一道浙江工业大学的OJ题目,由于是内网链接,这里只能给出题号了:1677(题目有一定的修改,主 ...
- 单表代换加密算法用c语言实现,单表代替密码原理及算法实现
二.由独立试验产生双字母.根据Beker在1982年统计的英文双字母的频数给出了双字母的频率. 统计出的英文双字母的概率最大的30对字母按概率大小排列为: th he in ...
最新文章
- java培训分享:学习java开发的优势是什么
- 苹果怎么换行打字_停课不停学!苹果电脑学习类软件推荐,丰富您的假期生活...
- 苹果2项最新专利曝光无人车路线:闭门造车、传感器先行,关注驾乘体验
- UVA10780:Again Prime? No Time(数论)
- JavaScript实现轮播图
- 牛客一 G-Game of Swapping Numbers
- SharePoint 入门介绍
- AJAX扩展-POST传递参数并跳转页面
- java 简单的加法 递归 从A加到B
- 【JavaScript】Canvas绘图整理
- windows下使用net-snmp实现agent扩展(三)
- java网络编程_Java网络编程进阶:通过JSSE创建安全的数据通信
- Kendo Web UI Grid里时间格式转换
- Arrays.asList 方法注意事项
- 【微信小程序】【云开发】【从零开发】【零成本】翻译小程序 —《阿怼翻译》0.0.1版本(有教程视频和源码)
- 3月9日火箭vs黄蜂
- 一篇文章教会你利用Python网络爬虫抓取王者荣耀图片
- ab并发测试-Linux
- 计算机出现蓝屏cpu很烫,win7系统电脑蓝屏罪魁祸首CPU超频的解决方法
- TApplicaiton.ProcessMessages不能在非主线程使用