【密码学】密码棒密码

news2024/11/27 11:54:34

密码棒密码


大约在公元前700年,古希腊军队使用一种叫做scytale的圆木棍来进行保密通信。其使用方法是这样的:把长带子状羊皮纸缠绕在圆木棍上,然后在上面写字;解下羊皮纸后,上面只有杂乱无章的字符,只有再次以同样的方式缠绕到同样粗细的棍子上,才能看出所写的内容。快速且不容易解读错误的优点,使它在战场上大受欢迎。但是它很容易就被破解了,因为此方法还是会将容易引发“联想”的字或“提示”留在编码文中,所以在原文编成编码文时,就必需将一些敏感字眼除去或替换。

这种scytale圆木棍也许是人类最早使用的文字加密解密工具。据说主要是古希腊城邦中的斯巴达人(Sparta)在使用它,所以它又被叫做“斯巴达棒”。

在这里插入图片描述

斯巴达棒的加密原理属于密码学中的“移位法”加密,因为它通过改变文本中字母的阅读顺序来达到加密的目的。


加密

假设那棒可写下四个字母使之围绕成圆圈且5个字母可连成一线。
范例文字:“Help me I am under attack”。
欲加密:
—————————
H E L P M
E I A M U
N D E R A
T T A C K
—————————
==>“HENTEIDTLAEAPMRCMUAK”


解密

解密的方法其实就是将编码方法反过来:
假设编码文为"HENTEIDTLAEAPMRCMUAK"
—————————
H E N T---------
E  I  D T---------
L  A  E A---------
P M R C---------
M U A K---------
—————————
==>“HELPMEIAMUNDERATTACK”


历史

间接的证据指出,最早提到密码棒的是一位西元前7世纪的希腊诗人阿尔基罗库斯,后来的希腊和罗马作家也在作品提到。

希腊历史学家普鲁塔克(Plutarch)曾写下密码棒的用法。


在线解密:http://www.atoolbox.net/Tool.php?Id=915


参考文献:

1.《密码历史与传奇》 [美] 克雷格·鲍尔(Craig P.Bauer)人民邮电出版社 2019-4-1
2. 国家密码管理局 《最早的密码工具》 https://sca.gov.cn/sca/zxfw/2017-04/24/content_1011713.shtml 2017-04-24
3. 维基百科 密码棒 https://zh.wikipedia.org/zh-hans/%E5%AF%86%E7%A2%BC%E6%A3%92 2020年10月7日 (星期三) 05:51

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

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

相关文章

STM32定时器TIM控制

一、CubeMX的设置 1、新建工程,进行基本配置 2、配置定时器TIM2 1)定时器计算公式:(以下两条公式相同) Tout ((ARR1) * PSC1)) / Tclk TimeOut ((Prescaler 1) * (Period 1)) / TimeClockFren Tout TimeOut&…

选读SQL经典实例笔记23_读后总结与感想兼导读

1. 基本信息 SQL经典实例 SQL Cookbook [美]安东尼莫利纳罗(Anthony Molinaro) / 人民邮电出版社 / 2018-07 / 其他 人民邮电出版社,2018年7月出版第1版,2021年12月出版第2版 1.1. 读薄率 1版书籍总字数827千字,笔记总字数30…

sharedPreferences的使用之按钮状态切换的保存

什么是sharedPreferences?有什么用 SharedPreference是Android开发中一个轻量级的数据存储的方式,除了它还有SQLite数据库。它可以将数据以键值对的形式存放到文件中,在需要的时候再取出来使用。相比于去操作数据库,对于一些简单…

缓存穿透,击穿,雪崩之间的区别与联系

1、缓存数据基本流程 通常来说,我们是从数据库将数据查询出来之后,如果数据不为空,则将数据存储在缓存中,下次查询时就直接从缓存查询了,只有查询不到才会从数据库查询。 2、缓存穿透 核心在穿透两个字,穿透了,就说明在查询数据时没有遇到阻碍,直接就查询到了数据库。…

Spring-Cloud-Loadblancer详细分析_2

