网站建设费一般摊销几年,怎么做私人网站,专做童装的网站,会网站开发想找兼职目录
Mindmap
前言
破译方法
三类古典密码
替换密码
分类
单表替换密码
凯撒密码
简单替换密码
仿射密码
普莱费尔密码
培根密码
猪圈密码
摩斯密码
多表替换密码
维吉尼亚密码
移位密码
滚筒密码
栅栏密码 Mindmap 前言
1.所有古典密码都已不安全
2.密…目录
Mindmap
前言
破译方法
三类古典密码
替换密码
分类
单表替换密码
凯撒密码
简单替换密码
仿射密码
普莱费尔密码
培根密码
猪圈密码
摩斯密码
多表替换密码
维吉尼亚密码
移位密码
滚筒密码
栅栏密码 Mindmap 前言
1.所有古典密码都已不安全
2.密钥空间应该尽量大
3.密文应该扰乱统计规律
4.效率和安全是矛盾的 破译方法
1.穷举法尝试所有密钥
2.分析法确定性分析(数学公式)统计分析 三类古典密码
古典密码学中的替换密码移位密码和机械密码是三种基本的加密技术它们在实现原理和加密方法上有所不同 替换密码 定义替换密码是一种通过将明文中的每个字符替换为另一个字符或符号来进行加密的技术。特点最简单的替换密码是凯撒密码其中明文字母按照一个固定的偏移量进行替换。其他替换密码可能使用更复杂的置换表例如维吉尼亚密码就是使用多个凯撒密码表组成的多表替换密码。 移位密码 定义移位密码是一种替换密码的特例其中每个明文字符按照固定的偏移量位移来替换。也称为凯撒密码。特点凯撒密码中明文的每个字母按照一个固定的偏移量向右或向左移动例如偏移量为3的凯撒密码将A替换为DB替换为E以此类推。移位密码属于替换密码的一种简单形式易于实现但安全性较低。 机械密码 定义机械密码是使用机械装置通常是基于物理结构的装置来实现加密和解密的密码系统。特点机械密码通常涉及转轮、齿轮或其他物理结构这些结构可以根据密钥或密码来调整从而实现字符的替换或转换。最著名的例子是恩尼格玛机Enigma machine它在二战期间被纳粹德国用作加密通信的工具。
总结
替换密码是通过替换明文中的字符来实现加密可以是简单的移位替换也可以是更复杂的多表替换。移位密码是替换密码的一种特例其中每个字符按照一个固定的位移量进行替换。机械密码利用物理结构实现加密通常比纯文本替换更复杂提供了更高的加密强度和安全性。 替换密码
分类 单表替换密码 定义单表替换密码是指通过一个固定的替换表例如字母表的置换表来加密明文。最著名的例子是凯撒密码其中字母表中的每个字母都按照一个固定的偏移量进行替换。特点单表替换密码的加密过程是简单的替换操作每个明文字符或者字符块都对应一个唯一的密文字符或者字符块。这种方法容易实现和理解但由于固定的替换表安全性较低容易受到频率分析等攻击。 多表替换密码 定义多表替换密码是一种使用多个替换表也称为秘钥表的加密技术。加密时根据密钥中的某种规则如轮换、随机选择等选择合适的替换表进行加密。特点多表替换密码提高了安全性因为不同的明文字符或者字符块可以映射到不同的密文字符或者字符块且同一个明文在不同的加密情况下可能对应不同的密文。这种方法可以抵抗频率分析等简单攻击但仍然可能受到更复杂的密码分析攻击。 单表替换密码
凯撒密码
这是一种替换加密技术其中每个字母在字母表中移动固定数目的位置。例如如果我们设定移动3个位置那么A会变成DB会变成E依此类推。一个例子是加密“HELLO”时每个字母都移动3个位置结果是“KHOOR”。 简单替换密码
在这种加密方法中字母表中的每个字母都被系统地替换为另一个字母。例如我们可以决定将A替换为DB替换为E等等但替换是随机的不像凯撒密码那样规律。例如用一种特定替换规则加密“SIMPLE”可能得到“JKBCDE”。 仿射密码
这是一种使用数学函数的替换密码具体公式为 (E(x) (ax b) \mod m)其中(m)是字母表中的字符数量(a)和(b)是密钥且(a)和(m)必须互质。例如假设(a5)(b8)加密字母‘A’设‘A’为0的结果是(E(0) (5*0 8) \mod 26 8)所以‘A’被加密为‘I’。 加密公式 给定明文 ( x )其中 ( x ) 是字母在字母表中的位置从 0 开始计算加密函数 ( E ) 可表示为 [ E(x) (ax b) \mod m ] 这里的 ( m ) 是字母表中字母的总数通常是 26( a ) 和 ( b ) 是密钥其中 ( a ) 必须和 ( m ) 互质即 ( a ) 和 ( m ) 的最大公约数为 1保证 ( a ) 在模 ( m ) 下有逆元。 解密公式 解密是加密的逆过程。设密文 ( y ) 是通过上述加密公式得到的解密函数 ( D ) 可表示为 [ D(y) a^{-1}(y - b) \mod m ] 这里的 ( a^{-1} ) 是 ( a ) 在模 ( m ) 下的乘法逆元意味着 ( a \cdot a^{-1} \equiv 1 \mod m )。计算 ( a^{-1} ) 通常可以通过扩展欧几里得算法来实现。 示例 假设我们使用 ( m 26 )( a 5 )( b 8 )并且要加密字母 ‘A’记为 ( x 0 ) 加密过程: [ E(0) (5 \times 0 8) \mod 26 8 ] 所以 ‘A’ 加密后变成位置为 8 的字母即 ‘I’。 解密过程: 首先我们需要找到 5 的逆元。假设找到 ( 5^{-1} 21 )那么 [ D(8) 21 \times (8 - 8) \mod 26 0 ] 因此位置 8 的字母即 ‘I’解密后变回 ‘A’。 仿射密码的安全性在于选择合适的 ( a ) 和 ( b )以及保持这些值的秘密。但在现代密码学中由于其线性特性和限定的密钥空间它被认为是较弱的加密方法。 普莱费尔密码 普莱费尔密码Playfair Cipher是一种使用5x5矩阵对成对字母进行加密的经典替换密码系统。它在19世纪由查尔斯·惠斯通发明并以其朋友查尔斯·普莱费尔的名字命名。这种密码比单一替换密码更为复杂因为它加密的是字母对而不是单个字母。以下是普莱费尔密码的基本加密规则 准备密钥方阵首先选择一个密钥词通常去除重复字母将其字母按顺序填入5x5的方阵中剩余的格子按字母表顺序填充未使用的字母继续填充通常将字母“I”和“J”视为相同以适应25个格子。 准备明文将明文分为字母对如果有一个字母单独存在则添加一个额外的字母如X或Q使其成对。如果一对字母相同则插入一个填充字母如X例如“HELLO”变为“HE LX LO”。 加密规则对每对字母应用以下规则 如果字母对在同一行对每个字母用其右侧的字母替换如果是行尾则换到行首。如果字母对在同一列对每个字母用其下方的字母替换如果是列底则换到列顶。如果字母对在不同行不同列字母对在方阵中形成一个矩形用同行对角的字母进行替换即保持行不变交换列。 培根密码
这种密码将每个字母编码为一系列的A和B。例如A可以编码为“AAAAA”B为“AAAAB”等等。密文通常看起来是无意义的但通过特定的编码规则可以解码出原文。 猪圈密码
这种加密方法使用一系列的符号来代表字母通常是在两个或三个不同的圆形图案中画分割线来表示。每个符号代表一个特定的字母根据符号的形状和位置确定。 摩斯密码
这是一种早期的电报代码使用短信号点和长信号划以及间隔来表示字母、数字和标点符号。例如“SOS”在摩斯密码中表示为“··· --- ···”。 多表替换密码
维吉尼亚密码 维吉尼亚密码可以通过一个方便的密码表来实现加密和解密过程这种表也被称为“维吉尼亚方阵”。这个方阵包含了26行26列的字母每一行字母都向左或向右移动一位从而形成了一个完整的字母表的移位序列。
维吉尼亚方阵的构建
密码表的每一行都是从前一行的最后一个字母开始继续按照字母顺序排列。例如
第一行从 A 开始依次排列到 Z。第二行从 B 开始依次排列到 A。第三行从 C 开始依次排列到 B。 依此类推直到整个表格完成。
加密过程
使用维吉尼亚密码表进行加密时
确定密钥选择一个密钥。重复密钥将密钥重复至与明文长度相同。使用密码表找到明文中每个字符在表的顶部的列密钥中对应字符在表的左侧的行。在行列交叉点的字母即为加密后的字符。
解密过程
解密与加密相反
找到密文中的每个字符在表中的列。找到密钥对应字符在表的左侧的行。在该行中找到密文字符然后跟随这一列向上直到表格的顶端顶端的字母是明文中对应的字符。
这个方法使得加密和解密过程非常直观并且易于通过手工或使用简单程序来实现。通过使用密码表维吉尼亚密码的实现可以更为清晰且容易操作。 移位密码
滚筒密码
滚筒密码是古希腊时期的斯巴达人使用的一种加密技术。这种方法涉及到一块长条的皮革或羊皮纸和一个木制的滚筒。加密过程如下
绑定将长条的纸或皮革绕在滚筒上。书写在纸条上沿着滚筒的长度方向书写信息。解开当纸条从滚筒上解开后原来的信息会被打乱因为原文是沿着滚筒的轴向书写的。传递和解读纸条被送到接收者那里接收者需要一个直径相同的滚筒才能重新绕上去从而阅读信息。
滚筒密码的安全性依赖于滚筒的直径和用于绑定的材料的宽度。只有当拥有正确直径的滚筒时接收者才能正确地解读信息。 栅栏密码
栅栏密码是一种简单的置换密码用于通过重新排列字母的顺序来加密文本。它的基本操作如下
写法将文本字符顺序写入分成几行的“栅栏”结构中。例如如果我们选择两行栅栏第一个字母放在第一行第二个字母放在第二行第三个字母再回到第一行依此类推。读取加密时按行读取字符。首先读取第一行的所有字符然后读取第二行的所有字符如果有更多行也按此方法继续。解密接收者按相同的行数重建栅栏结构然后按写入时的Z字形或N字形路径重新填写并读取字符。
栅栏密码的安全性取决于栅栏的行数也就是深度。行数越多密码通常越难破解但同时解密也需要更精确的行数信息。