首页
社区
课程
招聘
[讨论]关于RSA加密软件的算法
发表于: 2021-12-17 23:32 7367

[讨论]关于RSA加密软件的算法

2021-12-17 23:32
7367

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


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

E=0x13


N1=93AF7A8E3A6EB93D1B4D1FB7EC29299D2BC8F3CE5F84BFE88E47DDBDD5550C3CE3D2B16A2E2FBD0FBD919E8038BB05752EC92DD1498CB283AA087A93184F1DD9DD5D5DF7857322DFCD70890F814B58448071BBABB0FC8A7868B62EB29CC2664C8FE61DFBC5DB0EE8BF6ECF0B65250514576C4384582211896E5478F9CB42FDED


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


RSA算法原理:

 P = 1st large prime number

 Q =  2nd large prime number  (sizes of P and Q should not differ too much!)

 E = Public  Exponent (a random number  which must fulfil:

               GCD(E,  (P-1)*(Q-1))==1)

 N = Public Modulus, the product of P and Q: N=P*Q

 D = Private Exponent: D=E^(-1) mod ((P-1)*(Q-1))


加密:C = M^E mod N.

解密:M=C^D mod N.


参数信息如下图:


加密测试:


解密测试:

加密、解密测试通过。




[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2021-12-19 23:17 被glopen编辑 ,原因:
收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 4014
活跃值: (5665)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
这么厉害,1024位的因式分解被你破解了?
http://www.factordb.com/index.php?query=103708259528020238281968231491212855083623649579000552826541271154713103521021202133558709859463813691153402829135224007858959801854118729056356465578692294425903276554814675228955441044359462414007297799626945860003884709392298205606490444008955270902786809983042022666144385344717700223903132058763789532653


看状态是C,也就是未知,如果是P,才确定是素数。
2021-12-18 00:13
0
雪    币: 10707
活跃值: (7622)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
3
我用big integer calculate做素性测试显示非素数
2021-12-18 00:22
0
雪    币: 522
活跃值: (4826)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4

我再试一下



最后于 2021-12-18 02:56 被glopen编辑 ,原因:
2021-12-18 00:37
0
雪    币: 522
活跃值: (4826)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
bluefish蓝鱼 我用big integer calculate做素性测试显示非素数

2021-12-18 02:11
0
雪    币: 522
活跃值: (4826)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
bluefish蓝鱼 我用big integer calculate做素性测试显示非素数
开始的信息有误,我更正了
2021-12-18 02:56
0
雪    币: 4378
活跃值: (4368)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
N 和 N1 有几字节的差别啊.
00000000

CB42FDED

就不止一个字节啊.
2021-12-18 09:38
0
雪    币: 522
活跃值: (4826)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
Mxixihaha N 和 N1 有几字节的差别啊. 00000000 和 CB42FDED 就不止一个字节啊.
原信息处理了
2021-12-18 12:28
0
雪    币: 522
活跃值: (4826)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9

搞明白了,当N为素数时,RSA采用下面的公式计算私钥:

φ(N)=N-1 

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


最后于 2021-12-19 23:14 被glopen编辑 ,原因:
2021-12-18 23:58
0
游客
登录 | 注册 方可回帖
返回
//