ssl - 为 SSH 生成 SSL key 对时,您可以使用的最大位数 (-b) 是多少?

标签 ssl encryption ssh

我最近做了一些工作,为我们使用的一些网络服务升级到 SSL key 。我没有启动这项工作,但它是从 1024 位到 2048 位。

生成 ssh key 时,我可以使用 ssh-keygen -b 2048 指定位级别(速率/深度?)。但是更高位值的好处/缺点是什么?有技术限制吗?

为什么我们不都生成位深度为 10 亿的 ssl key ?

最佳答案

我假设 key 是 RSA,因为 2048 是 RSA 的常见大小(但 ECDSA 或 EdDSA 不存在)。

But what are the benefits/deficits of a higher bit value?

好处就是关键的“实力”,简单来说。较大的 key 需要更长的时间才能“破解”。更具体地说,在 RSA 中,破解 key 需要分解一个非常大的数字。数字越大,分解就越难。这就是我们对分解数字的了解程度,即它不能使用现成的技术在多项式时间内完成。

较大的键执行速度较慢,并且需要更多内存才能使用。但是,2048 被认为是 RSA 的最低“安全”大小。

Are there any technical limits?

这取决于使用 key 的对象。根据经验,大于 4096 的 key 开始运行时会出现软件问题,因为 key 太大。

why are we not all generating ssl keys with a bit depth of 1 billion?

好吧,一个 100 MB 左右的 key 会占用大量内存。其次,RSA key 不是完全随机的数字。它们由两个质数 p 和 q 组成,它们产生模数 n。生成这么大的素数是一项相当困难的任务。

最后,一旦超过特定的 key 大小,安全性优势就会很小。

关于ssl - 为 SSH 生成 SSL key 对时,您可以使用的最大位数 (-b) 是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39877204/

相关文章:

c# - 忽略网络浏览器中的网络浏览器证书错误

php - 将 cURL 与 SNI(服务器名称指示)结合使用

java - Blowfish 加密问题

ubuntu - 使用 pem 文件访问 AWS ssh 集群

java.io.IOException : Invalid keystore format using Tomcat server 异常

ssl - Chrome 在我的 SSL 页面上显示 SSL 被划掉了?

ruby-on-rails - 我必须使用什么加密过程才能通过 HTTP 协议(protocol)发送加密的 'email' 和 'password' 值?

android - 如何安全地将一些数据从服务器传输到安卓设备

python - Paramiko SSH 连接错误 : socket. gaierror : [Errno 8] nodename nor servname provided, or not known

python - 如何将参数传递给部署脚本?