吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1291|回复: 5
收起左侧

[求助] 这个函数怎么求逆运算,谢谢

[复制链接]
wgz001 发表于 2022-2-9 08:33
从一个软件分析中得到下面一个函数,伪代码如下
[C++] 纯文本查看 复制代码
RSA_POW_MOD(M,e,N)
{
        CONST = N-M;
        CONST2= N-2;   
        RSI =2;
        RDI =M;
        While(e>0)
        {
                if(e and 1 )
                {
                        RSI = (RSI*RDI+CONST)  MOD N;
                        RDI = (RDI*RDI+CONST2) MOD N;
                        e >>= 1;
                         
                
                }
                else
                {
                        RDI = (RSI*RDI+CONST)  MOD N;
                        RSI = (RSI*RSI+CONST2) MOD N;
                        e >>=1;
        }

        return RSI;

}

其中e=65537,只是用来保证循环的次数,已知RSI,e,N(N是一个大数),能不能求得M,谢谢

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

头像被屏蔽
qingshen2009 发表于 2022-2-9 09:38
提示: 该帖被管理员或版主屏蔽
y761110576 发表于 2022-2-9 12:26
本帖最后由 y761110576 于 2022-2-9 13:27 编辑

不一定对
从楼主中代码
             else {
                        RDI = (RSI*RDI+CONST)  MOD N;
                        RSI = (RSI*RSI+CONST2) MOD N;
                        e >>=1;
               }
可知RDI=(2*M+N-M)MOD N即RDI=M是不变的
  RSI=(2*2+N-2)MOD N即RSI=2也是不变的
  只需要分析if里面的内容
                        RSI = (RSI*RDI+CONST)  MOD N;
                        RDI = (RDI*RDI+CONST2) MOD N;
RSI=(2*M+N-M)MOD N=M
RDI=(M*M+N-2)MOD N用不到
知道最后的RSI就知道M了,当然这是有条件的即M<N
不小于的话,那可就不好算了

点评

谢谢您的回答 RSI和RDI都是变化的 要不您空了再看一下,这是一个有趣的话题  详情 回复 发表于 2022-2-9 12:54

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
wgz001 + 1 + 1 热心回复!

查看全部评分

 楼主| wgz001 发表于 2022-2-9 12:54
y761110576 发表于 2022-2-9 12:26
不一定对
从楼主中代码
             else {

谢谢您的回答
RSI和RDI都是变化的
要不您空了再看一下,这是一个有趣的话题
lizhirui 发表于 2022-2-10 10:10
这是带求余的快速幂算法,等价于result = M^e mod N,RSA算法的关键运算步骤,想求逆,你需要另一个参数d,明文就是M=result^d mod N,在rsa中,e和d分别是公钥和私钥(或者反过来),M是模数,理论上通过e和M可以推出d,也可以通过d和M推出e,但是,这个问题属于大质数分解难题,对于现在常用的RSA1024-4096来说,这个推导过程需要极大的计算量,是属于计算不可行问题。这也是RSA算法作为少见的非对称密钥算法被使用到今天,广泛用于证书认证和数字签名等领域的原因。

点评

谢谢,我再看一下  详情 回复 发表于 2022-2-10 10:15

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
wgz001 + 1 + 1 谢谢@Thanks!

查看全部评分

 楼主| wgz001 发表于 2022-2-10 10:15
lizhirui 发表于 2022-2-10 10:10
这是带求余的快速幂算法,等价于result = M^e mod N,RSA算法的关键运算步骤,想求逆,你需要另一个参数d, ...

谢谢,我再看一下
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 22:23

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表