凯撒密码

今天学习了凯撒密码,在这里写一些学习心得。

凯撒密码

  在密码学中,恺撒密码(英语:Caesar cipher),或称恺撒加密、恺撒变换、变换加密,是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。这个加密方法是以罗马共和时期恺撒的名字命名的,当年恺撒曾用此方法与其将军们进行联系
  简而言之,凯撒密码就是一种字母之间以设置好的偏移量进行偏移的加密方式。举个例子,把字符串abcdef进行位移3的加密后得到defghi

凯撒密码的应用

凯撒解码工具
接下来我将用具体的题目来讲解凯撒密码的应用

看我回旋踢

下载题目后得到synt{5pq1004q-86n5-46q8-o720-oro5on0417r1}
显然这是一个flag的格式,但开头是synt,于是我们联想到凯撒密码
将flag与synt进行对照
s在26位字母中是第19位,f是第6位,由于这里是解密,需要向前推算,所以偏移量为13
y是第25位,l为12位,偏移量也是13
所以我们将整个字符串放入解码器进行尝试:
在这里插入图片描述
得到flag。

##变异凯撒
题目信息:
在这里插入图片描述
flag对应afZ_,寻找明文和密文的规律
f-102 a-97 相差5
l-108 f-102 相差6
a-97 Z-90 相差7
g-103 _-95 相差8
可以看出每个字符的偏移量为n+4
所以依次算出各密文字符对应的明文字符求得明文为
flag{Caesar_variation}
此处可运用脚本进行运算:

str="afZ_r9VYfScOeO_UL^RWUc"
i =5
flag=""
for s in str:
    flag+=chr(ord(s)+i)
    i+=1
print(flag)

##凯撒?替换?呵呵!
题目信息:MTHJ{CUBCGXGUGXWREXIPOYAOEYFIGXWRXCHTKHFCOHCFDUCGTXZOHIXOEOWMEHZO}
这一题样式和第一题类似,但仔细分析后发现没有第一题的规律,于是我们可以利用工具爆破出所有的情况:
这里推荐一个十分好用的工具
凯撒爆破
(在这个工具里,如果不加条件,它会将所有可能的解密情况列出,善加利用对我们的解题十分有帮助)
由于我们需要 将MTHJ与flag对应,所以加入条件MTHJ=flag
在这里插入图片描述
得到的第一条经过去空格处理后就是我们要的flag: flag{substitutioncipherdecryptionisalwayseasyjustlikeapieceofcake}

结语

作为一个刚踏足密码学的小白,这是我的第一篇博客,也是我在密码学学习的起点。因为能力有限,如果文章中有出错的地方请读者多多包涵,也欢迎指出。在之后的时间,我会继续分享一些学习心得,同时也作为自己密码学习的记录。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值