好用的解码工具
一些密码知识,详情见
buuctf misc
另外一个世界
拿到图片,以文本文档形式打开,发现有一段二进制码:01101011 01101111 01100101 01101011 01101010 00110011 01110011。
每8位分开,转化为10进制为:107 111 101 107 106 51 115。
在用ascii码转换为字母得:koekj3s.
crc碰撞
将压缩文件与python脚本放在一起,运行一下这个脚本
在output里可以得到一串base64加密的密文。
用上面网站解密,可以得到十六进制
zip 文件头 50 4B 03 04 0A 00 00 00
zip 文件尾 50 4B 05 06 00 00 00 00 + 其他字符
发现最后为zip文件尾,给它加上文件头,重新打开文件,得到flag。
RSA
rsa是一种能够非对称加密算法。
1.生成N
N=P * Q
P,Q为两个很大的质数,一般随机生成,若P,Q很小,则密文,明文的求解过程就会很容易。
2.求
= (P - 1) * (Q - 1)
3.e的求解
e与互质,gcd(, e) = 1.
4.求d
e*d mod =1
则密文c为
c mod N
明文m为
m mod N
超长正整数的分解
逆元
上述过程中d的求解:e*d mod =1,可以写为e * d 1 (mod ),形如这种形式,d可称为e的逆元,逆元的求解可以用费马小定理求解(费马小定理: 1(mod y),y 是一个质数,且y不能整除x),则d = mod
BUUCTF crypto
MD5
md5解密就行
一眼就解密
base64解密
Url编码
url解码就行
看我回旋踢
由 s到y计算出偏移量
摩丝
摩斯密码解密
password
flag为姓名首字母加生日
变异凯撒afZ_r9VYfScOeO_UL^RWUc
因为密文里含有_,^等符号,推测为ASCII码偏移,因为首位四个字母要为flag,则第一个偏移量为5,第二个偏移量为6,第三个偏移量为7,第四个偏移量为8,故第五个为9,以此类推
得到flag{Caesar_variation}。
Quoted-printable
直接解码
Rabbit
篱笆墙的影子
RSA
使用RSA—Tool 2工具可以解决。
丢失的MD5
打开发现是一个python文件,最后一行加上括号,运行,发现有错误。
提示字符串必须要经过编码。
Alice与Bob
先进行大整数分解:
大帝的密码武器
将文件后缀名改为zip,得到两个文件,根据其中的内容,推测为凯撒密码。
发现第十三行为有意义的单词,故偏移量为13,用13再对附件中文字加密,可得flag。
rsarsa
首先根据p,q,e,求出d.
e = 65537
p = 9648423029010515676590551740010426534945737639235739800643989352039852507298491399561035009163427050370107570733633350911691280297777160200625281665378483
q = 11874843837980297032092405848653656852760910154543380907650040190704283358909208578251063047732443992230647903887510065547947313543299303261986053486569407
n = p*q
C = 83208298995174604174773590298203639360540024871256126892889661345742403314929861939100492666605647316646576486526217457006376842280869728581726746401583705899941768214138742259689334840735633553053887641847651173776251820293087212885670180367406807406765923638973161375817392737747832762751690104423869019034
d = 56632047571190660567520341028861194862411428416862507034762587229995138605649836960220619903456392752115943299335385163216233744624623848874235303309636393446736347238627793022725260986466957974753004129210680401432377444984195145009801967391196615524488853620232925992387563270746297909112117451398527453977
#求明文
M = pow(C,d,n)
print(M)
运行求出明文,得到flag
Windows系统密码
md5解密一下ctf,即可得。
信息化时代的步伐
中文电码解密
凯撒?替换?呵呵!
凯撒密码实际上也是一种替换的关系简单替换密码
萌萌哒的八戒
仔细看图片下方有一段密文,是猪圈密码,解密可得flag ,注意小写。
传统知识+古典密码
根据六十甲子表,列出各个年份的数字。28 30 23 08 17 50 16 30
加上甲子,一甲子是60年,所以加上60得:88 90 83 68 77 70 76 90
对应ascii码表得:XZSDMFLZ,提交一下,发现不对,用栅栏密码试试。
发现也不太像flag,再试试凯撒密码,发现有一个像是拼音。