Crypto 基础知识-01
密码学分类:古典密码学 和 现代密码学
对于此该概念问题,可以在CTF.WIKI中找到,不再做过多阐述
一.编码
ASCll码
https://blog.csdn.net/jiayoudangdang/article/details/79828853
Base系列编码
1.base64编码
一种“二进制到文本”的编码方式,他能够将给定的任意二进制数据转换为ASCll字符串的形式
特征:以‘=’结尾(1个或者2个),密文长度为4的倍数
2.base16
替换表:0123456789ABCDEF
特征:16进制转换 密文中只包含0~9 A~F
3.base32
替换表:ABCDEFGHIJKLMNOPQRSTUVWXYZ234567
特征:一般密文中字母多于数字,且末尾有多个等号
4.base58
特征:结尾无等号
常见的有这些,base系列的还有很多,91,92,94这些,不常见的暂且不做赘述
Url编码
定义:若请求query 中包含中文,中文会被编码为 % + 16进制 + 16进制的形式
eg:
(编码前)https://www.baidu.com/s?wd=你好
(编码后)https://www.baidu.com/s?wd=你好
Hash
定义:Hash算法可以将一个数据转换为一个标志,这个标志和源数据的每一个字节都密切相关
特点:难找到逆向规律
优点:可以提高存储空间利用率,可以提高数据的查询效率,也可以做数字签名来保障数据传递的安全性
二.ROT系列
1.rot5
定义:比较简单的替换密码,rot5只能用于数字的替换
作用:将当前的这位数字往后移5位(范围0~9)
eg:
明文:123456
密文:678901
2.rot5
作用:只能用于字母的替换,将当前字母往后移动13个位置(不改变字母的大小写)范围是a-z或者A-Z
3.rot13
定义:将所有的字符向后移动13位就行了,但要保持大写和小写,其余其他字符不变
4.rot18
定义:18就是 13 + 5 的合成,所以是两者合起来的加密,即数字进行rot5加密,对字母进行 rot13 加密
5.rot47
定义:对数字和字母同时加密的方式,将每位数字或者字母的ASCll值往前移动47位,替换成新的ASCll值
三.古典密码
编码方法:置换 和 代换
1.凯撒密码
方式:对字母进行移位
2.摩斯密码
方式:用 '.' '-' 组成密文
3.栅栏密码
定义:把加密的明文分成 N 个一组,然后把每组的第一个字连起来,形成一段无规律的画
4.中文电码
定义:四位数字对应一个汉字
5.猪圈密码
定义:一种以格子为基础的简单替代式密码(即使使用符号,也不会影响密码分析)
6.仿射密码
原理:密钥(a,b)其中 a 与 26 互质
加密解密过程:为了能对密文进行解密,必须保证所选用的仿射函数是一个单射函数。换句话说,对任意的Y∈Z26
,如下同余方程:
ax+b≡y(mod26)
有唯一解。上述同余方程等价于
ax≡y-b(mod26)
字母表中的每个字母相应的值使用一个简单的数学函数对应一个数值,再把对应的值转换为字母
7.埃特巴什码
加密解密原理:使用字母表倒数第n个字母代替第n个字母
8.培根密码
原理:只有a,b两种字符组成长度为 5 的序列
9.棋盘密码
原理:需要借助 波利比奥方阵 来解决 (解密注意是先行后列)
10.希尔密码
原理:使用每个字母再字母表中的顺序作为其对应数字,再将明文转换为n维向量和一个n阶方阵相乘后 mod 26,最终将新的矩阵写成对应字母
11.维吉尼亚密码
原理:根据密钥来决定用哪一行密表来进行替换
12.Ook!密码
原理:就是一串Ook 数据让你眼花缭乱
13.JS加密
原理:一串类似于微表情的符号
14.JSFuck加密
原理:一堆括号,感叹号,加号
15.盲文
原理:用点点图像替换字母表
16.标准银河字母
原理:用奇怪的符号表示字母
17.当铺密码
原理:将中文和数字进行转化的密码
eg:当前汉字有多少笔画出头,就是转化为数字几(口 0;田 0;由 1;中 2)
18.跳舞的小人
19.海军手旗旗语
20.keyboard密码
原理:9键表就是通过九键上多次字母来进行字母提取,26键包含通过明文多个字符对应一个密文
21.云影密码(01248密码)
原理:将一个数字各位数字加起来之和得到的数字对应的字母就是密文(eg:123表示f)
22.曲路密码
原理:按照事先约定的原则把明文填入表中,再按照一定的顺序进行遍历
抽象密码:
1.核心价值观编码 http://www.hiencode.com/cvencode.html
2.尊嘟假嘟翻译 https://www.zdjd.asia/
3.与佛论禅 http://www.atoolbox.net/Tool.php?Id=1027
4.与熊论道 http://hi.pcmoe.net/
5.兽音译者 https://www.acy.moe/sy/
6.转链 http://hi.pcmoe.net/url.html
7.emoji-aes http://www.atoolbox.net/Tool.php?Id=937
其他编码:
1.中文电码
2.条形码
3.二维码
4.windows密码
原理:在windows中,Hash的结构通常如下:Username:RID:LM-Hash:NT-Hash(一般NT-Hash部分为密码)
5.压缩包伪加密
原理:ZIP为伪加密,一个ZIP文件由三个部分组成(压缩源文件数据区+压缩源文件目录区+压缩源文件目录结束标志)
6.伪加密原理
值得注意的是:zip伪加密是在文件头的加密标志位做修改,进而再打开文件时识别为加密压缩包(一般来说,文件各个区域的开头就是50 4B,然后后面两个字节是版本,再后面两个就是判断是否有加密的关键了)
现代密码
1.RSA
原理:单向函数正向求解简单,反向求解困难
学这个需要一些数学基础:
- 同余定理
- 逆元
- 欧拉函数
- Ruler-Fermat theorem
本文来自博客园,作者:Alaso_shuang,转载请注明原文链接:https://www.cnblogs.com/Alaso687/p/18296738