CRYPTO1 rsa算法

rsa1

n为两素数q和p的乘积,e与(p-1)(q-1)互素,d为e的-1次方mod(q-1)(q-1),c为m的e次方modn,

解密公式为m=c的d次方modn

rsa算法的安全性在于其n为极大的数字且不可分解,其原理如下:

1.计算n

2.计算欧拉函数(q-1)(p-1)

3.选取e值,常见e有65537,3,17等

4.算出d

5.加密消息c,

ps:同时给出几组n时,即使n极大,也可以通过计算其最大公因数来计算q,p,若其中e极小,可以通过小指数攻击

CRYPTO2 凯撒密码

直接换位即可 ps:数字跟字母换位不同

CRYPTO3 维吉尼亚密码

对密文做字频分析,然后确定密码字数,通过词频分析得到密码,继而解密即可

CRYPTO4 hill密码

学好线代很重要 hill密码的wiki:https://en.wikipedia.org/wiki/Hill_cipher

CRYPTO5 cbc反转字节攻击

这是针对块密码学的一种攻击,这是块加密的wiki:https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation

这是cbc反转字节攻击的wiki: https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#CBC

                主要原理

CRYPTO6 padding oracle attack

也是对块加密的一种攻击方法,但是我还是不会做原理是从后面通过块加密得到iv,

先贴上大佬们的wp:http://heartsky.info/2017/02/06/HCTF-GAME-week3-writeup/ 研究研究

CRYPTO7 流密码加密

已知明文1,密文1,明文2三个数字异或得到明文2