古典密码体制

article/2025/9/25 6:49:38

文章目录

    • 一、置换密码
      • 1、列置换密码
      • 2、周期置换密码
    • 二、代换密码
      • 1、单表代换密码
      • 2、多表代换密码:

一、置换密码

置换密码门又称换位密码,是根据一定的规律重新排列明文,以打乱明文的结构特性。
常见的置换密码有两种,一种是列置换密码,一种是周期置换密码。

1、列置换密码

列置换是一种常见的置换密码体制,其名称是由明文遵照秘钥的规则按列换位并且按列读出明文序列得到密文而得名。
1)加密过程

  • 将明文p设定固定的分组宽度m,按行写出,每行即m个,若明文长度不是m的倍数,则不足部分按约定规则填充。得到字符矩阵。
  • 将矩阵按一定的规则进行列置换
  • 按行读出明文信息,即为密文。

2)解密过程:

  • 将密文c以m的宽度分组,按行写出得到字符矩阵。
  • 将矩阵按加密规则进行逆置换,得到新的矩阵。
  • 按行读出矩阵,即为密文信息。

2、周期置换密码

周期置换密码是将明文p按固定长度m分组,然后对每组中的子串按1,2,3…m的某个置换重新排列从而得到密文,其中秘钥σ包含了分组长度信息。解密时按长度m分组,并按σ逆置换σ-1把每组子串重新排列得到明文信息。

二、代换密码

代换密码是将明文中的字符替换位其他字符的密码体制。
基本方法是建立一个代换表,加密时将待加密明文字符通过查找的方式替换为对应的密文字符,这个代换表就是秘钥。

1、单表代换密码

单表代换密码是指明文信息中相同的字母,在加密时都采用同一固定的字母来代换。单表代换又分为移位密码、基于秘钥的单表代换密码和仿射密码。
1)基于秘钥的单表代换密码
实现原理

  • 首先选取一个英文单词,去掉重复的字母只保留较前的一位,得到一个无重复的字母序列。
  • 将其他字母依次写在它之后,已有的不在写入。
  • 建立英文字母一一对应的关系,即字母代换表
    基于秘钥的代换密码的秘钥空间长度为26!>1025
    2)仿射密码:
    加密:
    仿射密码的加密算法就是一个线性变换,即对任意明文字符x,对应明文y=a*x+b(mod 26),其中要求a,b∈Z26,且gcd(a,26)=1,则函数e(x)称为仿射加密函数。
  • gcd(a,26)=1,即表示a与26互素。
  • 仿射密码的秘钥空间大小为:12*26=312
  • 在a=1,b=3时,这种仿射密码就是著名的凯撒密码。

解密:
在求解仿射解密函数时,需要求解a在Z26上的乘法逆元a-1∈Z26,可由拓展欧几里得算法求解
解密函数为:X=a-1(e(x)-b)(mod 26)
下表是Z26上所有与26互素的元素的乘法逆元:

1-13-15-17-19-111-115-117-119-121-123-125-1
1921153197231151725

2、多表代换密码:

多表代换密码是以一系列代换表依次对明文进行代换的加密方法。即在明文信息中的相同字母可能不是被替换为相同字母,而是根据字母位置有不同的代换方式。
多表代换利用明文,将其分割为不同的明文组,每个明文组使用不同的代换表,就会使相同字母出现不同的代换结果。
1)Playfair密码
该密码将明文字母按两个字母一组,分成若干个单元,然后将这些明文单元替换为密文组合,替换时基于一个5*5的矩阵,该矩阵使用一个关键词构造,类似于基于秘钥的单表代换密码表。
构造方法如下 :选定一个关键词,从左到右,从上到下依次填充字母,已经填充过的不再填充,顺位后移然后将字母表中剩下的字母依次填入矩阵中,而i和j视作同一个字母。同时约定规则使第一列为第五列的下一列,第一行为第五行的下一行。
加密时对字母p1,p2的加密规则如下:

  • 若p1,p2在同一行,则对应密文是紧靠p1,p2右边的字母
  • 若p1.p2在同一列,则密文是紧靠p1,p2下边的字母。
  • 若p1,p2,不在同一行也不在同一列,则密文是p1,p2为顶点的矩形的另外两个顶点,以行为标准对应。
  • 若p1,p2相同,则插入一个事先约定的字母,并用上述方法处理
  • 若明文字符数为奇数,则在明文末端插入一个事先约定好的字母。

解密:解密过程与加密过程类似。只是将右边该位了左边,下边改为了上边。

2)Vigenere密码
维吉尼亚密码是多边代换密码的典型代表。
设m为一个固定的正整数,P,C,K分别为明文空间、密文空间、密钥空间。并且P=C=K=(Z26)m,对于一个秘钥k=(k1,k2,…km).则维吉尼亚密码的加密函数为:
ek(x1,x2,…xm)=(x1+k1,x2+k2,…Xm+km)
与之对应的解密函数为:
dk(y1,y2,…ym)=(y1-k1,y2-k2,…ym-km)

3)Hill密码
希尔密码(Hill)的基本思想是利用Z26上的线性变换被n个连续的明文字母替换为n个连续的密文字母。这个替换是由秘钥决定的,而这个秘钥是一个变换矩阵,解密时只需要对密文做一次逆变换即可。
以下是一个Hill密码加解密过程:
加密:
在这里插入图片描述解密
在这里插入图片描述4)转轮密码机
准轮密码机是由一个输入键盘和一组转轮组组成,每个转轮上有26个字母随意组合,转路之间通过齿轮连接,当一个转动时可以带动另一个转动。为了使准轮更安全,一般各个准轮的速度都不一样。
以下是一个转轮密码加密图解:
在这里插入图片描述
在一个转轮密码机中,每个齿轮都可能是转动的,其规律是当快转子转动26次后中转子转动一次,慢转子同理。所以在一个三轮转轮机中,在加解密262626次后,转轮机就会恢复初始状态。,所以一个转轮机的周期长度取决于转轮数m,则周期长度为26m.


