凯撒密码加密算法python_CTF中会用到的密码学基础(节选)

63e74978993117c4fb606f4f4e01eaa5.png

Hello,大家好,好耐冇见,我系初音

今天我们来学习一下关于CTF中会用到的部分密码学基础(很简单的那部分)

f44246c952308cb84de29fe3144d6efc.gif 01第一节、凯撒密码

91dd6677dc0ff309f8478cfbf0e51e31.png

在密码学中,凯撒密码(Caesar cipher),或称凯撒加密凯撒变换变换加密,是一种最简单且最广为人知的加密技术

它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文

下面举个小栗子

例如,当偏移量是左移1的时候(解密时的密钥就是1)

明文:ABCD f6625405b9cfb312f5030b374bfc51c2.png

然后我们将字母按字母表的顺序往右边移动三个字母即得密文

密文:BCDE f6625405b9cfb312f5030b374bfc51c2.png

那么如果我们得到了一个由凯撒密码加密的字符串,如何破解它呢?

1频率分析或者样式单词分析法

当我们拿到很长很长的一段密文字符串的时候,我们如果不确定这段文字是用了什么加密的,可以通过统计字符串中各字母出现的频率

然后对照典型目标语言书写的文字样本中各字母出现频率图(有可能目标语言是英语,也可能是法语等等)

3d2b869f46d1996798fda3e216f22698.png

2穷举法

或者还有一种简单暴力的方法,就是穷举

由于使用恺撒密码进行加密的语言一般都是字母文字系统,因此密码中可能是使用的偏移量也是有限的

例如使用26个字母的英语,它的偏移量最多就是25(思考:为什么是25?)

那么我们可以通过一些快速的脚本语言,列出25(假如一共有25种)不同偏移量的解密结果

然后就在里面找字句通顺的那个,就是答案了

凯撒密码很简单,下面我们来说说它的升级版,维吉尼亚密码

f44246c952308cb84de29fe3144d6efc.gif 02

第二节、维吉尼亚密码

e65bcc7ad37b0d6323bba76b4f78052e.png

维吉尼亚密码(又译维热纳尔密码)是使用一系列凯撒密码组成密码字母表的加密算法,属于多表密码的一种简单形式

维吉尼亚密码曾多次被发明。该方法最早记录在吉奥万·巴蒂斯塔·贝拉索( Giovan Battista Bellaso)于1553年所著的书《吉奥万·巴蒂斯塔·贝拉索先生的密码》中

然而,后来在19世纪时被误传为是法国外交官布莱斯·德·维吉尼亚(Blaise De Vigenère)所创造,因此现在被称为“维吉尼亚密码”

维吉尼亚密码以其简单易用而著称,同时初学者通常难以破解,因而又被称为“不可破译的密码”

c0480bc439376e49f4d41658b07683ff.png

纵向的坐标代表秘钥, 横向的坐标代表明文

下面还是举个小栗子

假如我们的明文是

明文:ABCDEFG

f6625405b9cfb312f5030b374bfc51c2.png

然后我们协商一个密钥为

密钥:HATSUNE

f6625405b9cfb312f5030b374bfc51c2.png

然后我们查找上面那个对照表(有点像两个X\Y坐标确定一个二维点)

最上面横轴刻度的那个A(明文刻度)和最左边纵轴刻度的H(密钥刻度)对应的是H,然后以此类推,B和A对应的是B,C和T对应的是V,D和S对应的是V,E和U对应的是Y,F和N对应的是S,G和E对应的是K

最后我们就可以得到密文

密文:HBVVYSK

f6625405b9cfb312f5030b374bfc51c2.png

解密的话也简单,我们知道了密文密钥密钥第一个字母H对应H行,然后在H行去找密文第一个字母H在哪里,找到H对应的是A列,于是明文就是A

那么如何破解呢?这个问题其实说复杂也复杂,说简单也简单,但是鉴于CTF种很少出现叫你破解维吉尼亚密码的

感兴趣的同学可以自己去研究研究

1卡西斯基试验

略(说不写就不写)

2弗里德曼试验

略(说不写就不写)

3频率分析

略(说不写就不写)

然后接下来怎么会少的了练习的题目呢

f44246c952308cb84de29fe3144d6efc.gif1题目一

小茗同学高中时候喜欢同桌的男神

有一天,上课时候,男神给她递来了一个小纸条(如下)

面对男神期待的笑容,小茗百思不得其解其内容

高考结束后,小茗考入某大学信息安全专业,几年之后小茗毕业了

突然有一天,上班的小茗莫名其妙大喊一声:我顶你个肺!

便晕了过去,请问为什么?

ukq pdkqcdp e swjpaz pk owu pdwp e hkra ukq, xqp e swjp pk owu, bqyg ukq!
f44246c952308cb84de29fe3144d6efc.gif2题目二

小茗晕了两分钟之后醒了,立马收东西请假闭关修炼

三天之后,通过她大舅的儿子的三外甥的同学的妈妈的姐姐要到了当年暗恋男神的微信号wxxuxuxu

加了男神之后立马给他发了一条微信(如下)

与此同时,当年的男神已经有了女朋友阿慈,此时正在床上努力给阿慈治疗失眠症

男神接到这个莫名其妙的好友申请和信息之后,百思不得其解,来到自己小书房里面思考了半天

出门一掌就拍晕了自己女朋友,请问为什么?

ulrl dcofbofykx xwprxfis zuhibx mityn if vbzlla dlcka qi Pexciukx. 3f77380a3b6d0e00d7085b569c6a7211.png

算出答案的可以在留言区留言

算出答案的可以在留言区留言

算出答案的可以在留言区留言

bba88c81fbd33949476e711901103bd8.gif

本文还没完

9ac0bc1e9b575933103ad2e3f2de30f0.gif6.18 5折大促


知识星球官方6.18 5折大促,<玄说-安全>等你加入

咨询请加qq:717532978

加入请扫描下方二维码

cdfd845099c14476a2debc69a3dfa1ec.png

我就知道你“在看” de5d390684a4a3575c8d9acb70028ae7.gif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值