古典密码及现代密码分组密码与流密码总结

article/2025/9/25 6:43:01

古典密码及现代密码分组密码与流密码总结

古典密码大部分加密方式是利用替换式密码或移项式密码,有时是二者的混合。一般情况下,一种古典密码体制包含一个字母表,以及一个操作规则或一种操作设备,到了现代基本不可信赖。

1.凯撒密码
是一种最简单广为人知的加密技术,是一种替换加密技术,明文中所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。
 加密公式:密文 = (明文 + 位移数) Mod 26
   解密公式:明文 = (密文 - 位移数) Mod 26
破解方法:可以使用穷举法轻易破解。

2.维吉尼亚密码
是使用一系列凯撒密码组成密码字母表的加密算法,属于多表密码的简单形式。
首先循环密钥形成密钥流,使之与明文长度相同。
而后根据每位密钥对原文进行加密,假设密钥为字母,偏移量为字母对应序号-1。比如第一位密钥M对应第13个字母,偏移量为13-1=12。假设第一个明文为C,加密后的密文应为(C+12)mod26,即O。
破解方法:寻找密文中相同的连续字符串,密钥长度一定为其间隔的引述,或寻找典型特殊单词。

3.培根密码
一种隐写术,加密时,铭文中的每个字母都会转换成一组5个英文字母

4.猪圈密码
是一种以各自为基础的简单替代式密码。

例如:对明文“X marks the spot”进行加密,下图为密文。

5.栅栏密码
把加密的明文分成每N个一组,然后把每组的第1个字符连起来,形成一段无规律的字符串。不过栅栏密码本身有一个潜规则,就是组成栅栏的字母一般不会太多。(一般不超过30个)
在选择行数时可以使多行,这样对于加密强度有所提高。

6.曲路密码
曲路密码与栅栏密码一样,也是换位密码的一种,密钥为曲路路径。
未加密文段为:Welcome to the DedSec
然后按照事先约定的序列填入3X6的列表里

加密方与解密方互相约定加密路线

这样加密密文为

密文:cem ohe Stc lod ete WeD。

7.摩斯密码
摩斯密码也被称作摩尔斯电码,是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、数字和标点符号。它的代码包括五种:短促的点信号“・”,读“滴”(Di)保持一定时间的长信号“—”,读“嗒”(Da)表示点和划之间的停顿、每个词之间中等的停顿,以及句子之间长的停顿;一点作为一个基本的信号单位,一划的长度就相当于是3点的时间长度;在一个字母或是数字之内,每个点、划之间的间隔就应该是两点的时间长度;字母(数字)与字母(数字)之间的间隔就是7点的时间长度

现代密码

分组密码
又称为分块加密或块密码,是一种对称密码算法,将明文分为多个等长的块,使用确定的算法和对称密钥对每组分别加密或解密。
本质上时一种特殊的替代密码,只不过每次替换的都是一大块。
分组密码自身只能加密长度等于密码分组长度的单块数据,最后一块数据需要使用合适的填充方式将数据扩展道匹配密码块大小的长度。

分组密码常见的工作模式:
1.ECB(电子密码本)
是分组加密最简单的一种模式,即明文中的每个块都独立地加密成密文的每个块,明文长度不是分组长度的倍数,则需要用一些特定的方法进行填充。

缺点:同样的明文块会被加密成相同的密文块,因此不能很好的隐藏数据模式。

2.CBC(密码分组链接)
每个明文块先和前一个密文块进行异或后再进行加密。在这种方法中,每个密文块都依赖于它前面的所有明文块;同时未来保证每条消息的唯一性,在第1个块中需要使用初始化向量。

3.OFB(输出反馈模式)
可以将块密码变成同步的流密码。将之前一次的加密结果使用密钥再次进行加密,产生的块作为密钥流,然后将其与明文块进行异或,得到密文。由于异或操作的对称性,加密和解密操作是完全相同的。反馈的是是每一组的输出再次经过加密算法后的输出。

4.CFB(密文反馈)
类似OFB,将上一组的密文作为下一组的输入来加密进行反馈

