密码学寒假第二周
目前了解到的密码小结
特征以及找到的解密网站
摩斯密码
特点:用两种符号(划和点)表示字元
网站:http://www.zhongguosou.com/zonghe/moErSiCodeConverter.aspx
凯撒密码
特点:字母偏移
网站:凯撒密码在线加密解密 - 千千秀字 (qqxiuzi.cn)
Vigenere密码(维吉尼亚)
特点:使用一系列凯撒密码组成密码字母表的加密算法,反复使用密钥
了解到可以使用查表进行加密,更加直观,顺便帮助理解了原理
网站:CTF在线工具-在线维吉尼亚密码加密|在线维吉尼亚解密|维吉尼亚密码算法|Vigenere Cipher (hiencode.com)
维吉尼亚密码在线转换-ME2在线工具 (metools.info)
博福特密码
类似于维吉尼亚密码
网站:CTF在线工具-在线博福特密码加密|在线博福特密码解密|博福特密码算法|Beaufort Cipher (hiencode.com)
栅栏密码
特点:分组,取第一个字符
网站:CTF在线工具-在线栅栏密码加密|在线栅栏密码解密|栅栏密码算法|Railfence Cipher (hiencode.com)
ROT编码
ROT5:数字编码,向前数第五个数字替换
ROT13:字母编码,向前数第十三个字母替换
ROT18:ROT5和ROT13的组合
ROT47:数字,字母,常用符号编码,他们的ASCII码值向前数第四十七个
网站:ROT5、ROT13、ROT18、ROT47位移编码 (qqxiuzi.cn)
培根密码
特点:用五个字符组成的序列替换明文
网站:CTF在线工具-在线培根密码加密|在线培根密码解密|培根密码算法|Baconian Cipher (hiencode.com)
曲路密码
特点:密钥为曲路路径
猪圈密码
特点:简单的替代密码
网站:猪圈密码解密-ME2在线工具 (metools.info)
四方密码
特点:字母,矩阵加密
网站:CTF在线工具-在线四方密码加密|在线四方密码解密|四方密码算法|Foursquare Cipher (hiencode.com)
RSA
网站:http://www.factordb.com/index.php
RSA加密-RSA解密-在线RSA加密解密工具-我就查查询 (wjccx.com)
在线RSA公钥加密解密、RSA public key encryption and decryption–查错网 (chacuo.net)
base系列
加密解密 - 加密解密工具 第1页 - 一个工具箱 - 好用的在线工具都在这里! (atoolbox.net)http://base64.wjccx.com/)
ctf-show
BJD2020—Polybius
题目给出了密文和hint(提示)
提示中有特殊符号“=”,或许是base64加密的结果,利用网站解一下。
得到提示是:The length of this plaintext: 14
接下来没啥头绪,上网搜索到本题题目polybius是棋盘密码
Polybius(波利比奥斯方阵密码)
特点:查表加密,明文为字符,密文即为字符在密码表中对应的横纵坐标。
解密网站:波利比奥斯方阵密码加密/解密 - 一个工具箱 - 好用的在线工具都在这里! (atoolbox.net)
import itertools
s="aeoiu"
ciper="ouauuuoooeeaaiaeauieuooeeiea"
sumresult=[]
numsumresult=[]
for i in itertools.permutations(s,5):#找出所有全排列
sumresult.append("".join(i))
for i in sumresult:
temp=""
for j in ciper:
temp+=str(i.index(j)+1)
numsumresult.append(temp)
for i in numsumresult:
flag=""
for j in range(0, len(i),2):
xx=(int(i[j])-1)*5+int(i[j+1])+96
if xx>ord('i'):
xx+=1
flag+=chr(xx)
print(flag)
crypto6
题目说密钥为加密方式名称,区分大小写。
密文为
U2FsdGVkX19mGsGlfI3nciNVpWZZRqZO2PYjJ1ZQuRqoiknyHSWeQv8ol0uRZP94
MqeD2xz+
网上看了wp
U2FsdGVkX1开头的可能是rabbit,AES,DES
所以密钥就是Rabbit
特点:(1)由26个大小写英文字母,=,=,/组成
(2)U2FsdGVkX1开头
(3)可能以=结尾
rabbit在线加解密,rabbit加密在线解密,在线rabbit加密解密工具 - 在线工具-wetools.com微工具
crypto7
Ook编码
特点:密文由Ook组成
网站:[Brainfuck/Ook! Obfuscation/Encoding splitbrain.org]
crypto8
brainfuck编码
特点:由[]±<>.组成
网站:[Brainfuck/Ook! Obfuscation/Encoding splitbrain.org]
crypto10
Quoted-printable编码(可打印字符引用编码)
特点:一个等号”=”后跟随两个十六进制数字(0–9或A–F)
网站:Quoted-printable编码|Quoted-printable解码|Quoted-printable编码原理介绍–查错网 (chacuo.net)
了解离散数学代数系统
图解密码技术
第三章 对称密码(相同密钥加解密)
编码:将现实世界的东西映射为比特序列(由0和1排列而成),转化为编码的过程不是加密
XOR运算(异或):类似于加法运算,可以联想棋子翻转。比特序列的异或运算:上下一对一,不进位。同一个比特序列进行两次XOR回到原始状态。
绝对无法被破译(无法判断得到的明文是否正确)的一次性密码本:将明文与一串随机的比特序列(随机生成的密钥)进行XOR运算。
DES(分组密码的一种)加密需要迭代反复,迭代的具体方式为模式。
加密过程:
进行很多次轮(加密的各个步骤)的循环
每一轮需要不同的子密钥(局部密钥)
核心是轮函数作用是根据“右侧”和子密钥生成对“左侧”进行加密的比特序列。
3DES
将DES重复三次
解密过程就是将加密过程反转
AES
DES和AES都属于分组密码
第四章 分组密码的模式
主要模式有ECB/CBC/CFB/OFB/CTR
ECB:明文分组加密直接得到了密文分组,分组一一对应
CBC:避免ECB的弱点。将明文分组与前一个密文分组进行XOR运算,再加密。就不是像ECB一样一一对应的关系喽。
加密第一个明文分组时,用到了初始化向量IV(一个长度为一个分组的比特序列)
一个分组损坏最多只会有两个分组收到影响。
CFB:流程图直观多了
可以将CFB模式看作一种使用分组密码来实现流密码的方式(不太理解,标记一下)
OFB:看流程图
CTR:计算器的生成方法,用分组密码模拟生成随机的比特序列。
CTR和OFB一样属于流密码。
流密码:对数据流进行连续处理的一类密码算法
图片截自《图解密码技术》