我正在做一个项目,我需要找到或构建RSA和Elgamal算法,三重DES算法和数字散列签名算法。
我试着把我的代码组合在一起,但我一直被RSA和Elgamal的编码所困扰。我想知道是否有人有任何有用的链接到RSA伪代码:具体地说,计算大素数(又称p和q)我似乎不能得到欧拉的正确结果,并找到一个互质函数phi(n) = (p-1)(q-1) (又称e)。我正在尝试编写的所有方程的目的都是为了高效地找到大素数。如果有人知道一种更简单的高效计算大素数的方法,将不胜感激。
另外,我对填充物有点着迷...我可以勉强通过我的项目,只做一个无填充的加密/解密,但我想要超越和超越……任何有用的填充方案/填充方案伪代码的链接都会非常有帮助。
我试着在google上搜索好的伪代码,但我真的只找到了一种用于大型素数计算的模棱两可的伪代码...(不是这样,就是我真的很笨拙)。
任何帮助都将非常感谢(具体来说,我不需要有人为我编写完整的算法,我只需要在正确的方向上推动)。
谢谢您抽时间见我。
发布于 2011-11-10 00:33:17
I'm trying to put my code together, but I keep getting hung up on coding RSA and Elgamal. I was wondering if anyone had any useful links to RSA pseudocode: specifically, calculating large primes (aka p and q) [I can't seem to get euler's right], and finding a coprime to phi(n) = (p-1)(q-1) (aka e)
生成大素数并不容易,因为没有合适的方法来计算素数(幸运的是,如果有,RSA就会被破坏)。您通常要做的是抽取随机数并执行像Miller-Rabine这样的素性测试,该测试执行得非常好(50执行将测试数是质数的概率缩小到1/2^50 %)。唯一的要求是随机数必须是非常非常随机的,否则找到的密钥是不安全的。Linux /dev/random是启动随机生成器的一个很好的源码。或语言的首选加密模块(C: openssl,Java: SecureRandom...)。
RSA周围没有真正的伪代码,因为它是一个数学过程。我能得到的最接近于伪代码的是一个素数生成的python implementation,它有一个简洁的python example用于读写程序。也就是here
关于填充,wikipedia很好地解释了一种填充方案。此外,这个blog entry帮助我理解了很多填充。关于填充的链接:http://rdist.root.org/2009/10/06/why-rsa-encryption-padding-is-critical/ http://www.symantec.com/connect/blogs/common-rsa-implementation-mistake-explained
我希望这能将您推向正确的方向。
https://stackoverflow.com/questions/7809490
复制相似问题