2020-12-29 17:15:51 +00:00
|
|
|
/***********************************************************************
|
|
|
|
* Copyright (c) 2015 Andrew Poelstra *
|
|
|
|
* Distributed under the MIT software license, see the accompanying *
|
|
|
|
* file COPYING or https://www.opensource.org/licenses/mit-license.php.*
|
|
|
|
***********************************************************************/
|
2015-10-26 14:54:21 +00:00
|
|
|
|
2018-07-09 11:17:44 +00:00
|
|
|
#ifndef SECP256K1_ECMULT_CONST_H
|
|
|
|
#define SECP256K1_ECMULT_CONST_H
|
2015-10-26 14:54:21 +00:00
|
|
|
|
|
|
|
#include "scalar.h"
|
|
|
|
#include "group.h"
|
|
|
|
|
2020-08-26 17:35:27 +00:00
|
|
|
/**
|
|
|
|
* Multiply: R = q*A (in constant-time)
|
|
|
|
* Here `bits` should be set to the maximum bitlength of the _absolute value_ of `q`, plus
|
|
|
|
* one because we internally sometimes add 2 to the number during the WNAF conversion.
|
2022-03-08 19:45:41 +00:00
|
|
|
* A must not be infinity.
|
2020-08-26 17:35:27 +00:00
|
|
|
*/
|
2022-10-08 15:43:43 +00:00
|
|
|
static void rustsecp256k1_v0_6_1_ecmult_const(rustsecp256k1_v0_6_1_gej *r, const rustsecp256k1_v0_6_1_ge *a, const rustsecp256k1_v0_6_1_scalar *q, int bits);
|
2015-10-26 14:54:21 +00:00
|
|
|
|
2018-07-09 11:17:44 +00:00
|
|
|
#endif /* SECP256K1_ECMULT_CONST_H */
|