LoadBalancerClients 终于分析到了此注解的作用,它是实现不同服务之间的配置隔离的关键 Configuration(proxyBeanMethods false) Retention(RetentionPolicy.RUNTIME) Target({ ElementType.TYPE }) Documented Import(LoadBalancerClientConfigurationRegistrar…

记录--浏览器渲染15M文本导致崩溃怎么办

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 最近,我刚刚完成了一个阅读器的txt文件阅读功能,但在处理大文件时,遇到了文本内容过多导致浏览器崩溃的问题。 一般情况下,没有任何样式渲染时不会出现什…

《全生命周期眼健康管理》助力健康科学用眼

8月8日下午,烟台正大光明眼科医院眼健康管理中心张提主任受邀来到烟台市残疾人事务综合服务中心,为残联康复训练教师及相关工作人员进行了《全生命周期眼健康管理》讲座。 烟台正大光明眼科医院眼健康管理中心张提主任 “全生命周期眼健康”这一理念其宗…

u盘为什么提示格式化?u盘提示格式化怎么办

U盘是一种便携式存储设备,在使用U盘的过程中,有时候会出现提示需要格式化的情况。这种情况通常会让人担心自己重要的数据是否会丢失。那么,U盘为什么提示格式化?U盘提示格式化怎么办?在本文中,我们将探讨U盘…

80. 删除有序数组中的重复项 II

题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 解题思路:因为数组有序,相等的元素一定相邻,所以可以使用一个变量num统计相等元素的个数,如果当前元素和前一个元素相等&#xff0c…

【雕爷学编程】Arduino动手做(09)---火焰传感器模块3

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&#x…

【java面试题】不定义新变量的情况下交换两个Integer变量

题目: 不定义新变量的情况下交换两个Integer变量,完善swap()方法: public class Main {public static void main(String[] args) {Integer a 10;Integer b 20;swap(a, b);System.out.printf("a is %d,b is %d&q…

TansUNet代码理解

首先通过论文中所给的图片了解网络的整体架构: vit_seg_modeling部分 模块引入和定义相关量: # codingutf-8 # __future__ 在老版本的Python代码中兼顾新特性的一种方法 from __future__ import absolute_import from __future__ import division fr…

制造业为什么要建设数字化供应链

数字化让越来越多的人走向了线上的世界,让那些拥有线上产品或提供线上服务的企业提供了更多流量。 但与此同时,传统制造业遭受了沉重的打击,考虑到防疫要求,很多工厂长期处于人手不足的状态,生产制造效率大幅降低&…

激活函数总结(六):ReLU系列激活函数补充(RReLU、CELU、ReLU6)

激活函数总结(六):ReLU系列激活函数补充 1 引言2 激活函数2.1 RReLU激活函数2.2 CELU激活函数2.3 ReLU6 激活函数 3. 总结 1 引言 在前面的文章中已经介绍了介绍了一系列激活函数 (Sigmoid、Tanh、ReLU、Leaky ReLU、PReLU、Swish、ELU、SEL…

用python写一个简单的贪吃蛇游戏

入门教程、案例源码、学习资料、读者群 请访问: python666.cn 大家好,欢迎来到 Crossin的编程教室 ! 不知道有多少同学跟我一样,最初接触编程的动机就是为了自己做个游戏玩? Python 虽然并不是一个“为游戏而生”的语言…

给QT添加图片

给QT添加图片 第一步: 添加图片资源文件。

基于深度学习的3D城市模型增强【Mask R-CNN】

在这篇文章中,我们描述了一个为阿姆斯特丹 3D 城市模型自动添加门窗的系统(可以在这里访问)。 计算机视觉用于从城市全景图像中提取有关门窗位置的信息。 由于这种类型的街道级图像广泛可用,因此该方法可用于较大的地理区域。 推荐…

LinearAlgebraMIT_9_LinearIndependence/SpanningASpace/Basis/Dimension

这节课我们主要学习一下(Linear Independence)线性无关,(spanning a space)生成空间,(basis)基和(dimension)维度。同时我们要注意这四个很重要的基本概念的描述对象,我们会说向量组线性无关,由一个向量组生成的空间,子…

哪些CRM的报价公开且透明?

企业在选型时,会发现很多品牌的CRM系统价格并不透明,往往都是需要跟产品顾问沟通后才能了解。下面推荐一款价格实在的CRM系统,所有报价公开透明,那就是Zoho CRM。 Zoho CRM是什么? Zoho CRM是一款在线CRM软件&#x…

将十进制(整数型)转换为二进制(字符串型)numpy.binary_repr()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 将十进制(整数型)转换为 二进制(字符串型) numpy.binary_repr() [太阳]选择题 下列代码最后一次输出的结果是? import numpy as np…