刚用c#做完rsa算法加密解密的程序,在n取40位大数的时候都慢的出奇。
原来在算a^b mod n,用的是先调用乘法,自乘b次,然后mod,这样简直连十几位都算不出来。后来看了一个快速a^b mod n方法,一试验果然快不少,但是在两个大质数取20位时还是得要十五秒才能算出私钥d。
请教一下怎么样才能提高效率呢?我用的是十进制算的。
原来在算a^b mod n,用的是先调用乘法,自乘b次,然后mod,这样简直连十几位都算不出来。后来看了一个快速a^b mod n方法,一试验果然快不少,但是在两个大质数取20位时还是得要十五秒才能算出私钥d。
请教一下怎么样才能提高效率呢?我用的是十进制算的。
解决方案 »
- 请问string cmdText = "Update UserInfo set pass='{0}' where userId='{1}'";是什么意思?
- 如何用sharpmap创建新的shp文件?
- 怎样利用焦点来删除字符串是指定位置字符
- 新人请教,推荐本经典一点的入门书籍吧
- 查询,charindex相关,一句sql语句
- WinForm 里面的ADO应用
- 有关委托与函数指针的问题
- 请教结构体指针如何在C#中表示
- 我怎么在C#与asp.net页面之间互传变量的值?
- 这样的变量如果声明?
- DataGridView的列类的2个问题
- B/S下实现语音聊天、文字聊天、文件传输 请高手指点 分多的是 可以另加 关键是问题要解决
里面有关于RSA的类~
现在做的p,q两质数都是50位的加密解密都要6分钟,导师说100位的pq才能安全,郁闷。
同学用vc做的rsa算法,50位速度很快,2分钟就好了,但是到计算80位以上时就出现虚拟内存不足的提示。估计是算法没错,但有释放资源的问题。.NET好像可以自动释放资源~~
虽然知道System.Security.Cryptography里有RSA类,自己做这个也是想了解实践下RSA算法具体实现的过程~~