Go to the documentation of this file.
20 #include "../bn/internal.h"
21 #include "../../internal.h"
44 int r_is_at_infinity = 1;
46 if (!r_is_at_infinity) {
66 if (r_is_at_infinity) {
74 if (r_is_at_infinity) {
89 for (
size_t j = 2; j <
num; j++) {
111 crypto_word_t sign, digit;
116 for (
size_t j = 0; j < 17; j++) {
124 crypto_word_t sign_mask = sign;
125 sign_mask = 0
u - sign_mask;
142 int r_is_at_infinity = 1;
144 if (!r_is_at_infinity) {
150 if (r_is_at_infinity) {
152 r_is_at_infinity = 0;
166 if (r_is_at_infinity) {
188 comb[(1 << 0) - 1] = *
p;
191 unsigned bit = 1 <<
i;
193 for (
unsigned j = 1; j < stride; j++) {
198 for (
unsigned j = 1; j < bit; j++) {
207 "comb sizes did not match");
242 int r_is_at_infinity = 1;
243 for (
unsigned i = stride - 1;
i < stride;
i--) {
244 if (!r_is_at_infinity) {
250 if (r_is_at_infinity) {
252 r_is_at_infinity = 0;
267 if (r_is_at_infinity) {
#define ec_GFp_nistp_recode_scalar_bits
#define ec_GFp_simple_point_set_to_infinity
unsigned char match[65280+2]
#define OPENSSL_ARRAY_SIZE(array)
OPENSSL_EXPORT pem_password_cb void * u
#define ec_jacobian_to_affine_batch
static void * OPENSSL_memset(void *dst, int c, size_t n)
static crypto_word_t constant_time_is_zero_w(crypto_word_t a)
static void ec_GFp_mont_batch_get_window(const EC_GROUP *group, EC_RAW_POINT *out, const EC_RAW_POINT precomp[17], const EC_SCALAR *scalar, unsigned i)
#define bn_is_bit_set_words
OPENSSL_EXPORT ASN1_BIT_STRING * bits
void ec_GFp_mont_mul_batch(const EC_GROUP *group, EC_RAW_POINT *r, const EC_RAW_POINT *p0, const EC_SCALAR *scalar0, const EC_RAW_POINT *p1, const EC_SCALAR *scalar1, const EC_RAW_POINT *p2, const EC_SCALAR *scalar2)
void ec_GFp_mont_mul_base(const EC_GROUP *group, EC_RAW_POINT *r, const EC_SCALAR *scalar)
static void ec_GFp_mont_get_comb_window(const EC_GROUP *group, EC_RAW_POINT *out, const EC_PRECOMP *precomp, const EC_SCALAR *scalar, unsigned i)
void ec_GFp_mont_mul(const EC_GROUP *group, EC_RAW_POINT *r, const EC_RAW_POINT *p, const EC_SCALAR *scalar)
#define ec_GFp_simple_point_copy
static unsigned ec_GFp_mont_comb_stride(const EC_GROUP *group)
static void ec_GFp_mont_batch_precomp(const EC_GROUP *group, EC_RAW_POINT *out, size_t num, const EC_RAW_POINT *p)
#define EC_MONT_PRECOMP_COMB_SIZE
void ec_GFp_mont_mul_precomp(const EC_GROUP *group, EC_RAW_POINT *r, const EC_PRECOMP *p0, const EC_SCALAR *scalar0, const EC_PRECOMP *p1, const EC_SCALAR *scalar1, const EC_PRECOMP *p2, const EC_SCALAR *scalar2)
static crypto_word_t constant_time_eq_w(crypto_word_t a, crypto_word_t b)
int ec_GFp_mont_init_precomp(const EC_GROUP *group, EC_PRECOMP *out, const EC_RAW_POINT *p)
EC_AFFINE comb[(1<< EC_MONT_PRECOMP_COMB_SIZE) - 1]
#define OPENSSL_STATIC_ASSERT(cond, msg)
grpc
Author(s):
autogenerated on Fri May 16 2025 03:00:12