前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >CTF中会用到的密码学基础(节选)

CTF中会用到的密码学基础(节选)

作者头像
用户1631416
发布于 2019-06-21 06:23:25
发布于 2019-06-21 06:23:25
1.6K00
代码可运行
举报
文章被收录于专栏:玄魂工作室玄魂工作室
运行总次数:0
代码可运行

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

题目一

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

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

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

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

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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.

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-06-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 玄魂工作室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
无平行文本照样破解密码,CipherGAN有望提升机器翻译水平
Root 编译整理 量子位 出品 | 公众号 QbitAI 有一位96年的少年,本科期间就进了微软、谷歌大脑实习。 不仅如此,他还参与了去年刷屏级论文Attention is All You Need的和One Model to Learn Them All的研究工作。 他,就是Aidan N. Gomez。 2月3号,Gomez作为一作和他在谷歌大脑的导师Kaiser往2018ICLR投的论文Unsupervised Cipher Cracking Using Discrete
量子位
2018/03/21
9540
无平行文本照样破解密码,CipherGAN有望提升机器翻译水平
工具|Vigenere的暴力破解
创作背景 之前参加了几次CTF比赛常常在Misc中遇到维吉尼亚密码破译的题目,大多是解出来了,但是痛点是都是手动分析进行解题,耽误了很多时间,最近想要解脱双手,潇洒解题~,于是广罗了各大比赛中维吉尼亚的解法,好多都是直接给出答案并未过多说明,解题思路和解题方法,于是诞生了本文,Thinking和大家聊聊的维吉尼亚密码破译,以及已收集到的一些解密脚本。 凯撒密码回顾 在说维吉尼亚密码前,首先复习下凯撒密码,大家都知道凯撒密码是比较简单的加密方式,仅仅将文中的每个字符位移相同的位移量(26个字母,所以位移数是-
漏斗社区
2018/03/28
12.9K115
工具|Vigenere的暴力破解
GitHub超2.7万星,最全Python入门算法来了
我们讨论机器学习的时候,其实很多时候都是在讨论算法。今天新智元向大家推荐一个好资源,用Python实现所有算法。该项目在Github上已经获得了超过2.7万星标,可以说非常受欢迎了。
新智元
2019/05/13
7190
GitHub超2.7万星,最全Python入门算法来了
密码发展史之古典密码
密码(Cryptology)是一种用来混淆的技术,它希望将正常的、可识别的信息转变为无法识别的信息。密码学是一个即古老又新兴的学科,密码学一词源自希腊文“krypto's”及“logos”两字,直译即为“隐藏”及“讯息”之意。 密码学是一门拥有几千年历史的学科。密码学的发展大概经历了三个阶段:古典密码阶段、近代密码阶段、现代密码阶段。下面我们一起了解古典密码阶段。 古典密码阶段是指从密码的产生到发展成为近代密码之间的这段时期密码的发展历史。我们从古代产生密码的各个国家和几个简单的古典密码体制等方面来认识一下
安智客
2018/02/24
1.8K0
密码发展史之古典密码
多表替换加密
Playfair密码依据一个5*5的正方形组成的密码表来编写,密码表里排列有25个字母。如果一种语言字母超过25个,可以去掉使用频率最少的一个。如,法语一般去掉w或k,德语则是把i和j合起来当成一个字母看待。英语中z使用最少,可以去掉它。
TomatoCool
2023/07/30
3680
多表替换加密
维吉尼亚密码及程序实现
凯撒加密 在密码学中,恺撒密码是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。这个加密方法是以恺撒的名字命名的,当年恺撒曾用此方法与其将军们进行联系。恺撒密码通常被作为其他更复杂的加密方法中的一个步骤。恺撒密码还在现代的ROT13系统中被应用。但是和所有的利用字母表进行替换的加密技术一样,凯撒密码的密度是很低的,只需简单地统计字频就可以破译。 凯
三丰SanFeng
2018/01/16
2K0
维吉尼亚密码及程序实现
CTF---密码学入门第七题 杯酒人生
杯酒人生分值:10 来源: Veneno 难度:易 参与人数:2633人 Get Flag:790人 答题人数:963人 解题通过率:82% 使用古典密码 一喵星人要想喵星发送一段不知道干什么用的密码“BLOCKCIPHERDESIGNPRINCIPLE”, 但是它忘记了密钥是什么, 手头(爪头)只有它自己加密过的密钥“HTRUZYJW”, 而且它 还知道原密钥是一个单词, 你可以帮助它传递信息, 早日攻克蓝星, 征服人类吗? 解题链接: 原题链接:http:/
Angel_Kitty
2018/04/10
1.2K0
CTF---密码学入门第七题 杯酒人生
密码学技术
在凯撒密码中,将字母平移这个操作就是密码的算法,而平移数量相当于密钥,在这个例子中密钥就是3
yichen
2020/01/02
5450
CTF&爬虫:掌握这些特征,一秒识别密文加密方式
爬虫工程师在做加密参数逆向的时候,经常会遇到各种各样的加密算法、编码、混淆,每个算法都有其对应的特征,对于一些较小的网站,往往直接引用这些官方算法,没有进行魔改等其他操作,这种情况下,如果我们能熟悉常见算法的特征,通过密文就能猜测出使用的哪种算法、编码、混淆,将会大大提高工作效率!在 CTF 中通常也会有密码类的题目,掌握一些常见密文特征也是 CTFer 们必备的技能!
K哥爬虫
2022/01/14
2.9K0
CTF&爬虫:掌握这些特征,一秒识别密文加密方式
单表替换加密
凯撒密码加密时将明文中的每个字母都按照其在字母表中的顺序向后(或向前)移动固定数目(循环移动)得到密文,解密时将密文中的每个字母都按照其在字母表中的顺序向前(或向后)移动固定数目(循环移动)得到明文。
TomatoCool
2023/07/30
3100
密码学实验报告
怎么说呢,我的同学们都在用C,就我在拿python写这东西,这一部分我以前用python完成过,2-1是经典单表替代密码,2-2是经典的凯撒密码,这都是很经典的密码术,前人的智慧,在这次写脚本解决的时候,都可以用暴力解决。
十二惊惶
2024/02/28
1690
几种简单的密码
一.摩斯密码,Morse code 一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、数字和标点符号。它发明于1837年,发明者有争议,是美国人塞缪尔·莫尔斯 (opens new window)或者艾尔菲德·维尔 (opens new window)。 摩尔斯电码是一种早期的数字化通信形式,但是它不同于现代只使用零和一两种状态的二进制代码,它的代码包括五种: 点、划、点和划之间的停顿、每个字符间短的停顿(在点和划之间)、每个词之间中等的停顿以及句子之间长的停顿。 字母
P轴
2022/11/18
1.1K0
密码的发展1
隐私权是所有人的一项根本权利,可是如何防止自己的信息被其他人窃取呢?想让信息不被拦截在互联网时代已经不可能了,我们要做的是让其他人即使拦截到了信息也不明白它传达了什么,这就是密码的作用。
Dylan Liu
2020/04/24
7310
密码的发展1
加密与安全_ 凯撒密码
凯撒密码是一种简单的替换加密技术,也称为移位密码。它是古典密码学中最早的密码之一,得名于古罗马军队领袖凯撒·尤利乌斯(Julius Caesar),据说他曾经使用过这种加密方法。
小小工匠
2024/05/26
2110
加密与安全_ 凯撒密码
CTF入门学习笔记——Crypto密码(古典密码)
🚀🚀凯撒密码算是古典密码里面非常有名的密码了,相传凯撒大帝曾经使用使用这种密码与下属沟通,所以命名为凯撒密码。其核心逻辑就是将英文字母进行规律替换,在当时那个时代无疑是一种好的加密方式,但是现在看来他是极易被破解的。我们可以也使用词频分析来分析破解(http://quipqiup.com)
小点点
2023/10/16
1.3K0
CTF入门学习笔记——Crypto密码(古典密码)
UK DN AS NN WG UX AA:这是一条加密推送!
大数据文摘出品 编译:毅航、JonyKai、小鱼 无论你是从敌后战线发送报文或在猫咪图片里隐藏信息,用密文传递秘密信息已经有数个世纪的历史了。 本文介绍了一些最令人惊叹的密码,跟着文摘菌一起来涨知识吧。 提示:文末有彩蛋哦! 在Mark Frary的新书《密码破译》(De/Cipher)中,介绍了历史上50个最有趣的密码和它们的破译者,包括从古希腊人到布莱切利公园的密码专家。 Mark Faray展示了这些密码的原理以及破译方法。但怎样的密码才能算有趣呢?下面是Mark Faray心目中的十佳密码。 De/
大数据文摘
2018/06/29
6270
《计算机系统与网络安全》 第四章 密码学基础
首先来看密码学概述。什么是密码学密码学的英文单词?Cryptology来自于两个希腊文单词,一个是accepts,一个是logos。分别的意思是隐藏信息,所以密码学主要就是用来隐藏信息的。密码学分为两个分支,photography、密码学、密码加密学,另外一个分支就是crypto analysis,密码分析学。
猫头虎
2024/04/08
2500
《计算机系统与网络安全》 第四章 密码学基础
CTF---密码学入门第四题 困在栅栏里的凯撒
困在栅栏里的凯撒分值:10 来源: 北邮天枢战队 难度:易 参与人数:4531人 Get Flag:2124人 答题人数:2285人 解题通过率:93% 小白发现了一段很6的字符:NlEyQd{seft} 解题链接: 原题链接:http://www.shiyanbar.com/ctf/1867 【解题报告】 这是我入门密码学开始写的第四道题,这道题有点意思,题目标题为困在栅栏里的凯撒,说明肯定是要用到栅栏密码和凯撒密码,所以我们先对这段字符进行暴力破解,这时我们可以用到一个工具,叫CTFCrackTo
Angel_Kitty
2018/04/10
1.6K0
CTF---密码学入门第四题 困在栅栏里的凯撒
密码学原理与实践笔记 - wuuconix's blog
移位密码。和凯撒密码原理类似。只不过移动的key不是3而可以是0~25中的任何值。所以Caesar Cipher是Shift Cipher的一种特例。
wuuconix
2023/03/13
9320
密码学原理与实践笔记 - wuuconix's blog
简单密码学总结1.0
摩尔斯电码由两种基本信号组成:短促的点信号“·”,读“滴”;保持一定时间的长信号“—”,读“嗒”。间隔时间:滴=1t,嗒=3t,滴嗒间=1t,字符间=3t,单词间=7t。
天钧
2019/07/26
1.8K0
简单密码学总结1.0
相关推荐
无平行文本照样破解密码,CipherGAN有望提升机器翻译水平
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文