与加密公开和私钥对概念的大困境

时间:2011-10-12 23:11:16

标签: php encryption

我正在创建一个RESTful API Web服务,我需要一种实现公钥和私钥对的方法。

我将使用PHP的一些内置函数来创建自己的算法来生成键的两个值。

我只需要理解系统背后的概念或逻辑。

示例客户端和服务器具有公钥和私钥值。然后使用在服务器端解码的客户端另一个算法组合密钥,如果匹配,则显示所请求的资源?

还是我离开了他们?任何链接或建议都会得到很好的评价

1 个答案:

答案 0 :(得分:2)

有一些算法可以使用私钥/公钥对。它们的三个常见用途是:加密/解密,签名/验证和密钥协议。

对于加密/解密,仅使用公钥对数据进行加密,并使用私钥对数据进行解密。一个例子是RSA算法。

对于签名/验证,使用私钥对数据进行签名,并使用公钥进行验证。一个例子是DSA算法。

对于密钥协议,有两方使用其公钥/私钥。各方交换他们的公钥,并且使用私钥,公钥和对端的公钥生成共享秘密。一个例子是Diffie-Hellman(DH)算法。

顾名思义,对于任何一方,你永远不会泄露你的私钥。您可以安全地在任何地方发布公钥。如果只使用公钥,则无法执行上述任何需要私钥的任务 - 显然,在给定公钥的情况下计算私钥是不可行的。