【求助】usrbin和其他大牛帮帮忙啊
usrbin吧
全部回复
仅看楼主
level 5
fzy20062008 楼主
我想找几十个 1024bit左右的素数(也就是10进制形式有308位左右),做一个很重要的东西要用到
给个网站或者下载的地址都行[拜]
2011年01月24日 16点01分 1
level 11
数吧里回了你的帖子了[吐舌]
2011年01月24日 16点01分 2
level 11
素数列表上传到115网盘里了
用户名/密码[email protected]/314159265354
我的文档/1024bit大素数/largeprime.txt,100个素数够用了吧[吐舌]
2011年01月24日 17点01分 3
level 5
fzy20062008 楼主
行了,3L还是快删了吧,免得被别人上了[傻笑]
2011年01月24日 17点01分 4
level 5
fzy20062008 楼主
回复:5楼
原来如此[傻笑]
那个素数表是以#分开来的么?
2011年01月24日 17点01分 6
level 11
回复:6楼
唔。。每个素数一行,用记事本打开即可
2011年01月24日 17点01分 7
level 5
fzy20062008 楼主
恩,不过我永恒记事本打开换行变成了一个特殊字符。用写字板打开就是一个一行
2011年01月24日 17点01分 8
level 13
1024bit [啊!]
2011年01月25日 01点01分 9
level 11
回复:9楼
现在RSA的密钥强度都需要2048bit了[汗]
2011年01月25日 06点01分 10
level 5
fzy20062008 楼主
回复:10楼
其实就是做一个基于RSA的数字签名,也不是什么商业用途,所以老师只要求1024bit,直接用java的BigInteger就搞定了,我还发现BigInteger类的那个modPow方法(幂取余)简直神了[啊!]
对于指数是1024bit的运算瞬间出结果,都不知是内部用了二分快速幂还是直接的高效编译。
更绝的是还支持指数为负数的运算,求模逆的时候根本不用手写扩展欧几里得除法,让指数为-1就行了,奇快无比。如果出现不存在(不互质)的情况还会抛出异常,这样我只要捕获异常就搞定了,太神奇了
不知有没办法看到那个modPow的代码实现[瀑布汗~]真的想看看,太给力了
2011年01月25日 07点01分 11
level 11
回复:11楼
BigInteger的乘法算法是FFT[汗]其它不知,但是a^n总该是O(logn)的吧
2011年01月25日 07点01分 12
level 5
fzy20062008 楼主
回复:12楼
a^n确实应该是logn,不然怎么编译优化都很难做到
主要是指数为负数的时候不知他是怎么做到的,难道里面放了一个扩展欧几里得除法的代码么?还是在底层实现的
2011年01月25日 07点01分 13
level 11
我也觉得是先求a(^-1)modn再pow[汗]嗯extended-euclid是可以做成底层函数,我认为
2011年01月25日 07点01分 14
level 5
fzy20062008 楼主
回复:14楼
我说的那个底层是组成原理那方面的,不涉及什么数论思想[拍砖]不知可不可能
2011年01月25日 08点01分 15
1