应用密码学:位移密码极简(凯撒密码)
应用密码学:位移密码极简
位移密码、凯撒密码(K=3)
目录
- 应用密码学:位移密码极简
- 原理
- 加密
- 解密
原理
根据字母映射表将26个字母转换为整数0-25且逐一对应,如下表
根据映射表将明文转换为数字,再整体向前或向后移动固定位数,将移动位数后的数字根据同一引射表,再转换为字母,就完成了加密。
加密
加密变换 c = m + k (mod 26)
我们设定密钥k=3(经典的凯撒密码),使用位移加密的方法来加密一段明文
例如:
明文为:my name is yg
加密过程:字母m根据上面的映射表转换为整数12, 密钥k=3,所以12+3=15,对整数15取26的余数 15(mod 26) = 15,最后将整数15根据映射表转换为字母P
以此类推:
E~3~ (m)= E~3~ (12)= 12+3(mod 26)= 15,对应字母为P
E~3~ (y)= E~3~ (24)= 24+3(mod 26)= 1,对应字母为b
……
最终的到密文为:pb qdoh lv bj
解密
知道密钥k=3及对应的字母映射表时,
解密变换 m = c - k (mod 26)
例如:
密文为:pb qdoh lv bj
解密过程:字母p根据上面的映射表转换为整数15, 密钥k=3,所以15-3=12,对整数12取26的余数 12(mod 26) = 12,最后将整数12根据映射表转换为字母m
以此类推:
E~3~ (p)= E~3~ (15)= 15-3(mod 26)= 12,对应字母为m //这里注意15-3=12,然后再对12进行26的求余
E~3~ (b)= E~3~ (1)= 1-3(mod 26)= 24,对应字母为y //这里注意1-3=-2,然后再对-2进行26的求余
最终得到明文为:my name is yg
应用密码学:位移密码极简(凯撒密码)相关推荐
- 密码学(第二讲)---凯撒密码破译和简单替换密码
上节课,我们已经初步学习了凯撒密码和一些密码学的概念.今天,我们来学习破译和简单替换密码. 一.凯撒密码 凯撒密码是将字母往后平移3个,(列如apple加密的方式为: a–>a+3–>d ...
- python中凯撒密码_python实现凯撒密码、凯撒加解密算法
凯撒密码的原理:计算并输出偏移量为3的凯撒密码的结果 注意:密文是大写字母,在变换加密之前把明文字母都替换为大写字母 def casar(message): # *************begin* ...
- python中凯撒密码加密_凯撒密码加密
您似乎是在交互式提示中输入此代码,而不是将其保存为文件并运行它.如果是这样,那么当您使用input时,窗口将在允许您继续输入代码之前提示您输入.在plainText = input("pyt ...
- python中凯撒密码加密_凯撒密码加密Python
有人能告诉我为什么我只对纯文本信息中的一个字符进行加密?消息是"船在午夜启航",加密密钥是4.我只能让t移到x,剩下的信息无法打印.我错过了什么?在#request the mes ...
- Python密码学入门:凯撒密码
1 什么是密码学 自古以来,间谍.士兵.黑客.海盗.商人等人,大多依靠密码学来确保他们的秘密不会人尽皆知.密码学是一门使用秘密编码的学科.想要明白密码长什么样,看一看下面两段文本. nyr N.vNw ...
- 凯撒密码加密算法python_Python密码学入门:凯撒密码
1 什么是密码学 自古以来,间谍.士兵.黑客.海盗.商人等人,大多依靠密码学来确保他们的秘密不会人尽皆知.密码学是一门使用秘密编码的学科.想要明白密码长什么样,看一看下面两段文本. nyr N.vNw ...
- 有趣的密码学介绍~古典密码之凯撒密码来咯~
游说万乘苦不早,著鞭跨马涉远道.仰天大笑出门去,我辈岂是蓬蒿人! 文章目录 前言 正文 古典密码 一.古典密码概述介绍 1.置换密码 2.代换密码 二.古典密码分类介绍 1.置换密码 2.编辑本段代换 ...
- 【Matlab学习】凯撒密码Caesar‘s cypher
简介 凯撒密码是历史上已知最早的密码之一.凯撒密码中的每个字母在字母表中"移动"了一定的位置.例如,如果密码为1,则A将替换为B,B将替换为C,依此类推.相传最早是凯撒大帝用来和将 ...
- 什么是替换加密(凯撒密码)?原理是什么?
首先了解一下什么是凯撒密码(Caesar Cipher) 凯撒密码 (英語:Caesar cipher), 或称凯撒加密.凯撒变换.变换加密,是一种最简单且最广为人知的加密技术. 凯撒密码是一种替换加 ...
- 凯撒密码加密解密——Java代码(密码学)
凯撒密码加密解密--Java代码(密码学) 凯撒密码: 恺撒密码(英语:Caesar cipher),或称恺撒加密.恺撒变换.变换加密,是一种最简单且最广为人知的加密技术.它是一种替换加密的技术,明文 ...
最新文章
- IDEA中修改文件的默认创建方式
- BZOJ3782 上学路线 【dp + Lucas + CRT】
- Linux网络编程 之 IO多路复用poll(九)
- php发扑克牌,php 扑克牌代码的简单例子
- gc java root_C#技术漫谈之垃圾回收机制(GC)
- java高级教程_Java高级教程02
- 掉电有点快!iOS15.4翻车:iPhone11/12/13更新后续航直接崩了
- 微软 GitHub 推出新代码搜索工具,面向GitHub编程?
- mysql建表影响效率_关于MySQL建表对DML的影响【转】
- 模板能够让我们花更少的时间,得到更多的东西
- Jupyter notebook文件默认存储路径以及更改方法
- DeBruijin HDU - 2894(????????)
- Android USB电源管理
- SSM毕设项目车辆维修管理系统m97p7(java+VUE+Mybatis+Maven+Mysql)
- abs、fabs 用法
- 《死亡邮件》评怀疑这是QQ邮箱的推广电影
- Alpha冲刺——事后诸葛亮
- 现代OpenGL入门教程
- Rockchip开发系列 - 3.2.引脚配置默认上拉下拉
- 计算机网络 研究生复试考前最终版