2017-12-01 18:12:25 +00:00
|
|
|
/*
|
2018-01-18 13:12:46 +00:00
|
|
|
* Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.
|
2017-12-01 18:12:25 +00:00
|
|
|
*
|
|
|
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
|
|
|
* this file except in compliance with the License. You can obtain a copy
|
|
|
|
* in the file LICENSE in the source distribution or at
|
|
|
|
* https://www.openssl.org/source/license.html
|
|
|
|
*/
|
2019-09-27 21:58:12 +00:00
|
|
|
#ifndef OSSL_CRYPTO_EC_CURVE448_LOCAL_H
|
|
|
|
# define OSSL_CRYPTO_EC_CURVE448_LOCAL_H
|
2018-02-12 14:27:02 +00:00
|
|
|
# include "curve448utils.h"
|
2017-11-16 11:13:53 +00:00
|
|
|
|
|
|
|
int X448(uint8_t out_shared_key[56], const uint8_t private_key[56],
|
2017-11-16 17:18:57 +00:00
|
|
|
const uint8_t peer_public_value[56]);
|
2017-11-16 11:13:53 +00:00
|
|
|
|
|
|
|
void X448_public_from_private(uint8_t out_public_value[56],
|
2017-11-16 17:18:57 +00:00
|
|
|
const uint8_t private_key[56]);
|
2017-11-27 11:32:03 +00:00
|
|
|
|
|
|
|
int ED448_sign(uint8_t *out_sig, const uint8_t *message, size_t message_len,
|
2017-11-28 18:23:51 +00:00
|
|
|
const uint8_t public_key[57], const uint8_t private_key[57],
|
2017-11-27 11:32:03 +00:00
|
|
|
const uint8_t *context, size_t context_len);
|
|
|
|
|
|
|
|
int ED448_verify(const uint8_t *message, size_t message_len,
|
2017-11-28 18:23:51 +00:00
|
|
|
const uint8_t signature[114], const uint8_t public_key[57],
|
2017-11-27 11:32:03 +00:00
|
|
|
const uint8_t *context, size_t context_len);
|
|
|
|
|
2017-11-28 09:53:58 +00:00
|
|
|
int ED448ph_sign(uint8_t *out_sig, const uint8_t hash[64],
|
2017-11-28 18:23:51 +00:00
|
|
|
const uint8_t public_key[57], const uint8_t private_key[57],
|
2017-11-27 11:32:03 +00:00
|
|
|
const uint8_t *context, size_t context_len);
|
|
|
|
|
2017-11-28 18:23:51 +00:00
|
|
|
int ED448ph_verify(const uint8_t hash[64], const uint8_t signature[114],
|
|
|
|
const uint8_t public_key[57], const uint8_t *context,
|
2017-11-28 09:53:58 +00:00
|
|
|
size_t context_len);
|
2017-11-27 11:32:03 +00:00
|
|
|
|
2017-11-28 18:23:51 +00:00
|
|
|
int ED448_public_from_private(uint8_t out_public_key[57],
|
|
|
|
const uint8_t private_key[57]);
|
2018-02-12 14:27:02 +00:00
|
|
|
|
2019-09-27 21:58:12 +00:00
|
|
|
#endif /* OSSL_CRYPTO_EC_CURVE448_LOCAL_H */
|