1

我正在尝试为软件实施许可系统以防止盗版。

为此,我需要阅读应用程序中的许可证文件,并且我需要确保该文件是由所有者公司编写的。

非对称密码学有很好的潜力实现这一目标,但反过来!

非对称加密算法,如 RSA,为您提供 aPublic key和 a Private key,其用法如下:

  • 私钥用于解密。

  • 公钥用于加密。

但我需要他们这样:

  • 用于加密的私钥。

  • 用于解密的公钥。

一个简单的想法是切换公钥和私钥的角色,但是有帖子说在 RSA 中可以从私钥生成公钥,这使得这个想法不切实际。

所以这是我的问题:是否有任何非对称密码学具有相反的关键角色?

4

1 回答 1

4

如果在您描述的两种情况下都可以使用 RSA 公钥/私钥对。当您使用私钥加密时,公钥解密,反之亦然。

正如您所说,公钥可以从私钥派生,但不能以其他方式派生。

如果要证明许可文件的来源,请在签名模式下使用 RSA。在签名模式下,根据您要保护的数据计算哈希值,然后使用私钥进行加密。结果 - 数字签名 - 被附加到受保护的数据中。

验证过程首先解密为您提供哈希的签名。然后从数据中计算哈希值。计算值和解密值应相同。

有很多库提供了舒适的签名创建和验证方式。您可以根据用于应用程序开发的平台进行选择。

http://en.wikipedia.org/wiki/Digital_signature

于 2013-08-03T08:19:33.380 回答