古典密码总结

article/2025/9/25 9:23:50

古典密码

  • 凯撒密码
    • 凯撒位移(中文版)
  • 栅栏密码
  • 棋盘密码
  • 乘法密码
  • 仿射密码
  • 希尔密码
  • 摩斯电码
  • 猪圈密码
  • 键盘密码
  • 参考

凯撒密码

加密公式:密文 = (明文 + 位移数) Mod 26
解密公式:明文 = (密文 - 位移数) Mod 26

在这里插入图片描述

凯撒位移(中文版)

就是按照中文字在Unicode编码表中的顺序进行移位,可以用来加密中文的信息。

例:[中文凯撒移位]
  转换成Unicode编码:中文凯撒移位
  移1位后成为: 丮斈凰撓秼低
  转换成中文:[丮斈凰挠秼低]

https://blog.csdn.net/qq_36134761/article/details/80385862

栅栏密码

也称栅栏易位(Columnar Transposition),即把将要传递的信息中的字母交替排成上下两行,再将下面一行字母排在上面一行的后边,从而形成一段密码。栅栏密码是一种置换密码。

例如密文:TEOGSDYUTAENNHLNETAMSHVAED

解密过程:先将密文分为两行

T E O G S D Y U T A E N N
  H L N E T A M S H V A E D

再按上下上下的顺序组合成一句话

THE LONGEST DAY MUST HAVE AN END.


加密时不一定非用两栏,还是举《数字城堡》中的一个例子,密文为:

PFEE SESN RETM MFHA IRWE OOIG MEEN NRMA ENET SHAS DCNS IIAA IEER BRNK FBLE LODI

去掉空格:PFEESESNRETMMFHAIRWEOOIGMEENNRMAENETSHASDCNSIIAAIEERBRNKFBLELODI

共64个字符,以8个字符为一栏,排列成8*8的方阵(凯撒方阵):

P F E E S E S N
R E T M M F H A
I R W E O O I G
M E E N N R M A
E N E T S H A S
D C N S I I A A
I E E R B R N K
F B L E L O D I

从上向下竖着读:PRIMEDIFFERENCEBETWEENELEMENTSRESMONSIBLEFORHIROSHIMAANDNAGASAKI

插入空格:PRIME DIFFERENCE BETWEEN ELEMENTS RESMONSIBLE FOR HIROSHIMA AND NAGASAKI (广岛和长崎的原子弹轰炸的最主要区别)

棋盘密码

假设我们需要发送明文讯息 “Attack at once”, 用一套秘密混杂的字母表填满波利比奥斯方阵,像是这样:

  1 2 3 4 5
1 b t a l p 
2 d h o z k 
3 q f v s n 
4 g j c u x 
5 m r e w y 

i和j视为同一个字,使字母数量符合 5 × 5 格。之所以选择这五个字母,是因为它们译成摩斯密码时不容易混淆,
  可以降低传输错误的机率。使用这个方格,找出明文字母在这个方格的位置,再以那个字母所在的栏名称和列名称代替这个字母。
  可将该讯息转换成处理过的分解形式。

明文:A T T A C K A T O N C E
  密文:AF AD AD AF GF DX AF AD DF FX GF XF
  13 12 12 13 43 25 13 12 23 35 43 53


棋盘密码(ADFGX加密法),也就是所谓的坐标加密法,早在公元2世纪就被希腊人发明出来了,是密码史上第一个密码,值得我们去了解。
在这里插入图片描述
在这里插入图片描述

乘法密码

乘法密码也是一种简单的替代密码,与凯撒密码相似,凯撒密码用的是加法,而乘法密码用的自然是乘法。
这种方法形成的加密信息保密性比较低。

加密公式:密文 = (明文 * 乘数) Mod 26

对于乘数密码,只有当乘数与26互质时,加密之后才会有唯一的解,因此乘数只可能有如下11种的选择:

乘数 = 3,5,7,9,11,15,17,19,21,23,25

仿射密码和希尔密码因为都用到了乘法,所以乘数也受到相同的局限。

仿射密码

仿射密码就是凯撒密码和乘法密码的结合。

加密公式:密文 = (明文 * 乘数 + 位移数) Mod 26

希尔密码

希尔密码(Hill Cipher)是运用基本矩阵论原理的替换密码,由Lester S. Hill在1929年发明。每个字母当作26进制数字:A=0, B=1, C=2… 一串字母当成n维向量,跟一个n×n的矩阵相乘,再将得出的结MOD26。

