我正在尝试为软件实施许可系统以防止盗版。
为此,我需要阅读应用程序中的许可证文件,并且我需要确保该文件是由所有者公司编写的。
非对称密码学有很好的潜力实现这一目标,但以其他方式存在!
非对称加密算法(如RSA)会为您提供Public key
和Private key
,其用法如下:
私钥用于解密。
公钥用于加密。
但我需要他们这样:
用于加密的私钥。
用于解密的公钥。
一个简单的想法是切换公钥和私钥的角色,但有posts说RSA公钥可以从私有密钥生成,这使得这个想法不切实际。
所以这是我的问题:是否存在具有反向关键角色的非对称加密技术?
答案 0 :(得分:3)
如果谈到RSA公钥/私钥对可以在你描述的两种情况下使用。当您使用私钥加密公钥解密时,反之亦然。
正如您所说,公钥可以从私钥派生而不是从其他方式派生。
如果要证明许可文件的来源,请在签名模式下使用RSA。在签名模式下,根据要保护的数据计算哈希值,然后使用私钥加密。结果 - 数字签名 - 附加到受保护的数据。
验证过程首先解密为您提供哈希的签名。然后从数据中计算哈希值。计算和解密的值应相同。
有很多图书馆提供舒适的签名创建和验证方式。您可以根据用于应用程序开发的平台进行选择。