一、整理学过的加密方式
因为之前有看过《密码的故事》这本书,对普通的加密手段有一定的了解。
1.凯撒加密:
通过简单的整体位移实现的加密手段,比如整体位移1,使得所有的A变成B,C变成D进行加密。
2.栅栏加密:
将整个明文分成多组,然后依次取每组第一个字符,然后每组第二个字符……进行的加密。
3.培根加密:
每个字母对应一种由a和b组成的5个字符长度的东西。如下,大写字母就把后面对应的形式换成小写。
a AAAAA g AABBA n ABBAA t BAABA
b AAAAB h AABBB o ABBAB u-v BAABB
c AAABA i-j ABAAA p ABBBA w BABAA
d AAABB k ABAAB q ABBBB x BABAB
e AABAA l ABABA r BAAAA y BABBA
f AABAB m ABABB s BAAAB z BABBB
4.Vigenere密码:
需要一个关键词,然后不断重复,一一对应明文,关键词字母和对应的明文字母两个字母对应表中的字母(图片来自Vigenere密码_JumpFly_W的博客-优快云博客_vigenere密码)

5.摩斯密码:
类似于上面的培根密码,也是一个字母对应一种形式。如下图(图片来自百度)

6.base64加密:
运用ASCII码值,二进制位,索引等操作进行的加密,相对上面几个较为复杂,特点是加密的结果末尾一般带有等号(因为要进行补位)
7.RSA非对称加密:
主要由两个大质数,公钥,私钥组成。其加密思想基于:将两个大质数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。当然现在量子计算机对其产生了较大威胁。
8.Jother加密:
是一种运用于javascript语言中利用少量字符构造精简的匿名函数方法对于字符串进行的编码方式。其中8个少量字符包括:! + ( ) [ ] { }。只用这些字符就能完成对任意字符串的编码
二、ctf五道题
1.easyrsa6

可以看出p和q非常接近,可以用yafu分解n

这里我把yafu添加进环境变量方便以后使用

然后进行求解

算出了p和q的值,接下来就直接带公式求解就可以了

2.密码学签到
一看就知道反过来输入
flag{ctf.show}
3.crypto2

上面说过的Jother加密,直接用浏览器的控制台就可以解出来。

4.crypto4

算就行了
5.crypto5

解就完事了

被折叠的 条评论
为什么被折叠?



