| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 31030 人关注过本帖
标题:各位老师好!求助编辑一个大整数的快速乘除法可调用程序
取消只看楼主 加入收藏
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:809
专家分:77
注 册:2020-2-10
收藏
得分:0 
这种方法占内存,以前做的是4位一个数组,速度提高不明显,但是到不了1万位就会显示内存溢出了。

[此贴子已经被作者于2020-2-28 12:42编辑过]

2020-02-28 09:06
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:809
专家分:77
注 册:2020-2-10
收藏
得分:0 
回复 170楼 xianfajushi
非常感谢!DLL是啥?可调用函数?只要速度快,计算位数多,可以试试!您幸苦了,谢谢!
2020-02-29 02:36
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:809
专家分:77
注 册:2020-2-10
收藏
得分:0 
有vc版的大数乘法不知道怎么用vb调用?有vc版大数除法不知道是否是利用了傅立叶变换的不知道是否是快速的?
2020-02-29 10:15
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:809
专家分:77
注 册:2020-2-10
收藏
得分:0 
回复 174楼 xianfajushi
额,谢谢您!可能vb不支持这种处理方法吧!
2020-02-29 15:09
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:809
专家分:77
注 册:2020-2-10
收藏
得分:0 
各位老师辛苦了,可以暂时放一放,有空再弄!
2020-03-01 11:10
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:809
专家分:77
注 册:2020-2-10
收藏
得分:0 
回复 170楼 xianfajushi
感谢您的指导!明文越短越好,因为公开模数是我们要判断的数,必须比明文长否则原理失效,用一位的数字也可以,但0和1不能用,即使用1位的数字如3,所要判断的数也必须是3位或5位以上的,小了同样会失效。公开模数必须和密文是一一对应,否则就失效,密文的长度是由公开模数决定的,公开模数长度越大,密文长度越大,原理就不会失效。(是个人的理解,供参考,如用3为明文,对两位的数字就有个别判断错误输出结果错误的,两位数的素数很少那个是素数人工容易判断和记忆的,有没有错误很容易验证的。更大的不容易验证,3位以上没有发现错误但感觉是怕有错误,所以采用了3位的明文,理论上1位的也应该能用但保险起见还是用3位的,除了123还很多,都可以但不要用100或111这样的尽量。)
2020-03-02 11:56
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:809
专家分:77
注 册:2020-2-10
收藏
得分:0 
回复 178楼 ysr2857
在此例子中,明文采用3,100,111,结果都一样,时间也差别不大,如当明文采用3时,结果为:这是素数有54位,用时16.004999999999秒。
2020-03-02 16:21
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:809
专家分:77
注 册:2020-2-10
收藏
得分:0 
回复 180楼 wmf2014
谢谢您!速度快!有你帮助我就有信心了。原理是没有错误的,用到欧拉定理(费马小定理是其中的特例)的推论,完全是RSA密码的原理,若有错误那密码就不保密了,不用分解也能还原,岂不是不顶用?
证明过程麻烦,用到许多公式,都是求余数的,用到幂的模的传递性,可逆性等等,证明就不发了。
2020-03-02 19:27
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:809
专家分:77
注 册:2020-2-10
收藏
得分:0 
回复 180楼 wmf2014
我觉得您对这个数论问题很有研究,发一下我的证明,其实是综合了许多资料弄出来的,有的复杂不规范采用了简单思路清晰的,不同的文章中摘录的,不是我推理的不是原创,我只是串联起来的,如果能讲清楚大概思路已经不错了,我相信是没错误的,否则RSA密码体制就不成立了。
分三段:欧拉定理的证明,其推论的证明,RSA加解密过程的证明。下面是欧拉定理的证明:
欧拉定理:a^(菲n)=1(modn)
证明:
将1~n中与n互质的数按顺序排布:x1,x2……xφ(n) (显然,共有φ(n)个数)

我们考虑这么一些数:

m1=a*x1;m2=a*x2;m3=a*x3……mφ(n)=a*xφ(n)
数m1,m2,m3……mφ(n)(如果将其次序重新排列)必须相应地同余于x1,x2,x3……xφ(n).
故得出:m1*m2*m3……mφ(n)≡x1*x2*x3……xφ(n) (mod n)
或者说a^[φ(n)]*(x1*x2*x3……xφ(n))≡x1*x2*x3……xφ(n)(mod n)
或者为了方便:K{a^[φ(n)]-1}≡0 ( mod n ) 这里K=x1*x2*x3……xφ(n)。
可知K{a^[φ(n)]-1}被n整除。但K中的因子x1,x2……都与n互质,所以K与n互质。那么a^[φ(n)]-1必须能被n整除,即a^[φ(n)]-1≡0 (mod n),即a^[φ(n)]≡1 (mod n),得证。
2020-03-03 09:51
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:809
专家分:77
注 册:2020-2-10
收藏
得分:0 
当n为素数时就得到费马小定理:
费马小定理:

  对于质数p,任意整数a,均满足:a^p≡a(mod p)

而RSA密码的加解密过程不同于费马小定理。
2020-03-03 09:56
快速回复:各位老师好!求助编辑一个大整数的快速乘除法可调用程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027259 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved