本文主要是介绍攻防世界-新手练习crypto2,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
首先我们进入题目
打开附件1得到字符串:
oknqdbqmoq{kag_tmhq_xqmdzqp_omqemd_qzodkbfuaz}
密码构成:由小写字母,{},_,没有大写字母,推测为恺撒密码
在密码学中,恺撒密码(英语:Caesar cipher),或称恺撒加密、恺撒变换、变换加密,是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。
根据偏移量的不同,还存在若干特定的恺撒密码名称:
偏移量为10:Avocat(A→K)
偏移量为13:ROT13
偏移量为-5:Cassis (K 6)
偏移量为-6:Cassette (K 7)
恺撒密码的替换方法是通过排列明文和密文字母表,密文字母表示通过将明文字母表向左或向右移动一个固定数目的位置。例如,当偏移量是左移3的时候(解密时的密钥就是3):
明文字母表:ABCDEFGHIJKLMNOPQRSTUVWXYZ ;
密文字母表:DEFGHIJKLMNOPQRSTUVWXYZABC。
使用时,加密者查找明文字母表中需要加密的消息中的每一个字母所在位置,并且写下密文字母表中对应的字母。需要解密的人则根据事先已知的密钥反过来操作,得到原来的明文。例如:
明文:THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG ;
密文:WKH TXLFN EURZQ IRA MXPSV RYHU WKH ODCB GRJ。
找到在线解密器,将从附件中提取出来的字符串进行解密,因为我们知道凯撒密码是通过位移字母的位置来实现加密的,所以字母C与字母O之间相差12位,因此我们可以通过解密12位或者加密14位来得到flag:
所以这道题的flag就是:
cyberpeace{you_have_learned_caesar_encryption}
这篇关于攻防世界-新手练习crypto2的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!