首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RSA CTF制导

RSA CTF制导
EN

Cryptography用户
提问于 2020-04-20 16:37:08
回答 1查看 261关注 0票数 1

有一个很棒的基于密码学的ctf 站点,我已经读过了。有一个关于RSA的问题一直困扰着我一个多星期。

请不要告诉我答案,我只是在寻求指导。我真的很想自己解决这个问题,但我不知道从哪里开始。

问题陈述

您将获得一个公钥(e, N),其中e=3N很大。若要恢复标志,必须通过以下测试。注意:我更改了问题中的一些值

代码语言:javascript
复制
test(hex_msg):
    m = int(hex_msg, 16)
    v = long_to_bytes(pow(m, e, N))

    vote = v.split(b'\00')[-1]
    if vote == b'foobar':
        # Hooray (:     
    else:
        # Not hooray ):

我最初的想法是,也许v = (foobar)_{10}是一个立方体,所以v = m^3 = m^3 (N) 。不幸的是没有这样的运气。

我的第二个想法是尝试利用填充,尝试找到一些值p,例如(p || 00 || v)是一个立方体,然后提交它。我不知道如何找到一个值,列举p的可能值并不是很有成效。

我是在正确的轨道上,还是有明显的东西我错过了?

EN

回答 1

Cryptography用户

发布于 2020-04-20 17:07:46

我是在正确的轨道上,还是有明显的东西我错过了?

假设文本实际上不是'foobar',而是其他的东西,那么是的,您(很可能)在正确的轨道上,从某种意义上说,您想要利用填充(但是策略不是寻找p,而是寻找其他的东西.)

票数 1
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/80119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档