博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【加密解密】单表加密(Javascript实现)
阅读量:6938 次
发布时间:2019-06-27

本文共 1587 字,大约阅读时间需要 5 分钟。

hot3.png

■单表加密(monoalphabetic)

替换加密是密码学中按规律将文字加密的一种方式。替换加密中可以用不同字母数为一单元,例如每一个或两个字母为一单元,然后再作加密。密文接收者解密时需用原加密方式解码才可取得原文本。由于拼音文字中字的组成为有限的字母,以英语为例只有26个字母,组成可能的单元数较少,因此使用替换式密码相对较为容易,而且亦可使用简单机械进行加密;相反,非拼音文字如中文则因单元数非常大难以使用一般加密方式,必需建立密码本,然后逐字替换。更何况某些非拼音文字中字字皆由不同大小的字根来组字,较难转换,因此使用替换式密码的示例比较少。

当以替换式密码与置换式密码相比较时,可以发现转位式密码只是改变明文中单元的位置,而单元本身没有转变;相反,替换式密码只是转换单元,但密文中单元的位置没有改变。

替换式密码亦有许多不同类型。如果每一个字母为一单元(或称元素)进行加密操作,就可以称之为“简易替换密码”( simple substitution cipher)或“单表加密”( monoalphabetic cipher),另又称为单字母替换加密;以数个字母为一单元则称为“多表加密”( polyalphabetic cipher)或“表格式加密”( polygraphic)。单表加密只可在一个单元中使用同一种替换加密,而多表加密则可在一个单元使用不同的加密方式,明文单元映射到密文上可以有好几种可能性,反之亦然。

简易替换加密是一种以特定方式改变字母表上字母顺序,并以此顺序书写的加密方式。这样一张改变了字母次序的字母表即为‘替换表’。替换表可以以偏移或逆转(分别为凯撒密码和阿特巴希密码(Atbash))或更复杂方式构造,此时称之为‘混合表’。传统上会先把一个关键词写在字母表最前面,再删去重复字母,这样就能得到一个混合表。

单表加密 monoalphabetic cipher.

替换表:

字母 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
替换 y n l k x b s h m i w d p j r o q v f e a u g t z c

加密信息test,逐个查表替换为:exfe.

反之则为解密.


键值:  
明文:
密文:
 

 

转载于:https://my.oschina.net/dubenju/blog/833183

你可能感兴趣的文章
Linux中获取命令帮助
查看>>
从零构建PHP商用MVC框架(2.1 路由-带参数请求)
查看>>
CentOS用yum安装MariaDB
查看>>
ActiveMQ 全排序(Total Ordering)
查看>>
胖AP&瘦AP
查看>>
git 拉取问题
查看>>
清空weblogic日志文件nohup.out
查看>>
MyBatis注解select in参数
查看>>
禁止有道爬虫
查看>>
java核心技术I
查看>>
关于用VS实现开机自启动功能(win7/winXp)
查看>>
重拾Python 笔记五
查看>>
Yii 日志
查看>>
我的友情链接
查看>>
3.2 双向链表
查看>>
MySQL for Mac 安装和基本操作
查看>>
MFC does not support WINVER less than 0x0501.
查看>>
如何用一年时间学完MIT四年的计算机科学课程
查看>>
网络之二
查看>>
Go应用程序使用dockerfile multi-stage的问题
查看>>