首页
社区
课程
招聘
[讨论]有人研究过用GPU做大数因式分解的课题吗?
发表于: 2009-12-3 00:06 31323

[讨论]有人研究过用GPU做大数因式分解的课题吗?

2009-12-3 00:06
31323

如题,用CUDA以及ATI的开发工具都可以,请问速度能否大幅提高呢? 不知单卡破512bit是否足够快


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

收藏
免费 7
支持
分享
最新回复 (31)
雪    币: 1022
活跃值: (31)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
『密码学小组』 有过讨论,
个人认为,如果不设计新的分解算法的话,速度很难提高。
因为筛法要求较高的通讯量且运算复杂。
2009-12-3 00:23
0
雪    币: 328
活跃值: (34)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
『密码学小组』的讨论,哪里才能看到呢?
请问是否有并行的筛法理论和实现呢? 多谢啦~~
2009-12-22 10:42
0
雪    币: 232
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
说是讨论其实是LS版主发的一篇论文,不过大家都被这篇论文吓着了,看目录都觉得很吓人...
大整数因子分解问题的研究

(一篇武汉大学的硕士学位论文)
         目 录

文摘
英文文摘
郑重声明
引 言
第一章传统大整数因子分解法

1.1试除法
1.2 Pollard p-1方法
1.3 Pollard ρ方法
1.4椭圆曲线法
1.5 Fermat方法

第二章基于分解基的大整数因子分解法

2.1 M.Kraitchik因子分解法
2.2分解基算法
2.3连分数分解法
2.4二次筛法
2.5数域筛法

第三章IFP优化问题

3.1二次筛法优化

3.1.1算法选择
3.1.2参数选择
3.1.3过程控制
3.1.4硬件选取

3.2数域筛法优化

第四章IFP相关问题讨论

4.1 RSA密码系统
4.2 RSA问题
4.3 RSA问题的推广
4.4 RSA数的研究
4.5 BBS伪随机数生成器
4.6 Rabin-Williams密码系统
4.7离散对数问题(DLP)
4.8椭圆曲线离散对数问题(ECDLP)
4.9椭圆曲线密码系统(ECC)

结束语
参考文献
致 谢


这个太高深了,有兴趣你可以搜一份论文下来看看...
2009-12-22 10:54
0
雪    币: 2096
活跃值: (100)
能力值: (RANK:420 )
在线值:
发帖
回帖
粉丝
5
據我所知道的,密碼學版目前沒人真正有在研究這個議題。
不過如 lingyu 版主所說,密碼學版的密碼小組,前一陣子有一起討論這個問題。
主要的任務分為三小組,均由各組組長所帶領;理論組主要負責算法,實踐組主要負責編程,行政組主要負責資料的蒐集等,各組也會互相支援。
目前所需要的硬體還沒到位,等企業捐助所需的硬體之後,就可以正式進行這方面的研究,現階段還處於紙上談兵的階段。

只有密碼學小組的成員才會看見密碼學小組的討論內容,非小組成員是看不見這個討論帖。

這方面資訊還要再找找,目前沒辦法很精確的回答這個問題。
2009-12-22 21:48
0
雪    币: 328
活跃值: (34)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
明白了, 期待我的加入申请能够顺利通过~
如果企业不捐赠,咱们自己搞也是可以的,我这边有显卡,我想很多人应该也有G80以上的GPU。也有一批搞cuda(或ATI stream)的朋友,硬件和算法移植问题不大。
难就难在并行筛法,搜索空间如何分配等等。这是关键问题
2009-12-23 12:38
0
雪    币: 2096
活跃值: (100)
能力值: (RANK:420 )
在线值:
发帖
回帖
粉丝
7
如果真有那個興趣(希望不是兩三分鐘的熱度),請向密碼學版信息實踐組 deryope 及 cykerr 兩位組長連繫,他們有做這方面的初期研究工作。

這個問題,lingyu 版主及一些專家會負責這部分。
2009-12-23 13:06
0
雪    币: 328
活跃值: (34)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
明白版主的意思,我是搞解密工程的,做过一些项目,有一些经验。有些学科交叉的项目,需要统筹调配,这个过程中会遇到各种各样的问题。希望咱们版的同仁能够联手弄出更多原创的研究成果和工程实现,提高自己,造福大家。

