【密码学】密码棒密码

密码棒密码


大约在公元前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.hqwc.cn/news/63197.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++】开源:tinyxml2解析库配置使用

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍tinyxml2解析库配置使用。 无专精则不能成,无涉猎则不能通。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下,…

winform 使用CommonOpenFileDialog选择文件夹或文件

选择文件夹 /// <summary> /// 选择文件夹 /// </summary> public void SelectFolder() {CommonOpenFileDialog dialog new CommonOpenFileDialog("请选择一个文件夹");dialog.IsFolderPicker true; //选择文件还是文件夹&#xff08;true:选择文件夹…

[PyTorch][chapter 47][LSTM -2]

目录: 双向LSTM torch.nn.embedding()实现词嵌入层 nn.LSTM nn.LSTMCell LSTM 情感分类例子 一 双向LSTM 1 原理 正向输出的结果是 反向输出的结果是 nn.LSTM模块他在最后会将正向和反向的结果进行拼接concat.得到 # -*- coding: utf-8 -*- """ Crea…

【FeatureBooster】Boosting Feature Descriptors with a Lightweight Neural Network

这篇论文介绍了一种轻量级网络&#xff0c;用于改进同一图像中关键点的特征描述符。该网络以原始描述符和关键点的几何属性作为输入&#xff0c;使用基于多层感知器&#xff08;MLP&#xff09;的自我增强阶段和基于Transformer的交叉增强阶段来增强描述符。增强后的描述符可以…

11-数据结构-栈和队列的应用(C语言)

栈和队列的应用 目录 栈和队列的应用 一、括号匹配&#xff08;栈&#xff09; 二、表达式的各种转换 (1)中缀转后缀(手工) (2)后缀转中缀表达式(手工) (3)中缀转后缀(栈) (4)中缀转后缀&#xff08;树&#xff09; (5)后缀表达式求值 (6)中缀表达式求值&#xff08;栈…

基于大模型的数据血缘异常归因分析

近日&#xff0c;以“元数据技术及应用创新”为主题&#xff0c;最新一季StartDT Hackathon&#xff08;奇点云黑客马拉松&#xff09;正式收官。 本期黑客松共吸引了近50位选手参赛&#xff0c;有的在实时数仓领域显神通&#xff0c;有的则再次请出了大模型。这些小组都有个共…

Angular安全专辑 —— CSP防止XSS攻击

什么是 CSP&#xff08;Content Security Policy&#xff09; CSP&#xff08;Content Security Policy&#xff09;是一种Web安全策略&#xff0c;用于减轻和防止跨站脚本攻击&#xff08;XSS&#xff09;等安全漏洞。它通过允许网站管理员定义哪些资源可以加载到网页中&#…

ELK 将数据流转换回常规索引

ELK 将数据流转换回常规索引 现象&#xff1a;创建索引模板是打开了数据流&#xff0c;导致不能创建常规索引&#xff0c;并且手动修改、删除索引模板失败 "reason" : "composable template [logs_template] with index patterns [new-pattern*], priority [2…

【Linux】进程信号之信号的处理

进程信号 三 一、信号的处理时机二、内核态与用户态1、内核态与用户态的转化2、重谈进程地址空间 三、信号的处理1、一般信号的处理流程2、捕捉信号的处理流程3、信号捕捉函数sigaction 一、信号的处理时机 在前面我们讲过信号产生和保存以后&#xff0c;我们知道进程对于产生…

【AI底层逻辑】——篇章7(上):海量运算背后的算力支持

目录 引入 一、计算机芯片 1、芯片的制造 2、复杂指令集&精简指令集 3、并行计算的GPU 二、协作计算 1、分布式技术“三论文” 2、不可兼得的CAP定理 3、故障类型 续下篇... 往期精彩&#xff1a; 引入 早在2016年DeepMind就公布了AlphaGo的算法细节&#xff0…

Android平台GB28181设备接入端如何实现多视频通道接入?

技术背景 我们在设计Android平台GB28181设备接入模块的时候&#xff0c;有这样的场景诉求&#xff0c;一个设备可能需要多个通道&#xff0c;常见的场景&#xff0c;比如车载终端&#xff0c;一台设备&#xff0c;可能需要接入多个摄像头&#xff0c;那么这台车载终端设备可以…

海外ASO优化之关于应用的营销2

在目标受众中建立信任度&#xff0c;并获得博客/新闻网站的热榜&#xff0c;这样自然会提高应用的知名度和目标受众的认知度。就博客读者而言&#xff0c;需要找出推荐的最佳时间和真正推动我们应用是什么。 1、提供了App Store或Google Play的直接链接。 我们首先需要创建一个…