我在OpenSSL中使用选项-salt
找到了对称例程的salting技术。但我找不到非对称RSA算法的盐选项。
答案 0 :(得分:2)
salt参数仅对基于密码的加密有意义。密码用于派生用于加密的密钥。当您将密码传递给OpenSSL以加密某些内容时,您也可以指定一个salt来增加整个过程的输入熵。
RSA不是基于密码的。密钥是预先生成的并直接使用。因此,没有地方可以使用盐来制作RSA。
对称密钥和RSA密钥的结构也存在差异。对称分组密码的密钥只是二进制字符串/数组。它们可以很容易地随机生成,也可以通过盐渍密码生成。另一方面,RSA密钥具有特定的数学结构,不能完全随机。
这是因为一个RSA密钥对用于加密双方在一个方向上的通信。如果没有RSA的私钥,就不能简单地生成公钥。它们必须同时生成。让一方生成公钥而另一方使用salt生成私钥是没有意义的,因为