考虑讯息ACT,因为A=0,C=2,T=19,讯息是:
在这里插入图片描述
设密匙为
在这里插入图片描述
确认它是可逆的:
在这里插入图片描述
加密过程:
在这里插入图片描述
对应的密文便是“POH”。
假设对方知道密文和密匙,首先找出密匙的逆矩阵:
在这里插入图片描述
将逆矩阵和密文相乘:
在这里插入图片描述
在这里插入图片描述
便得到“ACT”。

摩斯电码

摩斯电码(摩尔斯电码)是一种发报用的信号代码,是一种替代密码,用点(Dot)和划(Dash)的组合来表示各个英文字母或标点。
在这里插入图片描述

猪圈密码

猪圈密码(亦称朱高密码、共济会暗号、共济会密码或共济会员密码),是一种以格子为基础的简单替代式密码。即使使用符号,也不会影响密码分析,亦可用在其它替代式的方法。
在这里插入图片描述

键盘密码

加密的原理同棋盘密码,只是利用了键盘作为方阵。

键盘的字母分布:

~ ! @ # $ % ^ & * ( ) _ + |
` 1 2 3 4 5 6 7 8 9 0 - = \
 Q W E R T Y U I O P { }
 q w e r t y u i o p [ ]
 A S D F G H J K L : "
 a s d f g h j k l ; ’
 Z X C V B N M < > ?
 z x c v b n m , . /

密文:72 81 12 63 01 12 63
明文:jianpan

低下头看看键盘就知道了,密文就是键盘上的26个字母的坐标,72即第7列第2行,第7列正好是数字键[7]的位置,往下2个就是字母[J]。

参考

https://blog.csdn.net/qq_34206560/article/details/83242664
https://www.cnblogs.com/gwind/p/7997922.html


http://chatgpt.dhexx.cn/article/4rbd1Ohw.shtml

相关文章

古典密码(部分合集)

古典密码 一. 移位密码1. 简单移位密码2. 曲路密码3. 云影密码4. 栅栏密码 二. 代替密码单表代替密码1.凯撒密码2.ROT133.埃特巴什密码4.经典单表替代密码5.摩斯密码6.培根密码7.图形替换密码猪圈密码圣堂武士密码标准银河密码 8.仿射密码 多表代替密码1.棋盘密码PlayfairPolyb…

密码学:古典密码.

密码学&#xff1a;古典密码. 古典密码是密码学的一个类型&#xff0c;大部分加密方式是利用替换式密码或移项式密码&#xff0c;有时是两者的混合。古典密码在历史上普遍被使用&#xff0c;但到现代已经渐渐不常用了。一般来说&#xff0c;一种古典密码体制包含一个字母表(如…

古典密码汇总。

一、密码类型汇总 23、维吉尼亚密码&#xff08;Vigenre Cipher&#xff09; 【Vigenre Cipher】 由于频率分析法可以有效的破解单表替换密码&#xff0c;法国密码学家维吉尼亚于1586年提出一种多表替换密码&#xff0c;   即维吉尼亚密码&#xff0c;也称维热纳尔密码。维…

SourceTree的使用

SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端&#xff0c;拥有可视化界面&#xff0c;容易上手操作。同时它也是Mercurial和Subversion版本控制系统工具。支持创建、提交、clone、push、pull 和merge等操作。 二、下载安装SourceTree步骤 1、下载地址&#xf…

SourceTree使用教程图文详解

作者的其他平台&#xff1a; | CSDN&#xff1a;https://blog.csdn.net/qq_41153943 | 掘金&#xff1a;https://juejin.cn/user/651387938290686 | 知乎&#xff1a;https://www.zhihu.com/people/1024-paper-96 | GitHub&#xff1a;https://github.com/JiangXia-1024?t…

Sourcetree打开之后,闪退,问题处理

1、环境&#xff1a;win11 Sourcetree版本3.4.7 2、处理办法&#xff0c;在资源管理器地址栏输入“%LocalAppData%\Atlassian”&#xff0c;删掉“SourceTree.exe_Url_ampbpf5kvqim4xxkhaykobjynfannkxz”&#xff08;非SourceTree目录&#xff09;&#xff0c;打开正常。

Sourcetree查看某个文件提交历史记录

1、在文件状态右上角搜索要查看的文件名 2、选择查看的文件名右键 点击变更历史即可

sourcetree使用

由于在工作中负责线上代码的部署和控制&#xff0c;所以对SourceTree的使用场景和使用技巧进行了全面系统的研究和实践&#xff0c;并以经验连载的形式进行了分享。该经验主要是对这些连载经验进行整体的概述&#xff0c;以方便大家的查阅和参考。 方法/步骤 SourceTree使用的…

sourceTree打不开,启动闪退

应该还是缓存文件的问题&#xff1a; C:\Users\wangqiang\AppData\Local\Atlassian 把这个临时文件删掉&#xff1a;

sourcetree使用说明

功能全面介绍 OK,拔山涉水终于安装完毕,进入主页是长这个样子 1.主页 几个按钮作用:如图,其中过滤仓库搜索框其实就是个搜索框,可以根据仓库名字的关键字搜索出仓库,右上角的设置按钮比较简单这里就不再解释大家自行点开一下就明白了 Snip20171208_22.png 新建按钮解释 Sni…

SourceTree解决冲突

1、解决冲突的时候&#xff0c;操作已暂存文件&#xff0c;不操作未暂存文件&#xff08;开始的时候&#xff0c;这两个区域的文件是一样的&#xff0c;并且都带有感叹号提示&#xff09; 2、使用他人版本解决冲突&#xff0c;会自动将当前分支对应文档更改成他人文档内容&…

Sourcetree 打开闪退怎么处理

只需要把 C:\Users\15810\AppData\Local\Atlassian 文件下用箭头标记的删除即可

Sourcetree 闪退问题

Sourcetree&#xff0c;有时我们用着用着就用不了&#xff0c;昨天好好的&#xff0c;今天就不能打开了。我遇到这个问题也找找了好多博文看了&#xff0c;也操作。还重新安装还是重新这样。后面发现麻痹的&#xff0c;这软件的打开的权限被限制了。 找到上面的位置&#xff0c…

Git和SourceTree入门教程

转自CSDN:http://blog.csdn.net/collonn/article/details/39259227 -->本教程适用于主流的开源网站github和bitbucket,个人认为sourceTree还是比较好用的git客户端,支持windows和mac os。 -->soureceTree的最新版本可能与此教程的screenshot有些许不同,但大同小异…

SourceTree使用方法

一 、SourceTree简介 SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端&#xff0c;拥有可视化界面&#xff0c;容易上手操作。同时它也是Mercurial和Subversion版本控制系统工具。支持创建、提交、clone、push、pull 和merge等操作。 二、下载安装SourceTree步骤…

Sourcetree使用教程,拉取代码克隆、解决冲突、合并分支

目录 基础配置 基础操作 拉取远程项目 pull(拉取)、commit(提交) 、push(推送) 新建分支 合并分支 Git工作流 冲突解决 配置忽略文件 SourceTree&Git部分名词解释 其他待补充 博客链接&#xff1a;Sourcetree使用教程https://www.zjhuiwan.cn/info/20211014/422…

Git(5) SourceTree安装使用

文章目录 一、前言二、SourceTree安装三、SourceTree使用1、克隆仓库&拉取代码&推送代码2、创建分支&合并分支代码3、标签4、子模块5、子树6、贮藏7、重置提交a、软合并&#xff1a;保持所有本地改动b、混合合并&#xff1a;保持工作副本并重置索引c、强行合并&…

【全网最全面】SourceTree使用教程详解(连接远程仓库,克隆,拉取,提交,推送,新建/切换/合并分支,冲突解决,提交PR)...

前言&#xff1a; 俗话说的好工欲善其事必先利其器&#xff0c;Git分布式版本控制系统是我们日常开发中不可或缺的。目前市面上比较流行的Git可视化管理工具有SourceTree、Github Desktop、TortoiseGit&#xff0c;综合网上的一些文章分析和自己的日常开发实践心得个人比较推荐…

Git 管理工具 SourceTree 的使用(上手简单,不熟悉git命令的开发者必用)

目录 一、SourceTree 概述 二、SourceTree 使用方法 1. 克隆 Git 仓库至本地 2. 推送本地的文件至远程仓库 3. 创建/切换/合并分支 4. 版本回退 一、SourceTree 概述 SourceTree 是一款免费的 Git 和 Hg 客户端管理工具&#xff0c;支持 Git 项目的创建、克隆、提交、pus…

经典传染病SI模型及仿真

SI模型 假设&#xff1a; 1&#xff09;节点均匀混合 2&#xff09;感染后染病状态不再改变 3&#xff09;接触病原体后以一定概率感染&#xff1a; 4&#xff09;初始状态的人群感染密度为&#xff1a; 则感染过程动力学方程为&#xff1a; 如果设初始感染密度为则感染…