我正在创建一个RESTful API Web服务,我需要一种实现公钥和私钥对的方法。
我将使用PHP的一些内置函数来创建自己的算法来生成键的两个值。
我只需要理解系统背后的概念或逻辑。
示例客户端和服务器具有公钥和私钥值。然后使用在服务器端解码的客户端另一个算法组合密钥,如果匹配,则显示所请求的资源?
还是我离开了他们?任何链接或建议都会得到很好的评价
答案 0 :(得分:2)
有一些算法可以使用私钥/公钥对。它们的三个常见用途是:加密/解密,签名/验证和密钥协议。
对于加密/解密,仅使用公钥对数据进行加密,并使用私钥对数据进行解密。一个例子是RSA算法。
对于签名/验证,使用私钥对数据进行签名,并使用公钥进行验证。一个例子是DSA算法。
对于密钥协议,有两方使用其公钥/私钥。各方交换他们的公钥,并且使用私钥,公钥和对端的公钥生成共享秘密。一个例子是Diffie-Hellman(DH)算法。
顾名思义,对于任何一方,你永远不会泄露你的私钥。您可以安全地在任何地方发布公钥。如果只使用公钥,则无法执行上述任何需要私钥的任务 - 显然,在给定公钥的情况下计算私钥是不可行的。