CTF题库—实验吧(密码学)之Fair-Play

本文介绍了如何解决一个基于Fair-Play密码的CTF挑战。通过理解Playfair密码的加密算法,利用关键词'The quick brown fox jumps over the lazy dog!'构建5x5矩阵进行解密,最终得出解密后的明文,为'ctfx{playfairisfairplay}'。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

版权声明:如果对大家有帮助,大家可以自行转载的。原文链接:https://blog.youkuaiyun.com/qq_37992321/article/details/84586807
在这里插入图片描述
1.题目:
The quick brown fox jumps over the lazy dog!
ihxo{smzdodcikmodcismzd}

题目中有狐狸和狗,然后貌似没有这种密码吧,然后回头看看标题,我知道有一种playfair密码,那我们就去试试

2.我们首先要知道play fair密码:
算法
它依据一个55的正方形组成的密码表来编写,密码表里排列有25个字母。如果一种语言字母超过25个,可以去掉使用频率最少的一个。如,法语一般去掉w或k,德语则是把i和j合起来当成一个字母看待。英语中z使用最少,可以去掉它。
解密
Playfair解密算法首先将密钥填写在一个5
5的矩阵中(去Q留Z),矩阵中其它未用到的字母按顺序填在矩阵剩余位置中,根据替换矩阵由密文得到明文。
对密文解密规则如下:
1 若c1 c2在同一行,对应明文p1 p2分别是紧靠c1 c2 左端的字母。其中最后一列被看做是第一列的左方。
2 若c1 c2在同一列,对应明文p1 p2分别是紧靠c1 c2 上方的字母。其中最后一行被看做是第一行的上方。
3 若c1 c2不在同一行,不在同一列,则p1 p2是由c1 c2确定的矩形的其他两角的字母。
其实就是反其道而行之。

当然这只是其中的我们需要的一部分信息,其他的信息在百度百科都有的(

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

我是DJ—程序员

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

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

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

打赏作者

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

抵扣说明:

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

余额充值