古典密码总结

古典密码总结


猪圈密码

猪圈密码也称为朱高密码、共济会暗号、共济会密码或共济会员密码,是一种以格子为基础的简单替代式密码。只能对字母加解密并且符号无法复制,粘贴后会直接显示明文,即使使用符号,也不会影响密码分析,亦可用在其它替代式的方法。曾经是美国内战时盟军使用的密码,目前仅在密码教学、各种竞赛中使用。它的名称源自于字母的形状类似于猪圈的图案。
猪圈密码的原理是将字母替换为一系列特定的符号或图案。通常,字母被分成四个象限,每个象限代表一个特定的图案。在猪圈密码中,字母A被替换为一个没有符号的象限,而其他字母则被替换为具有不同符号组合的象限。这些符号可以是点、线、斜线等。加密时,将明文中的每个字母替换为相应的符号或图案。密文将由一系列符号组成,而不是实际的字母。接收方收到密文后,可以使用相同的图案和符号对照表来解密,将符号转换回明文的字母。
在这里插入图片描述
然而,它的安全性较低,容易被破解。由于猪圈密码的替换规则固定且有限,破解者可以通过分析频率统计和模式识别等方法来还原明文。
工具:猪圈密码解密

培根密码

培根密码是一种古老的替代密码,得名于英国哲学家弗朗西斯·培根。这种密码系统使用了字母的二进制编码,将字母分为两组,每组使用不同的符号代表。
培根密码的基本原理是将字母表中的每个字母对应到一个由A和B组成的五位二进制码。其中,A通常被表示为普通的字母,而B则是一个不同的符号(例如,大写字母I和小写字母j)。在培根密码中,明文中的每个字母被替换为对应的二进制码。这些二进制码可以使用A和B来表示,例如AAAAA、AAAAB、AAABA等。这样,明文就被转换为一系列由A和B组成的编码。解密时,接收方将编码转换回字母。每个五位二进制码都与培根密码字母表中的一个字母对应。通过对照字母表,接收方可以将编码还原为明文字母。由于培根密码的编码规则是固定的,且密文与明文长度相等,它并不提供很高的安全性。破解者可以通过分析频率统计和模式识别等方法来猜测明文。
在这里插入图片描述
工具:培根密码解密_培根密码转换器-ME2在线工具

仿射密码

仿射密码是一种古老的替代密码,使用了一种线性变换来对字母进行加密和解密。它的原理是通过对字母进行数学运算来改变它们的位置。
在仿射密码中,每个字母被映射到一个新的字母,具体的映射规则是通过两个参数来确定的:乘法因子(a)和加法因子(b)。乘法因子(a)必须与字母表大小互质,以确保加密和解密的唯一性。加法因子(b)用于平移字母表中的位置。加密时,明文中的每个字母先被乘以乘法因子(a),然后加上加法因子(b)。最后,对结果取模字母表大小,以保持在字母表范围内。这样,明文中的每个字母都被转换为一个新的字母。解密时,接收方将密文中的每个字母通过逆向运算还原为明文。首先,对密文字母进行减法运算,减去加法因子(b)。然后,将结果与乘法因子(a)的乘法逆元相乘,并取模字母表大小。最后,得到的结果就是明文中的原始字母。仿射密码的优点是相对简单,并且提供了一定的保密性。然而,由于仿射密码的加密和解密规则是固定的,且密文与明文长度相等,它并不提供很高的安全性。破解者可以通过频率分析和其他密码分析技术来破解仿射密码。尽管如此,仿射密码在早期密码学中有一定的应用,它可以用于教学、学术研究或玩具密码。
例子:
假设我们选择的乘法因子(a)为3,加法因子(b)为5,并且使用英文字母表作为字母集。

  1. 明文:HELLO
  2. 将明文中的每个字母转换为对应的数值(A=0,B=1,…,Z=25):
  • H: 7
  • E: 4
  • L: 11
  • L: 11
  • O: 14
  1. 对每个字母应用仿射密码的加密公式:
  • 加密公式: E ( x ) = ( a x + b ) m o d    26 E(x) = (ax + b) \mod 26 E(x)=(ax+b)mod26
  • 加密过程:
    • H: ( 3 × 7 + 5 ) m o d    26 = 0 (3 \times 7 + 5) \mod 26 = 0 (3×7+5)mod26=0,对应字母:A
    • E: ( 3 × 4 + 5 ) m o d    26 = 17 (3 \times 4 + 5) \mod 26 = 17 (3×4+5)mod26=17,对应字母:R
    • L: ( 3 × 11 + 5 ) m o d    26 = 0 (3 \times 11 + 5) \mod 26 = 0 (3×11+5)mod26=0,对应字母:A
    • L: ( 3 × 11 + 5 ) m o d    26 = 0 (3 \times 11 + 5) \mod 26 = 0 (3×11+5)mod26=0,对应字母:A
    • O: ( 3 × 14 + 5 ) m o d    26 = 9 (3 \times 14 + 5) \mod 26 = 9 (3×14+5)mod26=9,对应字母:J
  1. 密文:A RAJ
    在以上示例中,我们使用了乘法因子(a)为3,加法因子(b)为5来进行仿射密码的加密过程。明文 “HELLO” 被加密为密文 “A RAJ”。我们对结果取模26,以确保结果仍在字母表的范围内。

