OpenSSL RSA 算法的盐在哪里?

Pan*_*tis 1 openssl rsa salt

我在 OpenSSL 中使用选项找到了对称例程的加盐技术-salt。但我找不到非对称 RSA 算法的 salt 选项。

Art*_* B. 6

salt 参数仅对基于密码的加密有意义。密码用于派生用于加密的密钥。当您将密码传递给 OpenSSL 来加密某些内容时,您还可以指定盐来增加整个过程的输入熵。

RSA 不是基于密码的。密钥是预先生成并直接使用的。因此,根本没有地方可以为 RSA 使用盐。

对称密钥和RSA密钥的结构也有区别。对称分组密码的密钥只是二进制字符串/数组。它们可以轻松地随机生成或从加盐密码生成。另一方面,RSA 密钥具有特定的数学结构,不能是纯粹随机的。

这是因为一对 RSA 密钥用于加密两方之间单向通信。没有 RSA 私钥,就无法简单地生成公钥。它们必须同时生成。让一方生成公钥,另一方生成带盐的私钥是没有意义的,因为要么

  1. 密钥不能互操作或
  2. 更糟糕的是,公钥持有者也能够在此过程中生成私钥。