我还是等我们这波申请批准下来后再参与大家的讨论,遵守规矩~   另外如果需要的话,我可以下载IEEE以及万方、斯普林格等数据库的资源,支持小组的研究
2009-12-23 13:43
0
雪    币: 2096
活跃值: (100)
能力值: (RANK:420 )
在线值:
发帖
回帖
粉丝
9
我建議可以向一鴻zhaoxinjie 他們這些人都研究水準很高,你若有問題,我建議可以請教他們幾位。
另外,沒加入密碼學小組,與參與 GPU Project 這個是獨立相關的問題,並不衝突。


先謝謝你熱心的幫忙,以後版上有人需要論文時,請你熱心提供。
2009-12-23 14:28
0
雪    币: 232
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
10
我也觉得效率的好坏在于算法。
CUDA虽然能一定程度上提升计算性能,不过如果不是用的NV的Tesla,对于那种天文数字般的计算量还是难以承受的。
目前还只能熟悉下CUDA的环境,对算法的改进还要等高人分析分析再说
2009-12-23 17:36
0
雪    币: 2096
活跃值: (100)
能力值: (RANK:420 )
在线值:
发帖
回帖
粉丝
11
請 madsys 大大幫忙下載 http://www.springerlink.com/content/j6838p2588754610/?p=c526ffae22a944fd964f6716d2ff2165&pi=10 謝謝。

Parallel LDPC Decoding on GPUs Using a Stream-Based Computing Approach
Gabriel Falcão1 , Shinichi Yamagiwa2 , Vitor Silva1  and Leonel Sousa2, 3

(1)  Department of Electrical and Computer Engineering, University of Coimbra, Instituto de Telecomunicações Polo II - Universidade de Coimbra, 3030-290 Coimbra, Portugal
(2)  INESC-ID, Technical University of Lisbon, Rua Alves Redol n.9, 1000-029 Lisboa, Portugal
(3)  Department of Electrical and Computer Engineering, IST, Technical University of Lisbon, Rua Alves Redol n.9, 1000-029 Lisboa, Portugal

Received: 8 July 2008  Revised: 20 May 2009  Published online: 28 September 2009

Abstract  Low-Density Parity-Check (LDPC) codes are powerful error correcting codes adopted by recent communication standards. LDPC decoders are based on belief propagation algorithms, which make use of a Tanner graph and very intensive message-passing computation, and usually require hardware-based dedicated solutions. With the exponential increase of the computational power of commodity graphics processing units (GPUs), new opportunities have arisen to develop general purpose processing on GPUs. This paper proposes the use of GPUs for implementing flexible and programmable LDPC decoders. A new stream-based approach is proposed, based on compact data structures to represent the Tanner graph. It is shown that such a challenging application for stream-based computing, because of irregular memory access patterns, memory bandwidth and recursive flow control constraints, can be efficiently implemented on GPUs. The proposal was experimentally evaluated by programming LDPC decoders on GPUs using the Caravela platform, a generic interface tool for managing the kernels' execution regardless of the GPU manufacturer and operating system. Moreover, to relatively assess the obtained results, we have also implemented LDPC decoders on general purpose processors with Streaming Single Instruction Multiple Data (SIMD) Extensions. Experimental results show that the solution proposed here efficiently decodes several codewords simultaneously, reducing the processing time by one order of magnitude.
Keywords  data-parallel computing - graphics processing unit (GPU) - Caravela - low-density parity-check (LDPC) code - error correcting code

This work was partially supported by the Portuguese Foundation for Science and Technology, through the FEDER program, and also under Grant No. SFRH/BD/37495/2007.
2009-12-24 11:00
0
雪    币: 232
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
12
Parallel LDPC Decoding on GPUs Using a Stream-Based Computing Approach
这个好像Google就能下到,不用刻意去花$34...
上传的附件:
2009-12-24 11:33
0
雪    币: 328
活跃值: (34)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
哈,能钩到就好,以后有钩不到的,我来下

转2篇文章
Optimization of Primality Testing Methods by GPU Evolutionary Search
GPU-Accelerated Montgomery Exponentiation (不是用cuda的)
上传的附件:
2009-12-24 15:18
0
雪    币: 328
活跃值: (34)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
二次筛法已经可以做到并行化,这给GPU实现提供了理论支持。
但是对于移植到GPU,还有一个问题就是现有的针对GPU的编程架构,没有可用的大数库,这也是个关键问题。
可以先针对常见整数范围(U32,U64)做算法,如果都测试通过,再弄大数库。
2009-12-24 17:06
0
雪    币: 232
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
15
嗯,你说的这个方法也可以考虑,先做U32范围内的计算。
GPU上的大数计算我来想办法,实再不行我打算把libtommath移植到CUDA上,这个库比GNU MP简单些,而且没有类似于GPL这样的License。
2009-12-25 08:38
0
雪    币: 3
活跃值: (374)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
16
msieve已经在做gpu计算加速的支持了,但是目前仍然有很多问题
http://mersenneforum.org/showthread.php?t=12562
http://www.boo.net/~jasonp/msieve144_gpu.zip

