凯撒密码法、单表加密法和维吉尼亚密码法

01 凯撒密码法(Caesar cipher)

简易指数:★★★★★

简介:

凯撒密码就是最早由凯撒大帝使用的军事加密方法。对于一段写好的文字,把每个字母改写成字母表中比它靠后三位的字母即可。

比如原本是 A 的字母改写成 D,原本是 B 的字母改写成 E,具体的对照信息见下表:

明文字母表:ABCDEFGHIJKLMNOPQRSTUVWXYZ密文字母表:DEFGHIJKLMNOPQRSTUVWXYZABC

以下是一个例子:

明文:THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG密文:WKH TXLFN EURZQ IRA MXPSV RYHU WKH ODCB GRJ

当然,字母表的挪移位数可以是 1 到 25 中间的任何数,你可以选取一个对方喜欢的或有纪念意义的数字作为移位数。

适用条件:

凯撒密码极易被破解,但是足够简单,适合私密发送简短信息。

02 单表加密法(monoalphabetic cipher)

简易指数:★★★★✰

简介:

凯撒加密法是将字母表顺序平移,但实际上,密文字母表可以是没有任何顺序的,对方只需要知道明文和密文的对应关系即可,比如下面的对应关系:

明文字母表:ABCDEFGHIJKLMNOPQRSTUVWXYZ密文字母表:ZEBRASCDFGHIJKLMNOPQTUVWXY

以下是用上表对应关系加密的例子:

明文:flee at once. we are discovered!密文:SIAA ZQ LKBA. VA ZOA RFPBLUAOAR!

这种加密法不一定要把明文字母表和密文字母表的对应关系都列出来,我们可以定义一个钥匙词(keyword),把这个词放在密文字母表的最前面,再把其他字母按原有顺序排列。在上面的例子中,钥匙词就是 zebras。

如果是情侣间的通信,相比于凯撒密码只能定义一个数字作为密钥,单表加密法的钥匙词就可以更有意义。

适用条件:

单表加密法同样易被破解,适合私密发送简短信息。

03 维吉尼亚密码法(Vigenère Cipher)

简易指数:★★★

简介:

维吉尼亚密码法出现在单表加密算法已经被密码专家发现破解之道后,在一段时间里被称为「不可破译的密码」。加密/解密时,需要一个密钥和一个表格(维吉尼亚表格)进行对照:

程序员如何优雅地在七夕表白?

这个表格的每一行可以理解为上一行字母表向后移动一位的凯撒密码表。

假定明文为 ATTACKATDAWN,密钥是 LEMON,那么加密后的结果就是 LXFOPVEFRNHR:

明文:ATTACKATDAWN密钥:LEMONLEMONLE密文:LXFOPVEFRNHR

加密的方式是先将密钥重复展开,并与明文对应,密钥的第一个字母是 L,对应的明文为 A,则寻找 L 行 A 列对应的字母,结果为 L;密钥第二个字母为 E,对应的明文为 T,表格中 E 行 T 列的字母为 X,密文则为 X,其余加密以此类推。

解密的过程只要获取密钥后逆向找到字母对应的列名即可。同样的,维吉尼亚密码法需要设定一个密钥,情侣间的通讯可以让这个密钥更有意义。

适用条件:

相比于单表密码法,想要破解维吉尼亚密码需要更高的技巧,如果你周围没有学过相关课程或从事相关专业的人对你的隐私好奇,这种加密法相对更加安全。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小夕Coding

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值