首页 > 其他分享 >BUUCTF---rsa_output

BUUCTF---rsa_output

时间:2024-07-01 09:08:40浏览次数:22  
标签:BUUCTF s2 s1 --- c2 output c1 e1 e2

题目

点击查看代码
{21058339337354287847534107544613605305015441090508924094198816691219103399526800112802416383088995253908857460266726925615826895303377801614829364034624475195859997943146305588315939130777450485196290766249612340054354622516207681542973756257677388091926549655162490873849955783768663029138647079874278240867932127196686258800146911620730706734103611833179733264096475286491988063990431085380499075005629807702406676707841324660971173253100956362528346684752959937473852630145893796056675793646430793578265418255919376323796044588559726703858429311784705245069845938316802681575653653770883615525735690306674635167111,2767}

{21058339337354287847534107544613605305015441090508924094198816691219103399526800112802416383088995253908857460266726925615826895303377801614829364034624475195859997943146305588315939130777450485196290766249612340054354622516207681542973756257677388091926549655162490873849955783768663029138647079874278240867932127196686258800146911620730706734103611833179733264096475286491988063990431085380499075005629807702406676707841324660971173253100956362528346684752959937473852630145893796056675793646430793578265418255919376323796044588559726703858429311784705245069845938316802681575653653770883615525735690306674635167111,3659}

message1=20152490165522401747723193966902181151098731763998057421967155300933719378216342043730801302534978403741086887969040721959533190058342762057359432663717825826365444996915469039056428416166173920958243044831404924113442512617599426876141184212121677500371236937127571802891321706587610393639446868836987170301813018218408886968263882123084155607494076330256934285171370758586535415136162861138898728910585138378884530819857478609791126971308624318454905992919405355751492789110009313138417265126117273710813843923143381276204802515910527468883224274829962479636527422350190210717694762908096944600267033351813929448599

message2=11298697323140988812057735324285908480504721454145796535014418738959035245600679947297874517818928181509081545027056523790022598233918011261011973196386395689371526774785582326121959186195586069851592467637819366624044133661016373360885158956955263645614345881350494012328275215821306955212788282617812686548883151066866149060363482958708364726982908798340182288702101023393839781427386537230459436512613047311585875068008210818996941460156589314135010438362447522428206884944952639826677247819066812706835773107059567082822312300721049827013660418610265189288840247186598145741724084351633508492707755206886202876227

解题

给出四串数字,两个是消息,前面两个发现有分隔,n相同,e不同
共模攻击,所以做出脚本运行,思路可以参照之前博客RSA3

点击查看代码
from gmpy2 import invert
import binascii


