补充(二)古典密码两张思维导图速通

news2024/11/22 22:08:00

目录

目录

古典密码思维导图

古典密码分析思维导图

唯密文分析古典密码

单表代替密码

棋盘密码

曾公密码

置换密码的代表:斯巴达人的密码棒



古典密码思维导图


古典密码分析思维导图


唯密文分析古典密码

  1. 最困难的分析条件
  2. 通常需要用到英文字母的频率分析和反复猜测
  3. 可分析单表和多表代换密码
  4. 分析多字母代换比较困难(比如希尔密码)

单表代替密码

棋盘密码

公元前2世纪,一个叫Polybius的希腊人设计了一种将字母编码成符号对的方法。他使用了一个称为Polybius的校验表。Polybius校验表由一个5行5列的网格组成,网格中包含26个英文字母,其中I和J在同一格中。相应字母用数对表示。Polybius校验表如下:

1

2

3

4

5

1

A

B

C

D

E

2

F

G

H

I/J

K

3

L

M

N

O

P

4

Q

R

S

T

U

5

V

W

X

Y

Z

根据此表,a加密为11,h加密为23,p加密为35,i和j都加密为24,以此类推。


曾公密码

曾公亮(999年-1078年),字明仲,号乐正。泉州晋江县(今福建省泉州市)人。北宋政治家、文学家。曾公亮曾与丁度承旨编撰《武经总要》,为中国古代第一部官方编纂的军事科学百科全书。

曾公亮曾多次拼战沙场,对抗西夏军队。在作战中,他了解到,军事通讯一旦被对方截获,就将陷于被动。因此,他在编写这本《武经总要》时,特意留意了如何传递情报这一方面。他发明出一套严谨的军事通讯密码,这是迄今发现的最早的正规军用密码表

他把军事上经常用到的战况,用40个短语归纳、表示,每个短语都编上固定的数字代码

1

请弓

2

请箭

3

请刀

4

请甲

5

请枪旗

6

请锅幕

7

请马

8

请衣赐

9

请料粮

10

请草料

11

请车牛

12

请船

13

请攻城守縣

14

请添兵

15

请移营

16

请进军

17

请退军

18

请固定

19

未见军

20

见贼讫

21

贼多

22

贼少

23

贼相敌

24

贼添兵

25

贼移营

26

贼进军

27

贼退军

28

贼固守

29

围得贼城

30

解围城

31

被贼围

32

贼围解

33

战不胜

34

战大胜

35

战大捷

36

将士投降

37

将士叛

38

士卒病

39

都将病

40

战小胜

这个军事密码发明后,立刻得到了应用。指挥战争的人坐镇在指挥中心,他们在派出将领前,会把打乱顺序的代码交给将领,并事前约定好,把一首五言诗作为解码钥匙。五言诗正好40个字,每个字所在的位置也恰好对应一条短语。

当将领来到前线,遇到需要请示的状况时,就要写一封普通的书信,在书信中有意识地写进那首五言诗中的某一个字,并在这个字上加盖印章,表示这是个解密的关键字。然后,差信使送到指挥中心。

公文送达后,指挥人员看到盖着印章的字,就会在事前约定好的那首五言诗中去查找,由此就知道前方要请示或报告什么事情了。

如果他们约定的五言诗是《渡荆门送别》:

渡远荆门外,来从楚国游。

山随平野尽,江入大荒流。

月下飞天镜,云生结海楼。

仍怜故乡水,万里送行舟。

那么,前线将领若是粮食不足,需要后方支援,就要在写信前先查密码本,查到“请粮料”是编号9的短语,再看五言诗的第9个字,是“国”字。这样,在写信时就要加上“国”字,并在“国”字上盖印章。指挥中心收到信件后,一查密码本,便知道前方是要请求粮食供应。

如果指挥中心同意了请示,就写一封回信,信中也加“国”字,再加盖印章。反之,如果不同意,就只盖上一个印章,什么也不写。

用诗作为解密钥匙,还有一个要求,即这首诗里不能有重复的字。不过,古代五言诗多如繁星,想要找出没有重复字的诗轻而易举。曾公亮发明的军事密码,在传递军情方面,保密性是很强的。即使信件被截获,敌人也看不懂,就是送信人也不知道怎么一回事。


置换密码的代表:斯巴达人的密码棒

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/28602.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【微服务】SpringCloud中Ribbon集成Eureka实现负载均衡

💖 Spring家族及微服务系列文章 ✨【微服务】SpringCloud轮询拉取注册表及服务发现源码解析 ✨【微服务】SpringCloud微服务续约源码解析 ✨【微服务】SpringCloud微服务注册源码解析 ✨【微服务】Nacos2.x服务发现?RPC调用?重试机制&#xf…

Maven打Jar包,启动报NoClassDefFoundError错误

今天准备将游戏服务器的压测机器人打包分发给其他人来运行对服务器进行压力测试。打成的jar包发现运行报错了。找了半天才找到最终原因。下面是原因和一些分析的情况。 原因 java -jar .\robot.jar发现错误如下 看到这个错误就知道jvm找不到对应的类。但是为什么找不到对应的…

JVM的内存区域划分

文章目录 前言一、本地方法栈(线程私有)二、程序计数器(线程私有)三、Java虚拟机栈(线程私有)四、堆(线程共享)五、方法区(元数据区)前言 JVM 是Java 运行的基…

Android:Navigation使用safe args插件传递参数

Navigation使用safe args插件传递参数1、 使用配置2、举例说明1、MainActivity2、AvalFragment, DovomFragment2.1、AvalFragment2.2、DovomFragment参考1、 使用配置 afe args与传统传参方式相比,好处在于安全的参数类型,并且通过谷歌官方的支持&#…

