BUUCTF密码题一

本文介绍了几个密码学问题的解决过程,包括凯撒密码的变异解密,猪圈密码的解析,以及使用gmpy2库进行RSA加密算法的参数dp,dq,p,q和c的解密操作。通过实例展示了密码学中的替换解密和模幂运算在实际问题中的应用。
摘要由CSDN通过智能技术生成

1、凯撒?替换?呵呵!

MTHJ{CUBCGXGUGXWREXIPOYAOEYFIGXWRXCHTKHFCOHCFDUCGTXZOHIXOEOWMEHZO}

变异凯撒,在线解密
解密网站
在这里插入图片描述结果
在这里插入图片描述

flag{substitutioncipherdecryptionisalwayseasyjustlikeapieceofcake}

2、萌萌哒的八戒

请添加图片描述
猪圈密码解密
猪圈密码
在这里插入图片描述结果:

3、传统知识+古典密码

天干地支解密
在这里插入图片描述
先栅栏

在这里插入图片描述

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

在这里插入图片描述

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))                     #十六进制转字符串

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

大佬真强,我还是太菜

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值