PolarD&N CTF—小心有F射

这是一个比较少见的密码类型,题目也并没有很难,只要找到对应的解密网站就能拿到flag。

查看题目文件是一个文本文件:

文件给了一串字符和密文,还有提示flag要转化为MD5形式

拿到这个文本的第一时间是没有思路的,因为确实是我没见过的密码,但是仔细观察第一行字符串很像公式,就搜索了一下,然后就搜索到了这个密码。

以下是这个密码的介绍:

仿射密码(Affine cipher)是一种表单替换密码,通过对字母数值进行简单的乘法和加法方程运算,而得到另一个与其对应的字母,从而进行加密; 仿射加密函数:F(x) = (ax + b) (mod m),其中a和b互质,m是字母的数量; 仿射解密函数:F(x) = a-1(x - b) (mod m),其中a-1是a在Zm群的乘法逆元,m是字母的数量。

仿射密码(Affine cipher)加密过程:
1、将纯文本字母表中的每个字母转换为0到m -1范围内的相应整数;
2、对每个字母数值进行如下算式计算(其中a和b是密码的密钥):
E(x)=(ax + b)mod m
3、即将纯文本字母的整数值乘以a,然后将b加到结果中,最后我们取模数m(也就是说,当解除以m时取余数,或者取掉字母的长度,直到得到小于该长度的数字)。

例如,让我们使用密钥a = 5,b = 8加密明文“AFFINE CIPHER”:
1、首先,我们必须找到明文字母表中每个字母的整数值(以字母表中的26个字母为例),如:
A  B  C  D  E  F  G  H  I  J   K   L    M   N   O   P    Q   R   S   T    U    V    W   X    Y    Z
0  1  2  3   4  5  6   7 8  9 10 11   12  13 14  15  16 17 18  19  20   21  22  23  24  25
2)找到的明文字母的整数值后,对这些值执行计算,在此例中,所需的计算为(5x + 8);
3)最后,我们必须确保所有答案均在mod 26中计算,并将整数转换回密文字母。
最后,得到的密文是“IHHWVC SWFRCP”。

仿射密码(Affine cipher)解密过程,使用解密F(x) = a-1(x - b) (mod m)进行计算,即可得到对应的解密后的原文。

仿射密码仍为单字母表密码, 其依旧保留了该类别加密之弱处,当a=1,仿射加密为凯撒密码,因该加密方程可简化为线性移动。 

通过了解该密码加密过程,找到对应解密网站,输入对应的密文密钥,就拿到了flag。 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值