Hello,大家好,好耐冇见,我系初音
今天我们来学习一下关于CTF中会用到的部分密码学基础(很简单的那部分)
01
第一节、凯撒密码
在密码学中,凯撒密码(Caesar cipher),或称凯撒加密、凯撒变换、变换加密,是一种最简单且最广为人知的加密技术
它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文
下面举个小栗子
例如,当偏移量是左移1的时候(解密时的密钥就是1)
明文:ABCD
然后我们将字母按字母表的顺序往右边移动三个字母即得密文
密文:BCDE
那么如果我们得到了一个由凯撒密码加密的字符串,如何破解它呢?
1
频率分析或者样式单词分析法
当我们拿到很长很长的一段密文字符串的时候,我们如果不确定这段文字是用了什么加密的,可以通过统计字符串中各字母出现的频率
然后对照典型目标语言书写的文字样本中各字母出现频率图(有可能目标语言是英语,也可能是法语等等)
2
穷举法
或者还有一种简单暴力的方法,就是穷举
由于使用恺撒密码进行加密的语言一般都是字母文字系统,因此密码中可能是使用的偏移量也是有限的
例如使用26个字母的英语,它的偏移量最多就是25(思考:为什么是25?)
那么我们可以通过一些快速的脚本语言,列出25(假如一共有25种)不同偏移量的解密结果
然后就在里面找字句通顺的那个,就是答案了
凯撒密码很简单,下面我们来说说它的升级版,维吉尼亚密码
02
第二节、维吉尼亚密码
维吉尼亚密码(又译维热纳尔密码)是使用一系列凯撒密码组成密码字母表的加密算法,属于多表密码的一种简单形式
维吉尼亚密码曾多次被发明。该方法最早记录在吉奥万·巴蒂斯塔·贝拉索( Giovan Battista Bellaso)于1553年所著的书《吉奥万·巴蒂斯塔·贝拉索先生的密码》中
然而,后来在19世纪时被误传为是法国外交官布莱斯·德·维吉尼亚(Blaise De Vigenère)所创造,因此现在被称为“维吉尼亚密码”
维吉尼亚密码以其简单易用而著称,同时初学者通常难以破解,因而又被称为“不可破译的密码”
纵向的坐标代表秘钥, 横向的坐标代表明文
下面还是举个小栗子
假如我们的明文是
明文:ABCDEFG
然后我们协商一个密钥为
密钥:HATSUNE
然后我们查找上面那个对照表(有点像两个X\Y坐标确定一个二维点)
最上面横轴刻度的那个A(明文刻度)和最左边纵轴刻度的H(密钥刻度)对应的是H,然后以此类推,B和A对应的是B,C和T对应的是V,D和S对应的是V,E和U对应的是Y,F和N对应的是S,G和E对应的是K
最后我们就可以得到密文
密文:HBVVYSK
解密的话也简单,我们知道了密文和密钥,密钥第一个字母H对应H行,然后在H行去找密文第一个字母H在哪里,找到H对应的是A列,于是明文就是A
那么如何破解呢?这个问题其实说复杂也复杂,说简单也简单,但是鉴于CTF种很少出现叫你破解维吉尼亚密码的
感兴趣的同学可以自己去研究研究
1
卡西斯基试验
略(说不写就不写)
2
弗里德曼试验
略(说不写就不写)
3
频率分析
略(说不写就不写)
然后接下来怎么会少的了练习的题目呢
1
题目一
小茗同学高中时候喜欢同桌的男神
有一天,上课时候,男神给她递来了一个小纸条(如下)
面对男神期待的笑容,小茗百思不得其解其内容
高考结束后,小茗考入某大学信息安全专业,几年之后小茗毕业了
突然有一天,上班的小茗莫名其妙大喊一声:我顶你个肺!
便晕了过去,请问为什么?
ukq pdkqcdp e swjpaz pk owu pdwp e hkra ukq, xqp e swjp pk owu, bqyg ukq!
2
题目二
小茗晕了两分钟之后醒了,立马收东西请假闭关修炼
三天之后,通过她大舅的儿子的三外甥的同学的妈妈的姐姐要到了当年暗恋男神的微信号wxxuxuxu
加了男神之后立马给他发了一条微信(如下)
与此同时,当年的男神已经有了女朋友阿慈,此时正在床上努力给阿慈治疗失眠症
男神接到这个莫名其妙的好友申请和信息之后,百思不得其解,来到自己小书房里面思考了半天
出门一掌就拍晕了自己女朋友,请问为什么?
ulrl dcofbofykx xwprxfis zuhibx mityn if vbzlla dlcka qi Pexciukx.