如果我只给某人一个公钥,他可以为自己写信息吗?

时间:2010-11-26 03:21:49

标签: public-key-encryption

我想分发许可证密钥,客户端的应用程序需要解密。

我正在考虑给他私钥,以便应用程序可以解码,并为自己保留公钥以加密许可证文件。

现在,n00b的问题是:如果我只给他私钥并保持公钥非常安全,他是否可以创建可以通过私钥解密的许可文件?

我知道我似乎站在这里的一切,但我希望你能明白为什么。

3 个答案:

答案 0 :(得分:4)

不,他不能。

钥匙是成对制作的;一个被称为"公共"而另一个"私人",但那是一个随意的选择。我认为您以奇怪的方式使用这些条款(密钥是"公共"以及"私有"从客户的角度来看),但该方案是安全的就目前而言。

答案 1 :(得分:3)

私钥是您保持安全的。公钥被分发给一般公众...因此名称,私人和公共

使用其中一个密钥加密的任何内容只能由另一个密钥解码,这是公钥加密的全部要点。在这种情况下,您使用私钥对许可证密钥文件进行编码,然后用户可以使用公钥对其进行解密。当然,拥有公钥副本的任何其他人也可以解密许可证文件,但这是另一个问题。

从功能上讲,两个键之间没有区别。它完全是武断的,是公开的,也是私人的。永远不要透露你决定的私人密钥的内容。

答案 2 :(得分:0)

这个答案差不多晚了一年,但我碰巧碰到了这个问题。

如果您不介意许可证密钥文件是可读的(毕竟,客户有密钥可以解密),而不是加密文件,为什么不直接对其进行数字签名?

您将使用保密的私钥签署文件,并使用公钥验证应用中的签名,客户可以获得该公钥。如果不破坏签名,则无法修改许可证密钥文件。