应用密码学:位移密码极简

位移密码、凯撒密码(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

应用密码学:位移密码极简(凯撒密码)相关推荐

  1. 密码学(第二讲)---凯撒密码破译和简单替换密码

    上节课,我们已经初步学习了凯撒密码和一些密码学的概念.今天,我们来学习破译和简单替换密码. 一.凯撒密码 凯撒密码是将字母往后平移3个,(列如apple加密的方式为: a–>a+3–>d ...

  2. python中凯撒密码_python实现凯撒密码、凯撒加解密算法

    凯撒密码的原理:计算并输出偏移量为3的凯撒密码的结果 注意:密文是大写字母,在变换加密之前把明文字母都替换为大写字母 def casar(message): # *************begin* ...

  3. python中凯撒密码加密_凯撒密码加密

    您似乎是在交互式提示中输入此代码,而不是将其保存为文件并运行它.如果是这样,那么当您使用input时,窗口将在允许您继续输入代码之前提示您输入.在plainText = input("pyt ...

  4. python中凯撒密码加密_凯撒密码加密Python

    有人能告诉我为什么我只对纯文本信息中的一个字符进行加密?消息是"船在午夜启航",加密密钥是4.我只能让t移到x,剩下的信息无法打印.我错过了什么?在#request the mes ...

  5. Python密码学入门:凯撒密码

    1 什么是密码学 自古以来,间谍.士兵.黑客.海盗.商人等人,大多依靠密码学来确保他们的秘密不会人尽皆知.密码学是一门使用秘密编码的学科.想要明白密码长什么样,看一看下面两段文本. nyr N.vNw ...

  6. 凯撒密码加密算法python_Python密码学入门:凯撒密码

    1 什么是密码学 自古以来,间谍.士兵.黑客.海盗.商人等人,大多依靠密码学来确保他们的秘密不会人尽皆知.密码学是一门使用秘密编码的学科.想要明白密码长什么样,看一看下面两段文本. nyr N.vNw ...

  7. 有趣的密码学介绍~古典密码之凯撒密码来咯~

    游说万乘苦不早,著鞭跨马涉远道.仰天大笑出门去,我辈岂是蓬蒿人! 文章目录 前言 正文 古典密码 一.古典密码概述介绍 1.置换密码 2.代换密码 二.古典密码分类介绍 1.置换密码 2.编辑本段代换 ...

  8. 【Matlab学习】凯撒密码Caesar‘s cypher

    简介 凯撒密码是历史上已知最早的密码之一.凯撒密码中的每个字母在字母表中"移动"了一定的位置.例如,如果密码为1,则A将替换为B,B将替换为C,依此类推.相传最早是凯撒大帝用来和将 ...

  9. 什么是替换加密(凯撒密码)?原理是什么?

    首先了解一下什么是凯撒密码(Caesar Cipher) 凯撒密码 (英語:Caesar cipher), 或称凯撒加密.凯撒变换.变换加密,是一种最简单且最广为人知的加密技术. 凯撒密码是一种替换加 ...

  10. 凯撒密码加密解密——Java代码(密码学)

    凯撒密码加密解密--Java代码(密码学) 凯撒密码: 恺撒密码(英语:Caesar cipher),或称恺撒加密.恺撒变换.变换加密,是一种最简单且最广为人知的加密技术.它是一种替换加密的技术,明文 ...

最新文章

  1. IDEA中修改文件的默认创建方式
  2. BZOJ3782 上学路线 【dp + Lucas + CRT】
  3. Linux网络编程 之 IO多路复用poll(九)
  4. php发扑克牌,php 扑克牌代码的简单例子
  5. gc java root_C#技术漫谈之垃圾回收机制(GC)
  6. java高级教程_Java高级教程02
  7. 掉电有点快!iOS15.4翻车:iPhone11/12/13更新后续航直接崩了
  8. 微软 GitHub 推出新代码搜索工具,面向GitHub编程?
  9. mysql建表影响效率_关于MySQL建表对DML的影响【转】
  10. 模板能够让我们花更少的时间,得到更多的东西
  11. Jupyter notebook文件默认存储路径以及更改方法
  12. DeBruijin HDU - 2894(????????)
  13. Android USB电源管理
  14. SSM毕设项目车辆维修管理系统m97p7(java+VUE+Mybatis+Maven+Mysql)
  15. abs、fabs 用法
  16. 《死亡邮件》评怀疑这是QQ邮箱的推广电影
  17. Alpha冲刺——事后诸葛亮
  18. 现代OpenGL入门教程
  19. Rockchip开发系列 - 3.2.引脚配置默认上拉下拉
  20. 计算机网络 研究生复试考前最终版

热门文章

  1. Mac墨刀怎么导出HTML,mockingbot墨刀中文使用说明.pdf
  2. 软件工程导论---软件测试(集成测试、单元测试、验收测试、系统测试)
  3. 无人机航模新手100 问
  4. Java对象和Map相互转换方法
  5. python如何屏幕截图_Python实现屏幕截图的两种方式
  6. profibus GSD文件详解
  7. 前端-js网页特效(三)动画效果及原理
  8. 会计与计算机融合的会计论文,管理会计与财务会计融合浅析论文
  9. 高项、高级项目管理师论文-整体管理
  10. 日常运维小知识--1