def gongmo(n, c1, c2, e1, e2):
  #欧几里得辗转相除
    def egcd(a, b):
        if b == 0:
            return a, 0
        else:
            x, y = egcd(b, a % b)
            return y, x - (a // b) * y

    s = egcd(e1, e2)
    s1 = s[0]
    s2 = s[1]

    # 求模反元素
    if s1 < 0:
        s1 = - s1
        c1 = invert(c1, n)  #因为负数指数在求模运算中需要转化为其正等效值
    elif s2 < 0:
        s2 = - s2
        c2 = invert(c2, n)
    m = pow(c1, s1, n) * pow(c2, s2, n) % n
    return m


n = 21058339337354287847534107544613605305015441090508924094198816691219103399526800112802416383088995253908857460266726925615826895303377801614829364034624475195859997943146305588315939130777450485196290766249612340054354622516207681542973756257677388091926549655162490873849955783768663029138647079874278240867932127196686258800146911620730706734103611833179733264096475286491988063990431085380499075005629807702406676707841324660971173253100956362528346684752959937473852630145893796056675793646430793578265418255919376323796044588559726703858429311784705245069845938316802681575653653770883615525735690306674635167111
e1 = 2767
e2 = 3659
c1 = 20152490165522401747723193966902181151098731763998057421967155300933719378216342043730801302534978403741086887969040721959533190058342762057359432663717825826365444996915469039056428416166173920958243044831404924113442512617599426876141184212121677500371236937127571802891321706587610393639446868836987170301813018218408886968263882123084155607494076330256934285171370758586535415136162861138898728910585138378884530819857478609791126971308624318454905992919405355751492789110009313138417265126117273710813843923143381276204802515910527468883224274829962479636527422350190210717694762908096944600267033351813929448599
c2 = 11298697323140988812057735324285908480504721454145796535014418738959035245600679947297874517818928181509081545027056523790022598233918011261011973196386395689371526774785582326121959186195586069851592467637819366624044133661016373360885158956955263645614345881350494012328275215821306955212788282617812686548883151066866149060363482958708364726982908798340182288702101023393839781427386537230459436512613047311585875068008210818996941460156589314135010438362447522428206884944952639826677247819066812706835773107059567082822312300721049827013660418610265189288840247186598145741724084351633508492707755206886202876227


result = gongmo(n, c1, c2, e1, e2)
print(result)

print(binascii.unhexlify(hex(result)[2:].strip("L")))#strip("L") 的作用是移除字符串中的字符 ‘L’。在某些旧版本的 Python 中,当使用 hex() 函数将一个整数转换为十六进制字符串时,可能会在字符串的末尾添加一个 ‘L’ 来表示长整数。

运行获取结果b'BJD{r3a_C0mmoN_moD@_4ttack}'

标签:BUUCTF,s2,s1,---,c2,output,c1,e1,e2
From: https://www.cnblogs.com/ttdb-huu/p/18277384

相关文章

  • sqli-labs基础篇(1-22)
    ‍less-1字符型判断是否存在sql注入​?id=1and1=1--+​​​​?id=1'and1=1--+​​​​?id=1'and1=2--+​​​说明存在sql注入,并且注入类型为字符型注入联合注入先判断列数​?id=1'orderby3--+​有回显​​​?id=1'order......
  • C语言--vs使用调试技巧
     1.什么是bug?1.产品说明书中规定要做的事情,而软件没有实现。2.产品说明书中规定不要做的事情,而软件确实现了。3.产品说明书中没有提到过的事情,而软件确实现了。4.产品说明书中没有提到但是必须要做的事情,软件确没有实现。5.软件很难理解,很难使用,速度超慢,测试人员站在......
  • 【AI 大模型】大模型应用架构 ( 业务架构 - AI Embedded、AI Copilot、AI Agent | 技
    文章目录一、大模型技术方向-大模型训练/大模型应用二、大模型应用-业务架构1、AIEmbedded模式2、AICopilot模式3、AIAgent模式三、大模型应用-技术架构1、提示词技术架构2、Agent+FunctionCalling技术架构3、RAG技术架构4、Fine-tuning微调技术......
  • 2000-2022年上市公司数字化转型与绿色创新质量匹配数据(含控制变量)
    2000-2022年上市公司数字化转型与绿色创新质量匹配数据(含控制变量)https://download.csdn.net/download/a519573917/89501000目录 上市公司数字化转型与绿色创新质量匹配的实证研究一、引言二、文献综述三、实证模型四、数据来源与描述性统计五、实证结果与分析六......
  • 2006-2020上市公司研发投入金额数据集
    2006-2020上市公司研发投入金额数据集https://download.csdn.net/download/a519573917/89501035目录上市公司研发投入与企业绩效的关系研究一、引言二、文献综述三、研究设计四、实证结果与分析(一)描述性统计分析(二)相关性分析(三)回归分析程序代码运行结果(四)稳健性......
  • Paper Reading: Genetic programming for multiple-feature construction on high-dim
    目录研究动机文章贡献预备知识本文方法MCIFC:一种多类无关的特征构建方法CDFC:一种多类相关特征构建方法实验结果数据集和实验设置多特征构造与单特征构造对比多树GP对比单树GPfilter对比混合方法类依赖对比类独立非GP对比基于GP的特征构建优点和创新点PaperReading是从......
  • C++文件路径处理3 - 判断指定目录的文件类型(文件夹|普通文件|软连接)
    1.关键词2.filetype.h3.filesystem.h4.filesystem_unix.cpp5.filesystem_win.cpp6.filepath.h7.filepath.cpp8.测试代码9.运行结果10.源码地址1.关键词关键词:C++文件路径处理文件夹普通文件软连接跨平台应用场景:根据指定的目录路径,判断该目录的文......
  • 《Programming from the Ground Up》阅读笔记:p1-p18
    《ProgrammingfromtheGroundUp》学习第1天,p1-18总结,总计18页。一、技术总结1.fetch-executecyclep9,TheCPUreadsininstructionsfrommemoryoneatatimeandexecutesthem.Thisisknownasthefetch-executecycle。2.general-purposevsspecial-purpose(......
  • SpringMVC-02-什么是SpringMVC
    1、概述SpringMVC是SpringFramework的Web开发部分,是基于Java实现MVC的轻量级Web框架。官方文档:https://docs.spring.io/spring-framework/docs/4.3.24.RELEASE/spring-framework-reference/html/中文官方文档:https://www.w3cschool.cn/spring_mvc_documentation_linesh_t......
  • Financial - 直接合约,基差合约,期差合约
    直接合约,基差合约,期差合约三个的区别如下:1、直接合约:直接合约是指即时交割的合约,买卖双方立即达成交易并履行合约。在外汇市场中,即时交割的外汇交易就是一种直接合约。直接合约没有期限限制,交割时间通常是T+0或稍晚。2、基差合约:基差合约是指衍生品合约与现货标的物之间的价格......