首页
社区
课程
招聘
[原创]用RSA-Tools破解RSA-1024..
2021-12-18 02:09 9584

[原创]用RSA-Tools破解RSA-1024..

2021-12-18 02:09
9584

软件中有N E信息

假设:

原始N = 93AF7A8E3A6EB93D1B4D1FB7EC29299D2BC8F3CE5F84BFE88E47DDBDD5550C3CE3D2B16A2E2FBD0FBD919E8038BB05752EC92DD1498CB283AA087A93184F1DD9DD5D5DF7857322DFCD70890F814B58448071BBABB0FC8A7868B62EB29CC2664C8FE61DFBC5DB0EE8BF6ECF0B65250514576C4384582211896E5400000042FDED

E=0x13


可以试着一个字节一个字节的修改N,比如我测试到:

N1=:

93AF7A8E3A6EB93D1B4D1FB7EC29299D2BC8F3CE5F84BFE88E47DDBDD5550C3CE3D2B16A2E2FBD0FBD919E8038BB05752EC92DD1498CB283AA087A93184F1DD9DD5D5DF7857322DFCD70890F814B58448071BBABB0FC8A7868B62EB29CC2664C8FE61DFBC5DB0EE8BF6ECF0B65250514576C4384582211896E5478F96742FDED


E=0x13

1步:用RSATools2分解N得到:

PRIME FACTOR: 3

PRIME FACTOR: 313A7E2F68CF93145E6F0A92A40DB889B942FBEF752C3FF82F6D49E9F1C704144BF0E5CE0F653F053F308A2ABD93AC7C64EDB9F06DD990D68E02D3865D6FB49DF47474A7D72660F5447AD85A806E72C18025E9393AFED8D2CD920F90DEEB776EDAA209FE974904F83FCF9A5921B701B172796BD6C80B5B2DCF717DA877C0FF4F

直接计算出d:

d= 488C1845DDD3956162BE96515D8D7BBD7CCE80BF3369A1A3A43544812E68A7B21F122A3D24296A58930429EE24D99FDFBD287054D7C75C2EB65501D37C38D4471768401FC3CCC4C7C33BC592D836F9F4BCD98D97B541AB519ABC4CD57E687A1CA08301414ABC731CFFB8AD90D35E893B65549EEBAD89FFA1D363E199F3D90C73

或者用RDLP_v1.07.exe

或者用用Big Integer Calculator v1.14.exe计算:


φ(N)=(P-1)*(Q-1)

D = 1/E mod (φ(N))


φ(N)=(3-1)

(313A7E2F68CF93145E6F0A92A40DB889B942FBEF752C3FF82F6D49E9F1C704144BF0E5CE0F653F053F308A2ABD93AC7C64EDB9F06DD990D68E02D3865D6FB49DF47474A7D72660F5447AD85A806E72C18025E9393AFED8D2CD920F90DEEB776EDAA209FE974904F83FCF9A5921B701B172796BD6C80B5B2DCF717DA877C0FF4F-1)=

6274FC5ED19F2628BCDE1525481B71137285F7DEEA587FF05EDA93D3E38E082897E1CB9C1ECA7E0A7E6114557B2758F8C9DB73E0DBB321AD1C05A70CBADF693BE8E8E94FAE4CC1EA88F5B0B500DCE583004BD27275FDB1A59B241F21BDD6EEDDB54413FD2E9209F07F9F34B2436E0362E4F2D7AD9016B65B9EE2FB50EF81FE9C

2步:用大数计算器“Big Integer Calculator v1.14”的"Ans =Y/X MOD( Z)"功能:Y=1, X=e=0x13, Z=φ(N) 求私钥d;


d= 488C1845DDD3956162BE96515D8D7BBD7CCE80BF3369A1A3A43544812E68A7B21F122A3D24296A58930429EE24D99FDFBD287054D7C75C2EB65501D37C38D4471768401FC3CCC4C7C33BC592D836F9F4BCD98D97B541AB519ABC4CD57E687A1CA08301414ABC731CFFB8AD90D35E893B65549EEBAD89FFA1D363E199F3D90C73


这个d和N和E=0x13,进行加密解密测试验证,通过。