Unfortunately, anytime third party hardware and software is involved, the setup is a little complicated. To get this to work you will need:

- a CUDA-compliant Nvidia graphics card

- the latest CUDA drivers (version 2.3 for now)

- both files in the above zip file
2009-12-25 09:03
0
雪    币: 2096
活跃值: (100)
能力值: (RANK:420 )
在线值:
发帖
回帖
粉丝
17
The msieve144_gpu.exe does not work.
上传的附件:
2009-12-25 09:14
0
雪    币: 232
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
18
感谢提供资料。正愁没有并行大数乘法的资料,这个可以参考下 看样子他们也刚开始往CUDA上移植,1.43中都还没有cuda的代码。
1.44代码还未正式发布,需要Nvidia's CUDA runtime (version 2.3),rockinuk版主那个错误可能是cuda版本过低引起的。传份svn上拖的源码到本地
上传的附件:
2009-12-25 09:43
0
雪    币: 67
活跃值: (30)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
大整数因子分解问题的研究》
可以分享一下吗?谢谢。
2009-12-25 17:32
0
雪    币: 602
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
听课 很深奥啊
2010-3-16 17:35
0
雪    币: 58
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
这样也行!
2010-5-20 21:58
0
雪    币: 331
活跃值: (56)
能力值: ( LV13,RANK:410 )
在线值:
发帖
回帖
粉丝
22
我来打酱油.
我还是等量子计算机吧.
2010-7-20 23:57
0
雪    币: 11705
活跃值: (975)
能力值: ( LV12,RANK:779 )
在线值:
发帖
回帖
粉丝
23
采用gnfs,天然支持lattice -seive。分布式易于操作。
我已经分解了7个512 bits大数, 1个541 bits大数。 获得了翔实的第一手数据和数域筛法经验。
包括gnfs的五个完整步骤:
poly select: Muphy_E与aplha值的判断;
sieve:  sieve区间的选取, lpba, lpbr选取。oversieve的避免;
filitering: error relations的处理;
linear algebra: oversieve对Matrix size的影响; Matirx过于稀疏(not dense enough)的问题;
sqrt: 同时计算多个dependency,以节约时间。
2010-9-7 13:41
0
雪    币: 328
活跃值: (34)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
厉害!请问你觉得用gnfs+GPU,目前最需要解决的问题是什么?

看到国外有人用到gnfs做分布式破解,但没有找到任何可用的并行算法,哪怕是纯CPU的也可。
2010-9-7 14:03
0
雪    币: 11705
活跃值: (975)
能力值: ( LV12,RANK:779 )
在线值:
发帖
回帖
粉丝
25
我没有用GPU。我用的N台PC做分布式。

就我目前所知,目前没有任何一套公开软件或者代码实现了用GPU做gnfs的筛法。
目前完整实现gnfs所有步骤,并且可实用的(像kgnfs这种学习型的代码不能实用),真正能分解512以及以上的大数而没有致命bug的,只有两套公开的代码:
cado-nfs 和 ggnfs。
msieve 目前实现了gnfs的除lattcie sieve的之外所有步骤。

ggnfs的pol51, 以及德国人写的lattice -sieve, 它们都是从RSA-512分解实践中改良的。
cado-nfs的部分作者参与分解过RSA-768。

cado-nfs用得人不多,配置稍复杂。
所以用ggnfs+msieve成为PC上用gnfs分解RSA-512以及更大的数的唯一选择。

只有msieve实现了用GPU,并且只局限于第一步poly select。
gnfs最耗时间的一步(90%以上)是sieve。 采用ggnfs的lattice sieve,用多台PC分布式筛即可。

gnfs的lattice sieve不要求并行,因为后期filitering可以把重复的relations过滤掉。
如果lattice sieve能用GPU实现,将极大提高速度。到时候单块GPU, 5天以内分解一个RSA-512是可行的。
至于多块GPU,只需要简单的划块,分布式做筛就足够了。
2010-9-7 14:51
0
游客
登录 | 注册 方可回帖
返回
//