openssl中通过ECDH算法对方公钥和己方公钥计算共享密钥的函数
时间: 2024-05-21 21:17:36 浏览: 54
在 OpenSSL 中,可以使用以下函数通过 ECDH 算法计算共享密钥:
1. `EC_KEY_compute_key()`:该函数可以计算 ECDH 共享密钥,并将结果存储在指定的缓冲区中。该函数的参数包括:
- `out`:指向输出缓冲区的指针。
- `outlen`:输出缓冲区的长度。
- `pub_key`:对方公钥的 `EC_POINT` 对象。
- `ecdh`:己方的 `EC_KEY` 对象。
- `kdf`:指定密钥派生函数,可以为 `NULL`。
2. `ECDH_compute_key()`:该函数也可以计算 ECDH 共享密钥,并将结果存储在指定的缓冲区中。该函数的参数包括:
- `out`:指向输出缓冲区的指针。
- `outlen`:输出缓冲区的长度。
- `pub_key`:对方公钥的 `EC_POINT` 对象。
- `ecdh`:己方的 `EC_KEY` 对象。
- `kdf`:指定密钥派生函数,可以为 `NULL`。
这两个函数的主要区别在于 `EC_KEY_compute_key()` 函数需要指定己方的 `EC_KEY` 对象,而 `ECDH_compute_key()` 函数需要通过一个 `EVP_PKEY` 对象来传递己方的公钥。另外,`ECDH_compute_key()` 函数还可以支持其他类型的密钥交换算法,例如 DH 算法。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)