[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

最后于 2021-12-18 10:09 被glopen编辑 ,原因:
收藏
点赞1
打赏
分享
最新回复 (16)
雪    币: 2741
活跃值: (4523)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
guduzhe 2021-12-18 11:02
2
0
别的不看,就是你分解出一个3,这样的质数,你觉得谁加密谁会用,这叫破解的啥。
雪    币: 516
活跃值: (4479)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
glopen 2021-12-18 11:51
3
0
guduzhe 别的不看,就是你分解出一个3,这样的质数,你觉得谁加密谁会用,这叫破解的啥。

目的是补丁破解N,然后做出可用的注册机就行了…

最后于 2021-12-18 11:57 被glopen编辑 ,原因:
雪    币: 2741
活跃值: (4523)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
guduzhe 2021-12-18 13:52
4
0
直接指定keysize获取个KeyPair不快么,然后公私钥都有n,拿出来替换就行
雪    币: 516
活跃值: (4479)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
glopen 2021-12-18 14:32
5
0
guduzhe 直接指定keysize获取个KeyPair不快么,然后公私钥都有n,拿出来替换就行
目的是字节改动最小,只改一个字节
雪    币: 2741
活跃值: (4523)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
guduzhe 2021-12-18 20:03
6
0
如果文件有签名和校验的话,改一个字节也不行,如果没有,改几个不一样。保持key一样长就行,改一个字节意义不是太大,你去搜索匹配也是搜索完整的吧。
雪    币: 516
活跃值: (4479)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
glopen 2021-12-18 20:33
7
0
guduzhe 如果文件有签名和校验的话,改一个字节也不行,如果没有,改几个不一样。保持key一样长就行,改一个字节意义不是太大,你去搜索匹配也是搜索完整的吧。
是的,改一个字节也是改了
雪    币: 516
活跃值: (4479)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
glopen 2021-12-18 20:35
8
0

最近看见一个keygen,软件注册码生成是用的RSA算法,keypen的思路是替换软件中的N,E不变,然后用自已的N1、E和D1(私钥),生成注册码,通过验证:

注册机中的N1、E、D1信息如下:
E=0x13

N1=93AF7A8E3A6EB93D1B4D1FB7EC29299D2BC8F3CE5F84BFE88E47DDBDD5550C3CE3D2B16A2E2FBD0FBD919E8038BB05752EC92DD1498CB283AA087A93184F1DD9DD5D5DF7857322DFCD70890F814B58448071BBABB0FC8A7868B62EB29CC2664C8FE61DFBC5DB0EE8BF6ECF0B65250514576C4384582211896E5478F9CB42FDED

我用RSATOOL2工具尝试分解N1,发现这个N1居然是个质素(prime),也就是说N1不可能是P和Q的乘得到,这与RSA算法的原理违背的。

最后于 2021-12-19 23:18 被glopen编辑 ,原因:
雪    币: 13471
活跃值: (4803)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
tDasm 2021-12-18 20:55
9
0
glopen 最近看见一个keygen,软件注册码生成是用的RSA算法,keypen的思路是替换软件中的N,E不变,然后用自已的N1、E和D1(私钥),生成注册码,通过验证: 注册机中的N1、E、D1信息如下 ...

你到底破解没有?1024 RSA还没听说能破解。
N肯定是素数而且是二个素数相乘的结果,如果不能,别人能正常注册使用,说明你肯定搞错了你说的N1(提取错了)

最后于 2021-12-18 20:58 被tDasm编辑 ,原因:
雪    币: 516
活跃值: (4479)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
glopen 2021-12-18 22:02
10
0
tDasm glopen 最近看见一个keygen,软件注册码生成是用的RSA算法,keypen的思路是替换软件中的N,E不变,然后用自已的N1、E和D1(私 ...
N肯定不是素数吧,N1那个注册机,作者是提供了源码的,我好奇的是他那个N1是素数,就不可能是pq相乘的。搞不懂

我已经破解了,我也是替换了软件的N再算的注册码
雪    币: 3726
活跃值: (3733)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Mxixihaha 2021-12-18 22:08
11
0
glopen N肯定不是素数吧,N1那个注册机,作者是提供了源码的,我好奇的是他那个N1是素数,就不可能是pq相乘的。搞不懂 我已经破解了,我也是替换了软件的N再算的注册码
终究还是被你发现了. 其实早在几年前国外就有人发过了.
雪    币: 516
活跃值: (4479)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
glopen 2021-12-18 22:27
12
0
Mxixihaha 终究还是被你发现了. 其实早在几年前国外就有人发过了.
N是素数,就不可能分解出PQ阿,违背RSA理论了
雪    币: 516
活跃值: (4479)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
glopen 2021-12-18 23:59
13
0

终于搞明白了

最后于 2023-12-4 11:29 被glopen编辑 ,原因:
雪    币: 13471
活跃值: (4803)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
tDasm 2021-12-19 07:18
14
0
glopen N肯定不是素数吧,N1那个注册机,作者是提供了源码的,我好奇的是他那个N1是素数,就不可能是pq相乘的。搞不懂 我已经破解了,我也是替换了软件的N再算的注册码
你哪里破解了RSA?N分解出来才叫破解RSA,你替换N那叫破解注册机。
服了你语文怎么学的?
雪    币: 13471
活跃值: (4803)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
tDasm 2021-12-19 07:41
15
0
glopen 终于搞明白了,当N为素数时,RSA采用下面的公式计算私钥:φ(N)=N-1 D = 1/E mod (φ(N))如:E=13N=93AF7A8E3A6EB93D1B4D1FB7EC2 ...
N为素数,应该不是纯正RSA。
假RSA等于白送注册机。
雪    币: 516
活跃值: (4479)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
glopen 2021-12-19 13:08
16
0
tDasm N为素数,应该不是纯正RSA。 假RSA等于白送注册机。
确实是
雪    币: 4069
活跃值: (3052)
能力值: ( LV12,RANK:230 )
在线值:
发帖
回帖
粉丝
scz 5 2023-12-4 16:41
17
0
glopen N是素数,就不可能分解出PQ阿,违背RSA理论了
欧拉定理

若a、n>1都是正整数,且gcd(a,n)=1,则:

a^φ(n)≡1(mod n)
a^(φ(n)+1)≡a(mod n)

上述运算成立的充要条件里并未要求n为合数,RSA只是欧拉定理很小的一次应用。当n是单素数时,存在符合欧拉定理的情形。
游客
登录 | 注册 方可回帖
返回