我需要帮助理解关于php和android的Elliptic Curve Cryptography ..我读过有关Spongy城堡和Bouncy Castle的内容......到目前为止我所理解的是每一方都需要生成一对密钥(公共和私有)和他们将用于加密和解密的共享密钥..我是对的吗?或者还有另一把钥匙......我有点困惑..我也无法找到任何关于PHP的任何帮助... ...
我也知道ECDSA仅用于生成签名,ECDH用于加密/解密消息,这是我需要的。
答案 0 :(得分:1)
到目前为止我所理解的是,每一方都需要生成一对 密钥(公共和私有)以及他们将使用的共享密钥 加密和解密..我是对的吗?
是。每一方都生成密钥对并将它们的公钥互相发送。私钥必须安全保存,不得泄露。
密钥是从收件人私钥和发件人公钥生成的,反之亦然。
Elliptic Curve Digital Signature Algorithm (ECDSA)用于使用私钥对数据进行签名,并使用相应的公钥进行验证。
Elliptic curve Diffie–Hellman (ECDH):
是一种匿名密钥协议协议,允许双方各自 具有椭圆曲线的公钥 - 私钥对,以建立一个 在不安全的渠道上共享秘密。
如果您想加密和解密数据,那么您需要ECDH。