RSA_generate_key()openssl:exp参数

时间:2012-08-30 10:34:47

标签: c unix openssl rsa

我在互联网上发现函数的exp参数“通常为3,17或65,537”。

我如何选择它,使用3,17和65,537之间的区别是什么?

3 个答案:

答案 0 :(得分:2)

以下是您的问题的一个很好的答案:Should RSA public exponent be only in {3, 5, 17, 257 or 65537} due to security considerations?

如果你喜欢数学,你也可以浏览这个:

some math

答案 1 :(得分:1)

你应该选择你的指数,使得对于除去模数的所有素数p,它对于p-1是相对素数。虽然如果您尝试使用除3,5,17,257,65537之外的其他值,您可能会遇到某些库的问题(Wikipedia提供有关RSA密钥生成的更多详细信息)

Here是对相关问题的非常好的描述。

答案 2 :(得分:1)

我建议坚持NIST今天在SP 800-56B中所建议的:65'537的值(实际上他们推荐任何不小于此的奇数正整数)。

选择较低数字(例如3或17)的唯一原因与:

有关
  • 与仅支持特定公共指数的现有系统的兼容性
  • 验证签名或加密有效负载时的性能问题。

如果这些对你有用,你应该考虑降低指数,但你应该意识到你对RSA实施中的缺陷更加敏感。