首页
社区
课程
招聘
[求助]利用BigInt Calc1.2 计算器 DSA算法中私钥X是怎么算出来的
发表于: 2011-2-18 10:36 8223

[求助]利用BigInt Calc1.2 计算器 DSA算法中私钥X是怎么算出来的

2011-2-18 10:36
8223
这个是看雪论坛上一篇文章
标 题:DSA算法的理论,实现,以及在破解中的应用(一) (4千字)
发信人:娃娃[CCG]  [发短消息]
时 间:2003-08-12 12:27:21
详细信息:

DSA算法的理论,实现,以及在破解中的应用
原文不做全部引用了,只将这其中的关键部分列出:

// 至此 我们得到了DSA的四个公匙:
P = AE2CCC8E5956DE7898143649944108EEFCA2C7EF909012BB
G = 8DFC33DF82EDEFF56ABD1AE161BE17FBC1F403D5DF133106
Y = AA0D6424AD93D695435A3A09FAAFD5358620D37223EEAF39
Q = A7DD75045151

接下来轮到 BigInt Calc1.2 出场了,它可以很方便的使用表达式辅助计算,方便速度快
最重要的是CCG成员编写的 当然要大力推荐一下咯,具体用法参考说明文件,我就不多说了

根据 Y = G^X mod P 得到:X =  40A6C8A2464A891E99DDBFCFC967BAFD4BAFA67B3ECEDC43

本人求助,这个 X是怎么使用BigInt Calc1.2计算出来的,望明白的朋友告诉详细步骤?

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 433
活跃值: (45)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
试试PARI代码吧,也可用MATHEMATICS

H(x,g, s) = s=g; for(n=1,znorder(g),if(x==s, return(n), s=s*g)); 0;
? H(18,Mod(5,23))
%6 = 12
? H(20,Mod(5,23))
%7 = 5

把对应数换上就OK,不过可能要算一年半载!?!我算了它文里CRACKERME#4的79位的368624370336150382836561都等不急,减到50位也不行。。。。

下了感到BIGint不友好,象夏普计算器。。。。文档就最后那一个例子,可我们21世纪的人要新工具
上传的附件:
2011-2-22 20:21
0
雪    币: 433
活跃值: (45)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
觉的BigInt Calc1得花数年。。。

把BigInt Calc1和ECCTOOLS再传上来,不知为何,主页上没有了。别的站有
上传的附件:
2011-2-22 20:27
0
雪    币: 62
活跃值: (27)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
这就是离散对数问题。不过,P-1的素数分解直接影响求解难度,P-1若能分解成较多(较小)素数的幂积的话,会比较容易求解,具体方法比较复杂,如果有有限交换群分解的知识,会容易理解点。
2011-2-25 18:48
0
雪    币: 433
活跃值: (45)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
在MAPLE上看看

> index(41696704918290981501768282072847\
> 76989010151046910451822393,34814661529\
> 89800111201974224682033569110641383479\
> 283233030,4270758482012793668746242066981501955116983159626304328379);
memory used=53.8MB, alloc=43.9MB, time=1.23
memory used=92.0MB, alloc=43.9MB, time=2.11
memory used=130.1MB, alloc=43.9MB, time=2.97

memory used=4838.3MB, alloc=69.7MB, time=114.66
memory used=4876.4MB, alloc=69.7MB, time=115.55

memory used=9302.0MB, alloc=69.7MB, time=217.05

memory used=14795.2MB, alloc=69.7MB, time=360.97

memory used=22233.9MB, alloc=69.7MB, time=557.84

memory used=33214.1MB, alloc=101.7MB, time=851.64

memory used=46336.7MB, alloc=101.7MB, time=1213.91

memory used=72086.0MB, alloc=101.7MB, time=1934.06
memory used=72124.1MB, alloc=101.7MB, time=1935.09
。。。。。。。。。。。。。。。。。

明天不知行不行。。。。
娃娃[CCG引用的http://docs.webmx.fr/Securite%20reseaux%20et%20Cracking/shmeitcorp/6/Crack%20XVIII/pDrill3/solucekgmedrill3.html的小点的数:

  index(368624370336150382836561,217453\
512678253980654092,856210455808897477316603);

memory used=46801.7MB, alloc=64.6MB, time=1348.09
memory used=46839.8MB, alloc=64.6MB, time=1349.12
                           299376145767585197811667(D)

那法国的还真对。。。。

=3F6536A02CD18F3B67D3(H)
2011-2-28 19:45
0
雪    币: 433
活跃值: (45)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
无意中发现P = AE2CCC8E5956DE7898143649944108EEFCA2C7EF909012BB =4270758482012793668746242066981501955116983159626304328379

是NIST 推荐的ECC中的P-192。。。。明年也没戏啊。。。。

Factorization(2^192-2^64-1);
Factorization(2^192-2^64-2);

[ <6277101735386680763835789423207666416083908700390324961279, 1> ]
[ <2, 1>, <59, 1>, <149309, 1>, <11393611, 1>, <108341181769254293, 1>,
<288626509448065367648032903, 1> ]

memory used=102024.8MB, alloc=128.4MB, time=2732.08
memory used=102062.9MB, alloc=128.4MB, time=2733.06
memory used=102101.1MB, alloc=128.4MB, time=2734.08
memory used=102139.2MB, alloc=128.4MB, time=2735.08
memory used=102177.4MB, alloc=128.4MB, time=2736.09
memory used=102215.5MB, alloc=128.4MB, time=2737.11
memory used=102253.6MB, alloc=128.4MB, time=2738.13
。。。。。。。。。。。。。。。

还没OVERFLOW。。。
2011-2-28 20:11
0
雪    币: 433
活跃值: (45)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
X=1585250141131541931598626946823341394255706600825785605187;

Modexp(3481466152989800111201974224682033569110641383479283233030, 1585250141131541931598626946823341394255706600825785605187, 4270758482012793668746242066981501955116983159626304328379);

4169670491829098150176828207284776989010151046910451822393

那个X是对的

那个计算器验证都不行,更别提反求对数了,作者可能是用别的工具算的,就象POWERMOD,Modexp之类的,找到P192,先算出X,反把Y,G贴前面,给人感觉P192类的DSA强素数都能被那个计算器求对数解

高次幂模是多项式时间问题,别说57位,57000位也用MAPLE之类能算,

反求对数57位模的在个人PC上用INDEX我试了15小时也没出来
DSA强素数反求对数全世界素数专家蹂躪多年了,

作者是个爱面子的人,不过他没想想那法国人用的数小多了

贴张图
上传的附件:
2011-3-1 20:33
0
雪    币: 433
活跃值: (45)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
modp(3481466152989800111201974224682033569110641383479283233030^1585250141131541931598626946823341394255706600825785605187, 4270758482012793668746242066981501955116983159626304328379);

Error, numeric exception: overflow

mlog(4169670491829098150176828207284776989010151046910451822393,348146615298\
98001112019742246820335691106413834792\
83233030,4270758482012793668746242066981501955116983159626304328379);

===================

========================

p:=4270758482012793668746201955116983159626304328379;
Factorisation (p);

K := GF(p);
K;
b :=K!3481466152924682033569110641383479283233030 ;
b;
a:=K!416967049128207284776989010151046910451822393;
a;

m := K!Log (b, a);
m;
m1:=0x40A6C8A2464A891E99DDBFCFC967BAFD4BAFA67B3ECEDC43 ;
m1;
2011-3-2 16:13
0
游客
登录 | 注册 方可回帖
返回
//