OpenSSL密碼庫算法筆記——第6.5.2章 密鑰協商函數

現在來看看OpenSSL中哪些函數是用來具體實現密鑰協商的。

───────────────────────────────────────

int ECDH_compute_key(void *out, size_t outlen, const EC_POINT *pub_key, EC_KEY *eckey, void *(*KDF)(const void *in, size_t inlen, void *out, size_t *outlen))

功能:    密鑰協商

輸入:    pub_key【對方公鑰】,eckey【己方密鑰】,KDF【選取的密鑰導出算法】

輸出:    out【協商出的祕密信息】,outlen【祕密信息長度】,

返回:    祕密信息長度outlen

出處:    ecdh\ech_key.c

備註:    KDF,可爲NULL。在ecdhtest.c中,將KDF定義爲SHA1算法。

return ecdh->meth->compute_key(out, outlen, pub_key, eckey, KDF);

───────────────────────────────────────

        在這裏ecdh->meth->compute_key指向的是函數ecdh_compute_key,改函數實現了密鑰協商的全過程。

───────────────────────────────────────

static int ecdh_compute_key(void *out, size_t outlen, const EC_POINT *pub_key, EC_KEY *ecdh, void *(*KDF)(const void *in, size_t inlen, void *out, size_t *outlen))

功能:    密鑰協商

輸入:    pub_key【對方公鑰】,ecdh【己方密鑰】,KDF【選取的密鑰導出算法】

輸出:    out【協商出的祕密信息】,outlen【祕密信息長度】,

返回:    祕密信息長度outlen

出處:    ecdh\ech_ossl.c

───────────────────────────────────────

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章