http://chatgpt.dhexx.cn/article/EFb0QpXw.shtml

相关文章

信息安全导论 实验一 古典密码学

一、实验目的与原理 1.实现古典密码学中的移位密码算法和维吉尼亚算法。 2.了解两种算法的原理,并且编写出来。 3.使用语言为C或者Python等。 二、实验内容与记录 位移密码算法: 移位密码算法 在加密的时候需要注意大小写的转换,这个可…

古典密码之维吉尼亚密码实验

学习目标: 维吉尼亚密码是古典密码中非常具有代表的例子。本实验要求用高级语言编写和调试一个简单的维吉尼亚密码实现及解密程序,通过本实验可以加深理解维吉尼亚密码原理。 预备知识: 人们在单一恺撒密码的基础上扩展出多表密码&#xff…

【密码学算法实现】古典密码

文章目录 2.1 代替技术2.1.1 仿射密码2.1.2 单表代替密码2.1.3 Hill密码Hill密码的已知明文攻击 2.1.4 Vigenere密码 2.2 置换技术2.2.1 栅栏密码2.2.2 矩阵密码 作为较为朴素的密码体系,古典密码通常都是对称的。如下图所示,对称密码通常是加密方与解密…

密码学-古典密码学习笔记

文章目录 参考资料替代技术单字母表替代密码凯撒密码移位密码仿射密码针对单字母表替代密码的攻击 多字母表替代密码Vigenere密码Hill密码(希尔密码) 置换技术置换密码的定义案例 本文作为一篇学习笔记,在图片和文字上大量参考了各种密码学书籍,并添加了…

古典密码算法实验c语言,古典密码实验报告.doc

古典密码实验报告.doc 哈尔滨工程大学实验报告实验名称古典密码算法班级学号姓名实验时间2014年4月成绩指导教师实验室名称哈尔滨工程大学实验室与资产管理处制一、实验名称古典密码算法2、实验目的通过编程实现经典的代替密码算法和置换密码,包括移位密码、维吉尼…

古典密码学学习笔记

1.历史 古典密码阶段:1949年以前 近代密码阶段:1949-1975年 现代密码阶段:1976年至今 2.加密方法 古典密码学的加密方法主要有两大类:替代和置换,或者是两者的结合 3.基本密码 1.键盘布局加密 这是一种比较简单也…

古典密码

古典密码将明文的每一个字母代换为字母表中的另一个字母,代换前现将明文字母用等价的十进制数字代替,使用十进制进行运算。 字母abcdefghijklm数字0123456789101112 字母nopqrstuvwxyz数字13141516171819202122232425 根据代换是对每个字母逐个进行还是…

初学古典密码

古典密码 目录 古典密码 Wiki篇 二,凯撒密码Caesar: 三,移位密码 四,Atbash Cipher(埃特巴什码): 五,简单替换密码 六,仿射密码(affine cipher) 多表…

简单古典密码

1. 简单移位密码 m "{easy_easy_crypto}" k 3124 明文所在位置1234密文所在位置3124 flag{easy_easy_crypto}lafgea{s_eyay_scyprt}o 攻击方法:肉眼识别/爆破秘钥/根据flag字符串逆推 2. 曲路密码 明文填入一个表中,并按照一定的曲路遍历攻击方法…

古典密码技术

古典密码技术 古典密码是密码学中的其中一个类型,其大部分加密方式都是利用替换式密码或移项式密码,有时则是两者的混合。其于历史中经常使用,但在现代由于计算机的出现,使得古典密码解密已经不再困难,已经很少使用&a…

古典密码简记

目录 概述 传统隐写 替换密码技术 换位密码技术: 安全性分析 概述 古典密码只是对字母进行变换,而现代密码算法是对比特流进行变换。 古典密码技术比较简单,通常 采用手工或机械操作来对明文进行加密和解密的。(例&#xf…

常见古典密码

古典密码 文章目录 古典密码前言1.Affine(仿射加密)2.Bacon(培根加密)3.Brainfuck4.Caesar(凯撒加密)5.Fence(栅栏加密)6.Fenham(费纳姆加密)7.Morse(摩斯密码)8.Pigen(猪圈加密)9.Vigenere(维吉尼亚加密) 前言 系统的学习了一下古典密码,这里大概整理一下主要的加…

古典密码学

主要划分方式及其分类 按密钥方式划分:对称,非对称 按明文处理方式分:块密码,流密码 按编制原理划分:代换,置乱 对称加密算法 对称加密算法 对称加密算法(synmetric algorithm)&…

古典密码总结

古典密码 凯撒密码凯撒位移(中文版) 栅栏密码棋盘密码乘法密码仿射密码希尔密码摩斯电码猪圈密码键盘密码参考 凯撒密码 加密公式:密文 (明文 位移数) Mod 26 解密公式:明文 (密文 - 位移数) Mod 26 凯撒位移(中…

古典密码(部分合集)

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

密码学:古典密码.

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

古典密码汇总。

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

SourceTree的使用

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

SourceTree使用教程图文详解

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

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

1、环境:win11 Sourcetree版本3.4.7 2、处理办法,在资源管理器地址栏输入“%LocalAppData%\Atlassian”,删掉“SourceTree.exe_Url_ampbpf5kvqim4xxkhaykobjynfannkxz”(非SourceTree目录),打开正常。