工具:ctf在线工具-在线仿射密码加密|在线仿射密码解密

埃特巴什码

埃特巴什码(Atbash cipher)是一种简单的替换密码,它是通过将字母表中的字母与其在字母表中对称位置的字母进行替换来进行加密和解密的。
在埃特巴什码中,字母表的对应关系是通过字母的位置对称来确定。明文字母表中的第一个字母 A 与密文字母表中的最后一个字母 Z 对应,B 与 Y 对应,以此类推。
例:

  1. 明文:HELLO2. 将明文中的每个字母与其在字母表中对称位置的字母进行替换:
  • H 替换为 S
  • E 替换为 V
  • L 替换为 O
  • L 替换为 O
  • O 替换为 L
  1. 密文:SVOOO

工具:ctf在线工具-在线埃特巴什码加密|在线埃特巴什码解密

### 猪圈密码的特性 猪圈密码是一种基于几何图形的替代式加密方法,其主要特点是通过特定形状的网格来表示字母表中的字符。以下是该密码的主要特性和加密算法的特点: #### 1. 基于几何结构的设计 猪圈密码的核心在于使用两个或多个正方形或圆形网格作为基础设计[^1]。这些网格被划分为若干部分,每一部分对应英文字母表中的某个字母。 #### 2. 替代式的加密方式 这种密码属于简单的替代式加密技术,其中明文中的每个字母都被替换为相应的符号组合。尽管它采用了独特的符号体系,但由于缺乏复杂性,仍然容易受到频率分析攻击的影响。 #### 3. 符号系统的直观性 猪圈密码利用点、线以及位置关系构成的独特符号系统表达各个字母。这样的设计使得即便不熟悉具体规则的人也能较快掌握基本原理并用于手写交流场景之中。 #### 加密过程概述 在实际操作过程中, 用户会依据预定义好的模板将每一个待加密的文字映射到相应图案上完成转换工作。下面给出一段Python实现代码展示如何模拟这一过程: ```python def pigpen_cipher_encrypt(text): mapping = { 'a': "□", 'b': "□.", 'c': ".□", 'd': ".□.", 'e': "■", 'f': "■.", 'g': ".■", 'h': ".■.", 'i': "△", 'j': "△.", 'k': ".△", 'l': ".△.", 'm': "▽", 'n': "▽.", 'o': ".▽", 'p': ".▽.", 'q': "◇", 'r': "◇.", 's': ".◇", 't': ".◇.", 'u': "◆", 'v': "◆.", 'w': ".◆", 'x': ".◆.", 'y': "+", 'z': "+." } encrypted_text = "" for char in text.lower(): if char.isalpha(): encrypted_text += mapping[char] + " " elif char == " ": encrypted_text += "/ " # 使用斜杠分隔单词 return encrypted_text.strip() # 测试函数 print(pigpen_cipher_encrypt("hello world")) ``` 上述脚本提供了一个简化版的猪圈密码编码器,能够把输入字符串转化为对应的符号序列。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值