CTF之密码学(费纳姆密码)

一、作为二进制替换密码的费纳姆密码

  1. 定义:费纳姆密码是一种由二进制产生的替换密码,也被称为弗纳姆密码(Vernam cipher)。它采用二进制表示法,将明文转化为二进制数字,并通过与密钥进行模2加法运算来产生密文。

  2. 加密方法:

    • 双方约定一个密钥,这个密钥可以是单词、词组、句子或几个字母等。
    • 将明文和密钥分别表示成二进制序列。
    • 将明文和密钥的二进制序列按位进行模2加法运算,得到密文。
  3. 解密方法:解密过程与加密过程相同,只是将明文和密文的位置调换一下,即使用相同的密钥对密文进行模2加法运算,得到明文。

  4. 特点:

    • 费纳姆密码是一种序列密码(流密码)的雏形,对失步敏感,只有保持两端精确同步才能正常工作。
    • 如果密钥串只使用一次,那么费纳姆密码就是一次一密密码,理论上具有不可破译性。

二、作为简单替换密码的费纳姆密码

  1. 定义:费纳姆密码也被解释为一种简单的替换密码,也被称为凯撒密码的变体。它是由爱尔兰独立组织费纳(Fenian)在19世纪使用的一种密码系统。

  2. 加密方法:

    • 双方约定一个固定的偏移量。
    • 将明文中的每个字母都向后移动这个固定的偏移量来得到密文。如果超出字母表的范围,则回到字母表的开头继续替换。
  3. 解密方法:使用相同的偏移量向前移动每个字母来还原明文。

  4. 特点:

    • 费纳姆密码是一种非常简单的替换密码,容易被破解。
    • 在现代密码学中,这种费纳姆密码已经不再被认为是一种安全的加密方法。
相关推荐
如夏倾城18 小时前
基于格的密码学
安全·密码学·量子计算·可信计算技术
print_Hyon1 天前
【CTF-CRYPTO-教学-XOR】第二节:只有密文没有任何线索,暴力破解
ctf
kingx33 天前
Bugku 真题 Vigenère XOR(UMDCTF 2022)WriteUp:汉明距离 + 逐列频率破重复密钥 XOR
ctf·bugku·汉明距离·维吉尼亚
lone wolf0073 天前
bugku web题文件包含2
ctf
hengdonghui6 天前
Writeup 4 Bugku - USB 流量截取
wireshark·ctf·流量分析·misc(杂项)
hengdonghui6 天前
Writeup 4 GFCTF 2021 Baby_Web
web·ctf·变量覆盖·路径穿越·php 代码审计
kingx36 天前
Bugku 逆向 MatrixHunter:黑盒 oracle + GF(2) 消元出唯一解
网络安全·矩阵·逆向·ctf
kingx37 天前
Bugku 3122 谷歌小恐龙题解:纯离线逆向 Vault 的 AES-GCM 加密资源(附 Python 解密器)
java·逆向·ctf·bugku·aes-gcm
kingx38 天前
Bugku 326 Baby-heap1 题解:glibc 2.23 堆溢出到 FSOP 劫持 _IO_list_all(附完整 exp)
pwn·ctf·glibc·堆溢出·fsop
hengdonghui8 天前
Writeup 4 0xGame 2021 · command (WEB)
web·ctf·rce(远程代码执行)