携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第25天,点击查看活动详情
变异凯撒
加密密文:afZ_r9VYfScOeO_UL^RWUc
格式:flag{ }
a=1 f=6 位移=5,f=6 l=12 位移=6可以发现每一位的ASCII码比前一位多一,所以可以写个脚本。
key = 'afZ_r9VYfScOeO_UL^RWUc'
j = 5 #第一次位移为5,之后每位位移+1
for i in key:
print(chr(ord(i) + j), end='')
j += 1
得到flag
flag{Caesar_variation}
Quoted-printable
Quoted-printable可译为“可打印字符引用编码”,编码常用在电子邮件中,如:Content-Transfer-Encoding: quoted-printable ,它是MIME编码常见一种表示方法! 在邮件里面我们常需要用可打印的ASCII字符 (如字母、数字与"=")表示各种编码格式下的字符!
Quoted-printable将任何8-bit字节值可编码为3个字符:一个等号"="后跟随两个十六进制数字(0–9或A–F)表示该字节的数值。
下载附件得到加密字符串
=E9=82=A3=E4=BD=A0=E4=B9=9F=E5=BE=88=E6=A3=92=E5=93=A6
根据题目提示,符合Quoted-printable特征,我们直接找个解密网站
flag{那你也很棒哦}
Rabbit
Rabbit开头部分通常为U2FsdGVkX1,且可能需要密文,我们解密一下,发现不需要密钥
flag{Cute_Rabbit}
篱笆墙的影子
星星还是那颗星星哟 月亮还是那个月亮 山也还是那座山哟 梁也还是那道梁 碾子是碾子 缸是缸哟 爹是爹来娘是娘 麻油灯呵还吱吱响 点的还是那么丁点亮 哦哦
题目:felhaagv{ewtehtehfilnakgw}
判断是栅栏密码,我们选则number为2直接解密。
flag{wethinkwehavetheflag}
RSA
根据题目得知是RSA加密。两个文件一个flag.enc一个pub.key。其中key的内容为
-----BEGIN PUBLIC KEY-----
MDwwDQYJKoZIhvcNAQEBBQADKwAwKAIhAMAzLFxkrkcYL2wch21CM2kQVFpY9+7+
/AvKr1rzQczdAgMBAAE=
-----END PUBLIC KEY-----
openssl rsa -pubin -text -modulus -in warmup -in pub.pem
得到n,e再把n分解得到p,q。
import gmpy2
import rsa
p = 285960468890451637935629440372639283459
q = 304008741604601924494328155975272418463
e = 65537
n = 86934482296048119190666062003494800588905656017203025617216654058378322103517
d = gmpy2.invert(e,(q-1)*(p-1))
print(d)
d = 81176168860169991027846870170527607562179635470395365333547868786951080991441
key = rsa.PrivateKey(n, e, d, p, q)
print(key)
with open("flag.enc","rb") as f:
print(rsa.decrypt(f.read(), key).decode())
得到flag:
flag{decrypt_256}
RSA(1)
在一次RSA密钥对生成中,假设p=473398607161,q=4511491,e=17
求解出d作为flga提交
参数都告诉我们了,直接脚本解就可以了
import gmpy2
from Crypto.Util import number
p =
q =
e =
d = gmpy2.invert(e,(p-1)*(q-1))
print (d)
输入对应的值即可解出d
flag{125631357777427553}