【发布时间】:2011-11-05 19:13:25
【问题描述】:
我正在尝试在 C++ 中为非常大的数字实现 RSA。我没有使用任何库。我想编写自己的代码 :) 所以我使用字符串来存储这些大数字。大数的乘法和除法非常快,所以这不是问题。但是当我进行加密或解密时,即使用 a^b modm 这非常慢。我使用 p 和 q 作为 50 位数字并尝试加密大约 20 个字符的文本。我花了一个小时来加密和解密。我使用平方方法求幂来减少计算时间。我可以做哪些改进?
还有什么是生成素数 p 和 q 的最佳方法。(最好是行业标准)
【问题讨论】:
-
如果这不是为了学习如何(不)实现 RSA,请停止并使用经过良好测试的高级库。
-
众所周知,RSA 是一种缓慢的方法,这就是为什么 RSA 主要用于传输会话密钥以实现更快的共享密钥方法。