无需登录 数据私有 本地保存

Playfair密码工具 - 双字母替换加密

14
0
0
0
✓ 已复制到剪贴板

Playfair 密码工具

双字母替换加密 · 5×5密钥矩阵 · 古典密码学经典

密钥中的字母将优先填入5×5矩阵(J自动视为I)
自动预处理:去除非字母、J→I、处理重复字母对
矩阵: 5×5 (25字母) I/J 合并
密钥矩阵(5×5 Key Square)
密钥字母 填充字母
加密结果
加密/解密步骤详情 0 组

执行加密或解密后查看详细步骤

常见问题 & 知识点

Playfair密码是一种双字母替换加密法,由查尔斯·惠斯通(Charles Wheatstone)于1854年发明,以莱昂·普莱费尔勋爵(Lord Playfair)的名字命名。它使用一个5×5的密钥矩阵(共25个字母,I和J合并为一个位置),将明文分成字母对进行加密。相比单字母替换密码,Playfair密码通过双字母组合大幅增加了破解难度,曾在布尔战争和第一次世界大战中被英军使用。

英文有26个字母,但Playfair密码使用5×5=25个格子。为了适配矩阵大小,历史上通常将I和J合并到同一个位置(因为I在英文中更常用,所以矩阵中标记为I,J视为I处理)。在解密时,如果遇到该位置的字母,需要根据上下文判断原文是I还是J。这是Playfair密码的一个小局限。

规则一(同行):若两个字母在矩阵的同一行,则各自替换为右侧字母(最右侧的字母替换为同行最左侧字母,循环)。
规则二(同列):若两个字母在矩阵的同一列,则各自替换为下方字母(最下方的字母替换为同列最上方字母,循环)。
规则三(对角线):若两个字母既不同行也不同列,则各自替换为对角线上的字母(保持各自的行不变,交换列坐标)。
解密时规则相反:同行取左、同列取上、对角线规则不变。

在分组时,如果一对字母相同(如"LL"),则在两个字母之间插入填充字符(通常为X),变成"LX"。如果明文长度为奇数,则在末尾添加X使其成为偶数长度。解密后,用户需要根据上下文移除这些填充的X。例如"BALLOON"→分组"BA LL OO N"→处理为"BA LX LO ON"再进行加密。

在现代密码学标准下,Playfair密码不再安全。它可以通过频率分析(双字母组合频率)和已知明文攻击来破解。现代计算机可以在毫秒级内暴力破解Playfair密码。但它作为古典密码学的经典案例,对于理解密码学基本概念(替换、混淆、密钥)非常有价值,常被用于密码学教学和谜题游戏。

一个好的Playfair密钥应该:①足够长(至少6-8个不同字母),以减少矩阵中被字母表顺序填充的部分;②包含多样化的字母,使密钥字母分散在矩阵中,增加混淆程度;③避免常见单词(因为攻击者会猜测常用密钥)。密钥中重复的字母会被自动去重,只保留首次出现。