前言

这几天写试卷遇到了这到题目,百度+谷歌都找不到通俗易懂的解法,今天我就分享一下我自己的解法(加密、解密)

开始

试卷要求是写出明文,但是我们肯定是明文+密文都要会的,下面会讲解。

题目

Bob给Alice发送了igyk和hsietetdrlileusa两段密文。其中第一段密文为密钥k=6(字符集为26个小写英文字母)的恺撒密码,第二段密文是采用了第一段的文明作为加密密钥的列置换密码。

(1).第一段密文的明文

(2).第二段密文的明文(写出解密过程)

恺撒密码

先开始介绍恺撒密码分明文、密文两种加密。

明文解题步骤

ps:你肯定要先会记住26个字母的顺序表

1.先把字母表写出来(确保顺序没错)

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

2.恺撒密码(明文),密文=igyk,密文字母往后移动密钥k=6个位置(移动个数不从自身开始算)

i = c

g = a

y = s

k = e

明文:case

密文解题步骤

ps:你肯定要先会记住26个字母的顺序表

1.先把字母表写出来(确保顺序没错)

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

2.恺撒密码(密文),明文=case,密文字母往前移动密钥k=6个位置(移动个数不从自身开始算)

c = i

a = g

s = y

e = k

密文:igyk

列置换密码

是基于恺撒密码拿到的明文case字母作为基础,开始介绍列置换密码分明文、密文两种加密

明文解题步骤

ps:你肯定要先会记住26个字母的顺序表

1.case = {2, 1, 4, 3}

问:如何得到的?

答:是根据26个字母排序得到的,a是这里面最大的所以是1,c是2,e是3,s是4。

2.hsietetdrlileusa密文分矩阵拆分,分成4(case长度=4)个一行,一竖4个一竖4个排序...

1 2 3 4
h t r e
s e l u
i t i s
e d l a

3.再通过case = {2, 1, 4, 3},进行排序

2 1 4 3
t h e r
e s u l
t i s i
d e a l

结果由  一行一行  得到:

ther

esul

tisi

deal

明文:theresultisideal

密文解题步骤

ps:你肯定要先会记住26个字母的顺序表

1.case = {2, 1, 4, 3}

问:如何得到的?

答:是根据26个字母排序得到的,a是这里面最大的所以是1,c是2,e是3,s是4。

2.theresultisideal明文分矩阵拆分,分成4(case长度=4)个一行,一行4个一行4个排序...

1 2 3 4
t h e r
e s u l
t i s i
d e a l

3.再通过case = {2, 1, 4, 3},进行排序

2 1 4 3
h t r e
s e l u
i t i s
e d l a

结果由 一竖一竖 得到:

hsie

tetd

rlil

eusa

密文:hsietetdrlileusa

总结

恺撒密码

  1. 明文向后
  2. 密文向前

列置换密码

  1. 明文是竖排序,结果是行排序
  2. 密文是行排序,结果是竖排序

计算机网络原理恺撒密码/列置密码总结相关推荐

  1. 恺撒密码加解密程序(Python)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.确定恺撒密码原理,用公式表示 二.子函数的确立 1.加密部分 2.解密部分 3.选择加密还是解密 三.确定各个子函 ...

  2. Python练习:恺撒密码 I

    练习:恺撒密码 I 平台:Python123.io 教师:嵩天 描述 凯撒密码是古罗马凯撒大帝用来对军事情报进行加解密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面的 ...

  3. 恺撒密码是古罗马恺撒大帝用来对军事情报进行加解密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面的第三个字符,即,字母表的对应关系如下:

    题目: 恺撒密码是古罗马恺撒大帝用来对军事情报进行加解密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面的第三个字符,即,字母表的对应关系如下: 原文:A B C D ...

  4. python练习——恺撒密码 I

    恺撒密码 I 描述 凯撒密码是古罗马凯撒大帝用来对军事情报进行加解密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面的第三个字符,即,字母表的对应关系如下: 原文:A ...

  5. python练习题15:恺撒密码 I

    恺撒密码 I 描述 凯撒密码是古罗马凯撒大帝用来对军事情报进行加解密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面的第三个字符,即,字母表的对应关系如下: 原文:A ...

  6. 恺撒密码python代码

    恺撒密码python代码 小白自己随便写的,最笨的办法 问题: 恺撒密码 ‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫ ...

  7. Python基础编程入门实例:恺撒密码

    文章目录 Python基础编程入门实例:恺撒密码 一.什么是恺撒密码 二.程序运行环境 三.恺撒密码:加密 3.1.恺撒密码加密实例程序 3.2.恺撒密码加密实例程序运行结果 四.恺撒密码:解密 4. ...

  8. 恺撒密码(Python练习)

    恺撒密码是古罗马恺撒大帝用来对军事情报进行加解密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面的第三个字符,即,字母表的对应关系如下:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬ ...

  9. 【JS】设计并实现“恺撒密码”

    问题描述 移位数N=3和7时,分别加密并恢复一段文字,例如"Peace and Love". 要求:(不)区分大小写,但能识别空格.标点: 恺撒密码是古罗马时代经常使用的一种经典加 ...

  10. python恺撒密码 B

    恺撒密码 B ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭ ...

最新文章

  1. Android中获取正在运行的服务-------ActivityManager.RunningServiceInfo的使用
  2. python deepcopy报错_python 字典对象赋值之deepcopy遭遇的问题及解决过程(lxml惹的祸)...
  3. 用Net::Telnet来弥补System.Net.Sockets的不足
  4. 余承东感慨Mate系列:太艰辛了,质疑声太大
  5. php+预览和下载pdf文件,vue实现在线预览pdf文件和下载(pdf.js)
  6. pg日期转周_PostgreSQL的时间/日期函数使用
  7. java.lang.ClassNotFoundException: org.springframework.web.util.WebAppRootListener
  8. 环信即时通讯在工程中的安装——Nusen_Liu
  9. Linux共享文件夹的建立和使用
  10. 树套树【bzoj3262】陌上花开
  11. ubuntu下载BT种子安装qBittorrent
  12. 《Deep Semantic Feature Learning for Software Defect Prediction》论文笔记
  13. 【JZOJ A组】Melancholy
  14. 密西根大学张阳教授受聘中国上海交通大学客座教授(图)
  15. HotSpot垃圾回收器分类
  16. 改版后的PMP值得考吗?
  17. nyoj 547- Interesting Punch-Bowl(优先队列模拟)
  18. 【C语言】程序结构、基本语法、数据类型
  19. python 3教程:基于python3实现倒叙字符串
  20. APDS-9960手势检测、接近检测、数字环境光感(ALS)和色感(RGBC)传感器驱动(基于传感器管理组件)...

热门文章

  1. Vscode编辑器配置
  2. LINUX中信号量的使用
  3. 解决向日葵解锁密码忘记的问题,HKEY_LOCAL_MACHINE\SOFTWARE \Oray\SunLogin下没有\Oray\SunLogin目录
  4. nxlog收集windows事件方案
  5. Unity3D灯光与渲染学习之(二):全局、烘焙以及混合光照
  6. iOS录音方法实用详解(配Demo下载)
  7. 使用 docker 来安装 oracle 11c
  8. G代码表《G代码大全》
  9. 杨辉三角python代码 不要括号_关于杨辉三角python代码的问题
  10. java中的oop是什么意思_什么是面向对象编程(OOP)?