16、古典密码的加密与破解技术

古典密码的加密与破解技术

1. 移位密码(Shift Ciphers)

移位密码是一种简单的加密方法,它通过对字母表进行移位来实现加密和解密。在这种方法中,我们引入了模 26 运算,确保在对数字进行加或减 k 操作后,将数字转换回字符时,结果会在字母表的开头或结尾“循环”。

1.1 加密与解密示例

以明文‘x’为例,其加密过程如下:
1. 使用 ORD('x') 将‘x’转换为数字 23。
2. 加上 k(这里 k = 3),得到 23 + 3 = 26,再对 26 取模 26,即 26 mod 26 = 0。
3. 使用 CHR(0) 将数字 0 转换回字符,得到结果‘a’。

对应的密文‘a’的解密过程如下:
1. 使用 ORD('a') 将‘a’转换为数字 0。
2. 减去 k(k = 3),得到 0 - 3 = -3,再对 -3 取模 26,即 -3 mod 26 = 23。
3. 使用 CHR(23) 将数字 23 转换回字符,得到结果‘x’。

可以将这种方法看作是生成新密码本的机制。与之前凯撒只有一个密码本不同,现在对于每个 k 值都可以生成一个新的密码本。而且,只有 k 需要保密,攻击者即使知道加密方法,没有 k 值也无法解密消息。更重要的是,我们可以为每条消息选择不同的 k,这样即使攻击者破解了一条消息的密钥,也不一定能知道另一条消息的密钥。

1.2 密码分析

虽然将初始的 3 位移位密码推广到了一般的 k 位版本,但

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值