CTF入门学习笔记——Crypto密码(古典密码)

文章目录

CTF入门学习笔记------Crypto密码(古典密码)

🚀🚀这篇笔记是我对自己初步学习CTF的一个小总结,主要涉及了Crypto板块的古典密码,这部分内容比较简单,利用一些工具加上观察分析一般都能解决,但是古典密码一般会和编码结合起来一起考察,所以此篇笔记主要起到一个分析总结的作用。

凯撒密码

🚀🚀凯撒密码算是古典密码里面非常有名的密码了,相传凯撒大帝曾经使用使用这种密码与下属沟通,所以命名为凯撒密码。其核心逻辑就是将英文字母进行规律替换,在当时那个时代无疑是一种好的加密方式,但是现在看来他是极易被破解的。我们可以也使用词频分析来分析破解(http://quipqiup.com

🚀🚀接下来我们来看一道例题:

看我回旋踢

🚀🚀题目:BUUCTF在线评测 (buuoj.cn)

🚀🚀我们下载附件,得到一个文本文件,如下所示:

synt{5pq1004q-86n5-46q8-o720-oro5on0417r1}

🚀🚀我们观察一下,很像我的的flag,但是字母有些不同,经过分析synt,得到这就是移位13的flag,所以我们使用在线工具,将位移设置成13,得到结果:

flag{5cd1004d-86a5-46d8-b720-beb5ba0417e1}


摩斯密码

🚀🚀摩斯密码我们大家也熟悉,就是我们的电报。他的核心特点就是有两种不同的元素(不一定是.-,还可能是01,AB之类的)和间隔(空格或者/),当我们看到上面特征时,就可以考虑摩斯密码了。

摩斯

🚀🚀题目:BUUCTF在线评测 (buuoj.cn)

🚀🚀打开附件得到一串点横,然后有空格隔开,大概率为摩斯密码。

... .-... --- ...- . -.-- --- ...-

🚀🚀解码结果如下所示:

ILOVEYOU


维吉尼亚密码

🚀🚀维吉尼亚密码 (又译维热纳尔密码)是使用一系列凯撒密码组成密码字母表的加密算法,属于多表密码的一种简单形式。可以用来防止词频攻击。

🚀🚀接下来我们看一道题目,来加强一下认知:

Vigenère

🚀🚀题目:[AFCTF 2018]Vigenère | NSSCTF

🚀🚀我们可以看到附件中有这样一串字母以及代码,明显就是我们需要的flag:

Zy daf sjle Wafyyo drvnvdrtv gh dif Crtl nrqfy boe zqm trtwjy kf gnnqr blhawas, ntm bhr gogojt ntm xalsgfn kf gnnqr fgnsleef.

luig vy cxwpf{Jnxwobuqg_O_Cogiqi!}

c 复制代码
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main()
{
	freopen("flag.txt","r",stdin);
	freopen("flag_encode.txt","w",stdout);
	char key[] = /*SADLY SAYING! Key is eaten by Monster!*/;
	int len = strlen(key);
	char ch;
	int index = 0;
	while((ch = getchar()) != EOF){
		if(ch>='a'&&ch<='z'){
			putchar((ch-'a'+key[index%len]-'a')%26+'a');
			++index;
		}else if(ch>='A'&&ch<='Z'){
			putchar((ch-'A'+key[index%len]-'a')%26+'A');
			++index;
		}else{
			putchar(ch);
		}
	}
	return 0;

🚀🚀分析代码可知是维吉尼亚密码,如果我们知道密钥,也就好解决了,但是目前没有给我们,所以我们采用暴力破解的办法(Vigenere Solver | guballa.de),最终能得到结果:

flag is afctf{Whooooooo_U_Gotcha!}

🚀🚀这便是我们需要的flag。


栅栏密码

🚀🚀栅栏密码就是把要加密的明文分成N个一组,然后把每组的第一位、第二位...分别提取出来拼接在一起。解密的话,就逆操作即可。

篱笆墙的影子

🚀🚀题目:BUUCTF在线评测 (buuoj.cn)

🚀🚀打开附件,得到如下信息:

felhaagv{ewtehtehfilnakgw}

🚀🚀我们简单分析一下前面8个字母,发现两个一组能拼出flag,所以应该是两个字母一组,可以自己分析,也可以利用工具](https://www.qqxiuzi.cn/bianma/zhalanmima.php)分析,结果如下所示。

flag{wethinkwehavetheflag}


栅栏密码

🚀🚀栅栏密码就是把要加密的明文分成N个一组,然后把每组的第一位、第二位...分别提取出来拼接在一起。解密的话,就逆操作即可。

篱笆墙的影子

🚀🚀题目:BUUCTF在线评测 (buuoj.cn)

🚀🚀打开附件,得到如下信息:

felhaagv{ewtehtehfilnakgw}

🚀🚀我们简单分析一下前面8个字母,发现两个一组能拼出flag,所以应该是两个字母一组,可以自己分析,也可以利用工具](https://www.qqxiuzi.cn/bianma/zhalanmima.php)分析,结果如下所示。

flag{wethinkwehavetheflag}


猪圈密码

🚀🚀猪圈密码(Pigpen cipher,亦称朱高密码、共济会密码)是一种以格子为基础的简单替代式密码。即使使用符号,也不会影[密码分析,亦可用在其它替代式的方法。

待补充

🚀🚀CTF中的古典密码远远不止这些,不够现在一般都是现代密码偏多。我会在接下来的学习中不断补充,同时也希望我能一直坚持下去。

相关推荐
記億揺晃着的那天6 分钟前
Claude Code 系统提示词里的安全底线:OWASP Top 10
安全·ai·ai编程·vibe coding·claude code
菜鸟的日志20 分钟前
【嵌入系统】嵌入式学习笔记(一)
windows·笔记·嵌入式硬件·学习·ubuntu·操作系统
暗夜猎手-大魔王39 分钟前
OpenCode提示词工程学习
学习
Slow菜鸟1 小时前
Docker 学习篇(七)| 实战 — 用 Docker 构建 SpringBoot + Vue 全栈项目
spring boot·学习·docker
南境十里·墨染春水1 小时前
linux 学习进展 网络编程 ——TCP 协议 TIME_WAIT 状态详解
linux·网络·学习
薛定e的猫咪1 小时前
(AAMAS 2023)基于广义策略改进优先级的高效多目标学习 GPI - LS/PD
人工智能·学习·机器学习
电子科技圈1 小时前
四大“门派”围攻边缘及端侧AI SoC市场“光明顶”
人工智能·嵌入式硬件·mcu·物联网·网络安全·音视频·语音识别
重明链迹实验室1 小时前
重明链迹丨每周区块链安全要闻(0427-0503)
安全·web3·区块链
百度安全2 小时前
HugeGraph 晋升 Apache 顶级项目 百度安全持续筑牢 AI 时代图数据基础设施
数据库·人工智能·安全·知识图谱
@杰克成2 小时前
Java学习22
java·python·学习·idea