GameFrameWork框架(Unity3D)使用笔记(六)游戏主流程ProcedureMain——从数据表加载出所需实体

目录 前言: 一、Entity配置表 1、创建数据表 2、创建数据表行类 二、Character配置表 1、创建数据表 2、写数据表行类 三、加载数据表 四、扩展一下Entity模块 五、应用Character数据表的位置信息 六、测试 总结: 前言: 上一篇中我…

第2章 Elasticsearch入门

2.1 Elasticsearch 安装 2 . 1 .1 下载软件 Elasticsearch的官方地址:www.elastic.co/cn/ Elasticsearch最新的版本是7.11.2(截止2021.3.10),我们选择7.8.0版本(最新版本半年前的版本) 下载地址&#x…

贝叶斯网络

贝叶斯网络的独立性: 当一个结点G的父节点已知的时候,该结点G与其所有非后代结点条件独立 交叉因果推断:如上述图中的例子,对于P(i | g | d)等于说是中D到I 这条路径中,做半边的路径是顺着箭头走的&#x…

表白墙(前端+后端+数据库)

目录 一、创建项目 1、创建maven项目,引入依赖 2、创建目录结构 二、前端代码 1、页面内容和样式 2、提交按钮的点击事件 3、发送GET请求 三、数据库 四、后端代码 1、重写doPost方法 1.1 创建Message类 1.2 重写doPost方法 1.3 实现save方法 2、重写…

你需要知道的50颗卫星:地球卫星清单

开放数据卫星 1陆地卫星 地球资源卫星令人难以置信的长期遗产已经保存了地球40多年的历史。通过无数的应用程序,它甚至发现 island Landsat in Canada。 图片来源:NASA 2哨兵 作为 Copernicus Programme 哨兵的6个任务的舰队是一个游戏改变者。明确地…

2022年经典散文:滚烫的石板

滚烫的石板 ——灵遁者 此刻,我想表达的情愫大概有千万种,如何表达并不容易,就好像一个人的时候,也在面对某个我认识或者不认识的人,话总是说不清,也说不出来。 小孩总是敢于表达的,就像一条没…

.NET 7 的 AOT 到底能不能扛反编译?

一:背景 1.讲故事 在B站,公众号上发了一篇 AOT 的文章后,没想到反响还是挺大的,都称赞这个东西能抗反编译,可以让破解难度极大提高,可能有很多朋友对逆向不了解,以为用 ILSpy,Reflector,DnSpy…

群勃龙-半琥珀酸酯(TR-HS)与BSA牛血清白蛋白偶联 TR-HS-BSA

产品名称:群勃龙-半琥珀酸酯与牛血清白蛋白偶联 英文名称:TR-HS-BSA 用途:科研 状态:固体/粉末/溶液 产品规格:1g/5g/10g 保存:冷藏 储藏条件:-20℃ 储存时间:1年 牛血清中的简单蛋白…

全光谱台灯对孩子眼睛有影响吗?什么样的全光谱台灯真的有用

全光谱台灯对眼睛当然是有影响的,因为光谱成分丰富度与太阳光类似,所以无限接近于太阳光的显色能力,这样的灯光下物体的色差如同沐浴太阳光一般真实,色差不失真,人眼自然就越舒服。 那么什么样的全光谱台灯有用呢&…

Python|excel表格数据一键转json格式小工具|支持xlsx、xls格式转json|【源码+解析】

背景 最近在使用JavaScript编写一些浏览器RPA脚本,脚本使用过程中遇到一些问题,脚本使用的数据往往存放在excel表,但运行时只能读取json数据,导致频繁人工excel转json,效率低下。 遇到问题后赶紧搜索excel转json小工…

基于PHP+MySQL药品信息查询系统(含论文)

本系统阐述了医药信息查询系统的开发过程,并对该系统的需求分析及系统需要实现的设计方法作了介绍。该系统的基本功能包括用户注册登录,查看医药资讯,医药查询和在线留言等信息。 本系统技术介绍:php,mysql,apache,notepad,sublime.运行环境wamp,PHPstudy,xammp等php集成环境. …

FastAPI使用typing类型提示

typing是Python标准库,用来做类型提示。FastAPI使用typing做了: 编辑器支持; 类型检查; 定义类型,request path parameters, query parameters, headers, bodies, dependencies等等; 类型转换&#xff1…

去中心化应用的终极是应用链?

互操作性是近期在Web3兴起的概念,是指不同的计算机系统、网络、操作系统和应用程序一起工作并共享信息的能力。随着链上通信、语义交互逐渐复杂,链上用户多样的需求已然超出应用在单条链可承受的技术能力。 原本视作创新实验的Web3应用逐渐被公众接纳&am…

初识变量和数据类型

JavaScript第2天 输入输出语句 输出语句 alert(变量) > 弹出document.write(变量) > 输出在页面上面console.log(变量) > 打印在控制台上 /* JS的输出语句 */ alert("弹出") document.write("直接在写页面上面") console.log("打印在控制…

MacOS 如何选择鼠标不飘滚动平滑

MacOS 如何选择鼠标不飘滚动平滑 前言 今天不务正业的聊聊 macos 下的鼠标的事情,群里也有朋友和我聊,正好说说这事。 我在很长的时间里都在用 macbook pro 的触控板 键盘的高效模式,因为触控板和键盘很近所以效率很高。 但是有一个问题就是…

set和multiset容器

1、基本概念 所有元素在插入时会自动排好序&#xff1b; 属于关联式容器&#xff0c;底层结构是用二叉树实现的 2、set和multiset的区别 set中不允许有重复元素&#xff0c;multiset允许有重复元素。 3、构造和赋值 构造&#xff1a; set<T>st; //默认构造 set&l…