我正在创建一个RESTful API web服务,我需要一种实现公钥和私钥对的方法。
我将使用PHP的一些内置函数来创建我自己的算法来生成两个键的值。
我只需要了解系统背后的概念或逻辑。
在示例中,客户端和服务器都有公钥和私钥值。然后在客户端使用另一种算法组合密钥,在服务器端进行解码,如果匹配,则显示所请求的资源?
还是我偏离了他们的标记?任何链接或建议将不胜感激
有一些算法使用私有/公共对。它们的三种常见用途是:加密/解密、签名/验证和密钥协议。
对于加密/解密,数据仅使用公钥加密,使用私钥解密。RSA算法就是一个例子。
对于签名/验证,数据用私钥签名,并用公钥验证。DSA算法就是一个例子。
对于密钥协议,有两方拥有他们的公钥/私钥。双方交换他们的公钥,并使用私钥、公钥和另一端的公钥生成共享密钥。一个例子是Diffie-Hellman (DH)算法。
顾名思义,对于任何一方,你都不会给出你的私钥。您可以安全地在任何您想要的地方发布您的公钥。如果只有公钥,就无法执行上述任何需要私钥的任务——显然,在给定公钥的情况下计算出私钥是不可行的。