抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

BlackBird的博客

这世界上所有的不利状况,都是当事者能力不足导致的

我的密码学是真的烂,,,唉~只能做一些简单题(数学太差

image-20201012091130231

我会做的

crypto入门指北

感谢shallow大佬送的学习资料~~

Stream

这个题目有点毒瘤,,,先贴加密脚本

import base64
flag = "XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
xor = ?
print(len(xor))
print(base64.b64encode(("".join([chr(ord(i)^ord(xor)) for i in list(flag)])).encode("ASCII")))
#1
#b'Og9hNAFrCjU9aQ4+C2psLzxpYRE6azw+FmphPgk2EjQBDyw+DWsKIQIPHiwAaBYoOx8wNBU2aGU='

一看xor就一位,爆破!!!

import base64
f = open("out2.txt","w",encoding="utf-8")
flag = b'Og9hNAFrCjU9aQ4+C2psLzxpYRE6azw+FmphPgk2EjQBDyw+DWsKIQIPHiwAaBYoOx8wNBU2aGU='
flag = base64.b64decode(flag)
f.write("\n————————————————开始爆破————————————————\n\n\n")
for i in range(0,128):
	f.write(str(i))	
	ans=""
	for j in flag:
		ans = ans + (chr(i^j))
	f.write(ans) 
	f.write("\n————————————————————分割线——————————————————————\n\n")

但为什么我觉得这个题目有点毒瘤,,,因为它解出来不是flag,而是flag的base64……最早真的没有想到这一点

image-20201012093208401

moectf{U_Kn0w_How_7o_Break_Stream_Ciphe2}

easycrypto

直接暴力搞:

from FLAG import flag

def enc(plain):
    cipher = []
    for i in plain:
        m = ord(i)
        cipher.append(5 * m ** 2 + 6 * m - 8)
    return cipher

print(enc(flag))


#[60051, 62263, 51603, 49591, 67968, 52624, 76375, 38359, 51603, 58960, 49591, 62263, 60051, 51603, 45687, 67968, 62263, 45687, 22839, 65656, 73923, 63384, 67968, 62263, 78867]


cnt=1
flag_en=[60051, 62263, 51603, 49591, 67968, 52624, 76375, 38359, 51603, 58960, 49591, 62263, 60051, 51603, 45687, 67968, 62263, 45687, 22839, 65656, 73923, 63384, 67968, 62263, 78867]
for i in flag_en:
	cnt+=1
	for j in range(48,130):
		if(5*j**2+6*j-8==i):
			print(chr(j),end='')
	#moectf{Welcome_to_Crypto}


rsa_begin

毕竟是第一题,工具直接搞就完了,贴一篇工具教程,直接一把梭。

image-20201012095243683

moectf{Ull_f1nd_RSA_1s_1nte2est1ng}

我没做出来的

静等官方wp

评论