5.CTR(CM)
又称ICM模式、SIC模式。与OFB类似,CTR将块密码变为流密码,通过递增一个加密计数器来产生连续的密钥流。计数器可以是任意保证长时间不产生重复输出的函数,但使用一个 普通的计数器是最简单和最常见的做法。CTR模式的特征类似OFB,但允许在解密时进行随机存取。

费斯妥密码
用于构造分组密码的对称结构,通常称为Feistel网络。
优点:
加密和解密操作非常相似,在某些情况下甚至是相同的,只需要逆转密钥编排即可
注意:
费斯妥密码再每轮的加密中只加密了一半的字符,而且轮函数F并不需要可逆,F可以看成是一个随机数生成器。

DES(数据加密标准)
DES算法为密码体制中的对称密码体制,又被称为美国数据加密标准。
DES是一个分组加密算法,典型的DES以64位为分组对数据加密,加密和解密用的是同一个算法。
密钥长64位,密钥事实上是56位参与DES运算(第8、16、24、32、40、48、56、64位是校验位,使得每个密钥都有奇数个1),分组后的明文组和56位的密钥按位替代或交换的方法形成密文组。
DES算法的主要流程如下图所示。

初始置换(IP)
首先,DES会对用户的输入进行处理,称为初始置换,用户的置换会按照下表的顺序进行。IP置换的功能是把输入的64位数据块M按位重新组合,并把输出分为L0、R0两部分,每部分各长32位,其置换规则见下表:
在这里插入图片描述
按照表中的索引,用户输入M的第558位会成为这个过程的结果IP的第1位,以此类推,M的第50位会成为IP的第二位……L0为新数据的左32位,置换后的数据分为L0和R0两部分,R0为新数据的右32位。

AES
又称为Rijndael加密法,用来代替DES,已经广为全世界所使用。在每轮都对全部的128位进行了加密。且加密过程是在4*4字节大小的矩阵上运作的,这个矩阵称为“体”,其初值是一个明文区块(矩阵中一个元素就是明文区块的1Byte)
各轮加密算法循环(除最后一轮外)均包含4个步骤:
(1)AddRoundKey(轮密钥加)
(2)SubBytes(字节替换)
(3)ShiftRows(行移位)
(4)MixColumns(列混合)

流密码

也称序列密码,它是对称密码算法的一种。基本特征是加解密双方使用一串与明文长度相同的密钥流,与明文流组合来进行加解密。序列密码具有实现简单、便于硬件实施、加解密处理速度快、没有或只有有限的错误传播等特点,因此在实际应用中,特别是专用或机密机构中保持着优势,典型的应用领域包括无线通信、外交通信。

同步流密码(SSC):产生密钥序列的算法与明文,密文无关。
在这里插入图片描述

在这里插入图片描述

只要通信双方的密钥序列产生器具有相同的 “种子序列”和相同的“初始状态”,就能产生相同的密钥序列。
通信双方必须保持精确同步,才能正确解密
容易检测插入、删除、重播等主动攻击。
没有差错传播。
自同步流密码(SSSC):产生密钥序列的算法与以前的密文有关。

在这里插入图片描述

在这里插入图片描述
线性反馈移位寄存器(LFSR)
是数字电路中常见的一种器件,可以并行输入若干位进行初始化,并可进行移入、移出等操作,常被用于产生序列信号。由一个移位寄存器,一个反馈函数组成,反馈函数为一个线性函数。

RC4
是一种特殊的流加密算法,是有线等效加密(WEP)中采用的加密算法,曾经是TLS可采用的算法之一。
易受到已知明文攻击的影响。如果使用某一密钥加密了n字节的数据,并知道明文,即可恢复n字节的流密钥。


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

相关文章

古典密码体制

文章目录 一、置换密码1、列置换密码2、周期置换密码 二、代换密码1、单表代换密码2、多表代换密码: 一、置换密码 置换密码门又称换位密码,是根据一定的规律重新排列明文,以打乱明文的结构特性。 常见的置换密码有两种,一种是列…

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

一、实验目的与原理 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…