提交 ad0a8a5c 编写于 作者: M Matt Caswell

Add the X448() and X448_public_from_private() functions

Reviewed-by: NBernd Edlinger <bernd.edlinger@hotmail.de>
(Merged from https://github.com/openssl/openssl/pull/5105)
上级 b6e388ba
#include "curve448utils.h"
int X448(uint8_t out_shared_key[56], const uint8_t private_key[56],
const uint8_t peer_public_value[56]) DECAF_API_VIS;
void X448_public_from_private(uint8_t out_public_value[56],
const uint8_t private_key[56]) DECAF_API_VIS;
......@@ -18,6 +18,7 @@
#include "point_448.h"
#include "ed448.h"
#include "curve448_lcl.h"
/* Template stuff */
#define API_NS(_id) decaf_448_##_id
......@@ -1590,3 +1591,16 @@ void API_NS(precomputed_destroy) (
) {
OPENSSL_cleanse(pre, API_NS(sizeof_precomputed_s));
}
int X448(uint8_t out_shared_key[56], const uint8_t private_key[56],
const uint8_t peer_public_value[56])
{
return decaf_x448(out_shared_key, peer_public_value, private_key)
== DECAF_SUCCESS;
}
void X448_public_from_private(uint8_t out_public_value[56],
const uint8_t private_key[56])
{
decaf_x448_derive_public_key(out_public_value, private_key);
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册