BUUCTF密码题一

1、凯撒?替换?呵呵!

MTHJ{CUBCGXGUGXWREXIPOYAOEYFIGXWRXCHTKHFCOHCFDUCGTXZOHIXOEOWMEHZO}

变异凯撒,在线解密
解密网站
BUUCTF密码题一_第1张图片结果
在这里插入图片描述

flag{substitutioncipherdecryptionisalwayseasyjustlikeapieceofcake}

2、萌萌哒的八戒

BUUCTF密码题一_第2张图片
猪圈密码解密
猪圈密码
BUUCTF密码题一_第3张图片结果:

3、传统知识+古典密码

天干地支解密
BUUCTF密码题一_第4张图片
先栅栏

BUUCTF密码题一_第5张图片

再凯撒,密钥为5的时候,得到SHUANGYU

BUUCTF密码题一_第6张图片

4、RSA1

题目

在这里插入图片描述给了四个数据,怎么和常规的RSA不一样,dp,dq是啥?不会做,只能百度了

解密脚本

import gmpy2
 
p =8637633767257008567099653486541091171320491509433615447539162437911244175885667806398411790524083553445158113502227745206205327690939504032994699902053229 
q = 12640674973996472769176047937170883420927050821480010581593137135372473880595613737337630629752577346147039284030082593490776630572584959954205336880228469 
dq = 783472263673553449019532580386470672380574033551303889137911760438881683674556098098256795673512201963002175438762767516968043599582527539160811120550041
dp = 6500795702216834621109042351193261530650043841056252930930949663358625016881832840728066026150264693076109354874099841380454881716097778307268116910582929
c = 24722305403887382073567316467649080662631552905960229399079107995602154418176056335800638887527614164073530437657085079676157350205351945222989351316076486573599576041978339872265925062764318536089007310270278526159678937431903862892400747915525118983959970607934142974736675784325993445942031372107342103852
n = p * q
 
I = gmpy2.invert(p, q)                      #I为p(mod q)的逆元,即p*I = 1(mod q)
mp = gmpy2.powmod(c, dp, p)                 #计算mp = c^dp % p
mq = gmpy2.powmod(c, dq, q)                 #计算mq = c^dq % q        
 
m = (mp + (I * (mq - mp)) * p) % n          #明文求解公式
m = hex(m)[2:]                              #转十六进制数据
print(bytes.fromhex(m))                     #十六进制转字符串

运行结果
在这里插入图片描述
参考博客

大佬真强,我还是太菜

结束语:路漫漫其修远兮,多做题,多学习,才能慢慢进步!

你可能感兴趣的:(CTF,BUUCTF刷题记录,密码学,CTF)