Rename curve functions to use curve names instead of just bits.
Otherwise function names can easily become confusing after adding other
curves.
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
define(<C2>, <HP>)
define(<C4>, <r12>)
- C ecc_192_modp (const struct ecc_modulo *m, mp_limb_t *rp)
+ C ecc_secp192r1_modp (const struct ecc_modulo *m, mp_limb_t *rp)
.text
.align 2
-PROLOGUE(_nettle_ecc_192_modp)
+PROLOGUE(_nettle_ecc_secp192r1_modp)
push {r4,r5,r6,r7,r8,r10}
C Reduce two words at a time
add HP, RP, #48
pop {r4,r5,r6,r7,r8,r10}
bx lr
-EPILOGUE(_nettle_ecc_192_modp)
+EPILOGUE(_nettle_ecc_secp192r1_modp)
define(<L1>, <r12>)
define(<L2>, <lr>)
- C ecc_224_modp (const struct ecc_modulo *m, mp_limb_t *rp)
+ C ecc_secp224r1_modp (const struct ecc_modulo *m, mp_limb_t *rp)
.text
.align 2
-PROLOGUE(_nettle_ecc_224_modp)
+PROLOGUE(_nettle_ecc_secp224r1_modp)
push {r4,r5,r6,r7,r8,r10,r11,lr}
add L2, RP, #28
stmdb RP, {T0,T1,T2,T3,T4,T5,T6}
pop {r4,r5,r6,r7,r8,r10,r11,pc}
-EPILOGUE(_nettle_ecc_224_modp)
+EPILOGUE(_nettle_ecc_secp224r1_modp)
define(<F2>, <r12>)
define(<F3>, <lr>)
- C ecc_256_redc (const struct ecc_modulo *m, mp_limb_t *rp)
+ C ecc_secp256r1_redc (const struct ecc_modulo *m, mp_limb_t *rp)
.text
.align 2
-PROLOGUE(_nettle_ecc_256_redc)
+PROLOGUE(_nettle_ecc_secp256r1_redc)
push {r4,r5,r6,r7,r8,r10,r11,lr}
ldm RP!, {T0,T1,T2,T3,T4,T5,T6,T7}
stm RP, {T0,T1,T2,T3,T4,T5,T6,T7}
pop {r4,r5,r6,r7,r8,r10,r11,pc}
-EPILOGUE(_nettle_ecc_256_redc)
+EPILOGUE(_nettle_ecc_secp256r1_redc)
define(<N>, <r12>)
define(<H>, <lr>)
- C ecc_384_modp (const struct ecc_modulo *m, mp_limb_t *rp)
+ C ecc_secp384r1_modp (const struct ecc_modulo *m, mp_limb_t *rp)
.text
.align 2
-PROLOGUE(_nettle_ecc_384_modp)
+PROLOGUE(_nettle_ecc_secp384r1_modp)
push {r4,r5,r6,r7,r8,r10,lr}
add RP, RP, #80
adcs T3, T3, H
stm RP!, {T0,T1,T2,T3} C 8-11
pop {r4,r5,r6,r7,r8,r10,pc}
-EPILOGUE(_nettle_ecc_384_modp)
+EPILOGUE(_nettle_ecc_secp384r1_modp)
define(<H>, <r12>)
define(<N>, <lr>)
- C ecc_521_modp (const struct ecc_modulo *m, mp_limb_t *rp)
+ C ecc_secp521r1_modp (const struct ecc_modulo *m, mp_limb_t *rp)
.text
.Lc511:
.int 511
.align 2
-PROLOGUE(_nettle_ecc_521_modp)
+PROLOGUE(_nettle_ecc_secp521r1_modp)
push {r4,r5,r6,r7,r8,lr}
C Use that B^17 = 2^23 (mod p)
stm RP, {T0,T1,T2,F0,F1,F2,F3,H} C 9-16
pop {r4,r5,r6,r7,r8,pc}
-EPILOGUE(_nettle_ecc_521_modp)
+EPILOGUE(_nettle_ecc_secp521r1_modp)
[/* Define to 1 each of the following for which a native (ie. CPU specific)
implementation of the corresponding routine exists. */
#undef HAVE_NATIVE_chacha_core
-#undef HAVE_NATIVE_ecc_192_modp
-#undef HAVE_NATIVE_ecc_192_redc
-#undef HAVE_NATIVE_ecc_224_modp
-#undef HAVE_NATIVE_ecc_224_redc
-#undef HAVE_NATIVE_ecc_25519_modp
-#undef HAVE_NATIVE_ecc_256_modp
-#undef HAVE_NATIVE_ecc_256_redc
-#undef HAVE_NATIVE_ecc_384_modp
-#undef HAVE_NATIVE_ecc_384_redc
+#undef HAVE_NATIVE_ecc_curve25519_modp
#undef HAVE_NATIVE_ecc_curve448_modp
-#undef HAVE_NATIVE_ecc_521_modp
-#undef HAVE_NATIVE_ecc_521_redc
+#undef HAVE_NATIVE_ecc_secp192r1_modp
+#undef HAVE_NATIVE_ecc_secp192r1_redc
+#undef HAVE_NATIVE_ecc_secp224r1_modp
+#undef HAVE_NATIVE_ecc_secp224r1_redc
+#undef HAVE_NATIVE_ecc_secp256r1_modp
+#undef HAVE_NATIVE_ecc_secp256r1_redc
+#undef HAVE_NATIVE_ecc_secp384r1_modp
+#undef HAVE_NATIVE_ecc_secp384r1_redc
+#undef HAVE_NATIVE_ecc_secp521r1_modp
+#undef HAVE_NATIVE_ecc_secp521r1_redc
#undef HAVE_NATIVE_gcm_hash8
#undef HAVE_NATIVE_salsa20_core
#undef HAVE_NATIVE_sha1_compress
#define PHIGH_BITS (GMP_NUMB_BITS * ECC_LIMB_SIZE - 255)
-#if HAVE_NATIVE_ecc_25519_modp
+#if HAVE_NATIVE_ecc_curve25519_modp
-#define ecc_25519_modp _nettle_ecc_25519_modp
+#define ecc_curve25519_modp _nettle_ecc_curve25519_modp
void
-ecc_25519_modp (const struct ecc_modulo *m, mp_limb_t *rp);
+ecc_curve25519_modp (const struct ecc_modulo *m, mp_limb_t *rp);
#else
#if PHIGH_BITS == 0
#endif
static void
-ecc_25519_modp(const struct ecc_modulo *m UNUSED, mp_limb_t *rp)
+ecc_curve25519_modp(const struct ecc_modulo *m UNUSED, mp_limb_t *rp)
{
mp_limb_t hi, cy;
rp[ECC_LIMB_SIZE-1] = (hi & (GMP_NUMB_MASK >> PHIGH_BITS))
+ sec_add_1 (rp, rp, ECC_LIMB_SIZE - 1, 19 * cy);
}
-#endif /* HAVE_NATIVE_ecc_25519_modp */
+#endif /* HAVE_NATIVE_ecc_curve25519_modp */
#define QHIGH_BITS (GMP_NUMB_BITS * ECC_LIMB_SIZE - 252)
#endif
static void
-ecc_25519_modq (const struct ecc_modulo *q, mp_limb_t *rp)
+ecc_curve25519_modq (const struct ecc_modulo *q, mp_limb_t *rp)
{
mp_size_t n;
mp_limb_t cy;
/* Needs 5*ECC_LIMB_SIZE scratch space. */
#define ECC_25519_INV_ITCH (5*ECC_LIMB_SIZE)
-static void ecc_25519_inv (const struct ecc_modulo *p,
+static void ecc_curve25519_inv (const struct ecc_modulo *p,
mp_limb_t *rp, const mp_limb_t *ap,
mp_limb_t *scratch)
{
/* First, do a canonical reduction, then check if zero */
static int
-ecc_25519_zero_p (const struct ecc_modulo *p, mp_limb_t *xp)
+ecc_curve25519_zero_p (const struct ecc_modulo *p, mp_limb_t *xp)
{
mp_limb_t cy;
mp_limb_t w;
#define ECC_25519_SQRT_ITCH (9*ECC_LIMB_SIZE)
static int
-ecc_25519_sqrt(const struct ecc_modulo *p, mp_limb_t *rp,
+ecc_curve25519_sqrt(const struct ecc_modulo *p, mp_limb_t *rp,
const mp_limb_t *up, const mp_limb_t *vp,
mp_limb_t *scratch)
{
ecc_mod_sqr (p, x2, rp);
ecc_mod_mul (p, vx2, x2, vp);
ecc_mod_add (p, t0, vx2, up);
- neg = ecc_25519_zero_p (p, t0);
+ neg = ecc_curve25519_zero_p (p, t0);
ecc_mod_sub (p, t0, up, vx2);
- pos = ecc_25519_zero_p (p, t0);
+ pos = ecc_curve25519_zero_p (p, t0);
ecc_mod_mul (p, t0, rp, ecc_sqrt_z);
cnd_copy (neg, rp, t0, ECC_LIMB_SIZE);
NULL,
ecc_pp1h,
- ecc_25519_modp,
- ecc_25519_modp,
- ecc_25519_inv,
- ecc_25519_sqrt,
+ ecc_curve25519_modp,
+ ecc_curve25519_modp,
+ ecc_curve25519_inv,
+ ecc_curve25519_sqrt,
},
{
253,
NULL,
ecc_qp1h,
- ecc_25519_modq,
- ecc_25519_modq,
+ ecc_curve25519_modq,
+ ecc_curve25519_modq,
ecc_mod_inv,
NULL,
},
#include "ecc-curve448.h"
#if HAVE_NATIVE_ecc_curve448_modp
-#define ecc_448_modp _nettle_ecc_curve448_modp
+#define ecc_curve448_modp _nettle_ecc_curve448_modp
void
-ecc_448_modp (const struct ecc_modulo *m, mp_limb_t *rp);
+ecc_curve448_modp (const struct ecc_modulo *m, mp_limb_t *rp);
#elif GMP_NUMB_BITS == 64
static void
-ecc_448_modp(const struct ecc_modulo *m, mp_limb_t *rp)
+ecc_curve448_modp(const struct ecc_modulo *m, mp_limb_t *rp)
{
/* Let B = 2^64, b = 2^32 = sqrt(B).
p = B^7 - b B^3 - 1 ==> B^7 = b B^3 + 1
assert (c7 == 0);
}
#else
-#define ecc_448_modp ecc_mod
+#define ecc_curve448_modp ecc_mod
#endif
/* Needs 2*ecc->size limbs at rp, and 2*ecc->size additional limbs of
#undef t2
}
-#define ECC_448_INV_ITCH (5*ECC_LIMB_SIZE)
+#define ECC_CURVE448_INV_ITCH (5*ECC_LIMB_SIZE)
-static void ecc_448_inv (const struct ecc_modulo *p,
+static void ecc_curve448_inv (const struct ecc_modulo *p,
mp_limb_t *rp, const mp_limb_t *ap,
mp_limb_t *scratch)
{
/* First, do a canonical reduction, then check if zero */
static int
-ecc_448_zero_p (const struct ecc_modulo *p, mp_limb_t *xp)
+ecc_curve448_zero_p (const struct ecc_modulo *p, mp_limb_t *xp)
{
mp_limb_t cy;
mp_limb_t w;
*/
/* Needs 4*n space + scratch for ecc_mod_pow_446m224m1. */
-#define ECC_448_SQRT_ITCH (9*ECC_LIMB_SIZE)
+#define ECC_CURVE448_SQRT_ITCH (9*ECC_LIMB_SIZE)
static int
-ecc_448_sqrt(const struct ecc_modulo *p, mp_limb_t *rp,
+ecc_curve448_sqrt(const struct ecc_modulo *p, mp_limb_t *rp,
const mp_limb_t *up, const mp_limb_t *vp,
mp_limb_t *scratch)
{
ecc_mod_mul (p, vx2, x2, vp);
ecc_mod_sub (p, t0, vx2, up);
- return ecc_448_zero_p (p, t0);
+ return ecc_curve448_zero_p (p, t0);
#undef u3v
#undef u5v3
ECC_LIMB_SIZE,
ECC_BMODP_SIZE,
0,
- ECC_448_INV_ITCH,
- ECC_448_SQRT_ITCH,
+ ECC_CURVE448_INV_ITCH,
+ ECC_CURVE448_SQRT_ITCH,
ecc_p,
ecc_Bmodp,
NULL,
ecc_pp1h,
- ecc_448_modp,
- ecc_448_modp,
- ecc_448_inv,
- ecc_448_sqrt,
+ ecc_curve448_modp,
+ ecc_curve448_modp,
+ ecc_curve448_inv,
+ ecc_curve448_sqrt,
},
{
446,
ECC_DUP_EH_ITCH (ECC_LIMB_SIZE),
ECC_MUL_A_EH_ITCH (ECC_LIMB_SIZE),
ECC_MUL_G_EH_ITCH (ECC_LIMB_SIZE),
- ECC_EH_TO_A_ITCH (ECC_LIMB_SIZE, ECC_448_INV_ITCH),
+ ECC_EH_TO_A_ITCH (ECC_LIMB_SIZE, ECC_CURVE448_INV_ITCH),
ecc_add_eh,
ecc_add_ehh,
#include "ecc-secp192r1.h"
-#if HAVE_NATIVE_ecc_192_modp
+#if HAVE_NATIVE_ecc_secp192r1_modp
-#define ecc_192_modp _nettle_ecc_192_modp
+#define ecc_secp192r1_modp _nettle_ecc_secp192r1_modp
void
-ecc_192_modp (const struct ecc_modulo *m, mp_limb_t *rp);
+ecc_secp192r1_modp (const struct ecc_modulo *m, mp_limb_t *rp);
/* Use that p = 2^{192} - 2^64 - 1, to eliminate 128 bits at a time. */
#elif GMP_NUMB_BITS == 32
/* p is 6 limbs, p = B^6 - B^2 - 1 */
static void
-ecc_192_modp (const struct ecc_modulo *m UNUSED, mp_limb_t *rp)
+ecc_secp192r1_modp (const struct ecc_modulo *m UNUSED, mp_limb_t *rp)
{
mp_limb_t cy;
#elif GMP_NUMB_BITS == 64
/* p is 3 limbs, p = B^3 - B - 1 */
static void
-ecc_192_modp (const struct ecc_modulo *m UNUSED, mp_limb_t *rp)
+ecc_secp192r1_modp (const struct ecc_modulo *m UNUSED, mp_limb_t *rp)
{
mp_limb_t cy;
}
#else
-#define ecc_192_modp ecc_mod
+#define ecc_secp192r1_modp ecc_mod
#endif
const struct ecc_curve _nettle_secp_192r1 =
ecc_redc_ppm1,
ecc_pp1h,
- ecc_192_modp,
- ecc_192_modp,
+ ecc_secp192r1_modp,
+ ecc_secp192r1_modp,
ecc_mod_inv,
NULL,
},
#include "ecc.h"
#include "ecc-internal.h"
-#if HAVE_NATIVE_ecc_224_modp
+#if HAVE_NATIVE_ecc_secp224r1_modp
#define USE_REDC 0
-#define ecc_224_modp _nettle_ecc_224_modp
+#define ecc_secp224r1_modp _nettle_ecc_secp224r1_modp
void
-ecc_224_modp (const struct ecc_modulo *m, mp_limb_t *rp);
+ecc_secp224r1_modp (const struct ecc_modulo *m, mp_limb_t *rp);
#else
#define USE_REDC (ECC_REDC_SIZE != 0)
-#define ecc_224_modp ecc_mod
+#define ecc_secp224r1_modp ecc_mod
#endif
#include "ecc-secp224r1.h"
#if ECC_REDC_SIZE < 0
-# define ecc_224_redc ecc_pm1_redc
+# define ecc_secp224r1_redc ecc_pm1_redc
#elif ECC_REDC_SIZE == 0
-# define ecc_224_redc NULL
+# define ecc_secp224r1_redc NULL
#else
# error Configuration error
#endif
ecc_redc_ppm1,
ecc_pp1h,
- ecc_224_modp,
- USE_REDC ? ecc_224_redc : ecc_224_modp,
+ ecc_secp224r1_modp,
+ USE_REDC ? ecc_secp224r1_redc : ecc_secp224r1_modp,
ecc_mod_inv,
NULL,
},
#include "ecc.h"
#include "ecc-internal.h"
-#if HAVE_NATIVE_ecc_256_redc
+#if HAVE_NATIVE_ecc_secp256r1_redc
# define USE_REDC 1
#else
# define USE_REDC (ECC_REDC_SIZE != 0)
#include "ecc-secp256r1.h"
-#if HAVE_NATIVE_ecc_256_redc
-# define ecc_256_redc _nettle_ecc_256_redc
+#if HAVE_NATIVE_ecc_secp256r1_redc
+# define ecc_secp256r1_redc _nettle_ecc_secp256r1_redc
void
-ecc_256_redc (const struct ecc_modulo *p, mp_limb_t *rp);
-#else /* !HAVE_NATIVE_ecc_256_redc */
+ecc_secp256r1_redc (const struct ecc_modulo *p, mp_limb_t *rp);
+#else /* !HAVE_NATIVE_ecc_secp256r1_redc */
# if ECC_REDC_SIZE > 0
-# define ecc_256_redc ecc_pp1_redc
+# define ecc_secp256r1_redc ecc_pp1_redc
# elif ECC_REDC_SIZE == 0
-# define ecc_256_redc NULL
+# define ecc_secp256r1_redc NULL
# else
# error Configuration error
# endif
-#endif /* !HAVE_NATIVE_ecc_256_redc */
+#endif /* !HAVE_NATIVE_ecc_secp256r1_redc */
#if ECC_BMODP_SIZE < ECC_LIMB_SIZE
-#define ecc_256_modp ecc_mod
-#define ecc_256_modq ecc_mod
+#define ecc_secp256r1_modp ecc_mod
+#define ecc_secp256r1_modq ecc_mod
#elif GMP_NUMB_BITS == 64
static void
-ecc_256_modp (const struct ecc_modulo *p, mp_limb_t *rp)
+ecc_secp256r1_modp (const struct ecc_modulo *p, mp_limb_t *rp)
{
mp_limb_t u1, u0;
mp_size_t n;
}
static void
-ecc_256_modq (const struct ecc_modulo *q, mp_limb_t *rp)
+ecc_secp256r1_modq (const struct ecc_modulo *q, mp_limb_t *rp)
{
mp_limb_t u2, u1, u0;
mp_size_t n;
ecc_redc_ppm1,
ecc_pp1h,
- ecc_256_modp,
- USE_REDC ? ecc_256_redc : ecc_256_modp,
+ ecc_secp256r1_modp,
+ USE_REDC ? ecc_secp256r1_redc : ecc_secp256r1_modp,
ecc_mod_inv,
NULL,
},
NULL,
ecc_qp1h,
- ecc_256_modq,
- ecc_256_modq,
+ ecc_secp256r1_modq,
+ ecc_secp256r1_modq,
ecc_mod_inv,
NULL,
},
#include "ecc-secp384r1.h"
-#if HAVE_NATIVE_ecc_384_modp
-#define ecc_384_modp _nettle_ecc_384_modp
+#if HAVE_NATIVE_ecc_secp384r1_modp
+#define ecc_secp384r1_modp _nettle_ecc_secp384r1_modp
void
-ecc_384_modp (const struct ecc_modulo *m, mp_limb_t *rp);
+ecc_secp384r1_modp (const struct ecc_modulo *m, mp_limb_t *rp);
#elif GMP_NUMB_BITS == 32
/* Use that 2^{384} = 2^{128} + 2^{96} - 2^{32} + 1, and eliminate 256
almost 8 at a time. Do only 7, to avoid additional carry
propagation, followed by 5. */
static void
-ecc_384_modp (const struct ecc_modulo *p, mp_limb_t *rp)
+ecc_secp384r1_modp (const struct ecc_modulo *p, mp_limb_t *rp)
{
mp_limb_t cy, bw;
/* p is 6 limbs, and B^6 - p = B^2 + 2^32 (B - 1) + 1. Eliminate 3
(almost 4) limbs at a time. */
static void
-ecc_384_modp (const struct ecc_modulo *p, mp_limb_t *rp)
+ecc_secp384r1_modp (const struct ecc_modulo *p, mp_limb_t *rp)
{
mp_limb_t tp[6];
mp_limb_t cy;
assert (cy == 0);
}
#else
-#define ecc_384_modp ecc_mod
+#define ecc_secp384r1_modp ecc_mod
#endif
const struct ecc_curve _nettle_secp_384r1 =
ecc_redc_ppm1,
ecc_pp1h,
- ecc_384_modp,
- ecc_384_modp,
+ ecc_secp384r1_modp,
+ ecc_secp384r1_modp,
ecc_mod_inv,
NULL,
},
#include "ecc-secp521r1.h"
-#if HAVE_NATIVE_ecc_521_modp
-#define ecc_521_modp _nettle_ecc_521_modp
+#if HAVE_NATIVE_ecc_secp521r1_modp
+#define ecc_secp521r1_modp _nettle_ecc_secp521r1_modp
void
-ecc_521_modp (const struct ecc_modulo *m, mp_limb_t *rp);
+ecc_secp521r1_modp (const struct ecc_modulo *m, mp_limb_t *rp);
#else
/* Result may be *slightly* larger than 2^521 */
static void
-ecc_521_modp (const struct ecc_modulo *m UNUSED, mp_limb_t *rp)
+ecc_secp521r1_modp (const struct ecc_modulo *m UNUSED, mp_limb_t *rp)
{
/* FIXME: Should use mpn_addlsh_n_ip1 */
mp_limb_t hi;
ecc_redc_ppm1,
ecc_pp1h,
- ecc_521_modp,
- ecc_521_modp,
+ ecc_secp521r1_modp,
+ ecc_secp521r1_modp,
ecc_mod_inv,
NULL,
},
ecc_modq_add (ecc, sp, sp, rp); /* FIXME: Can be plain add */
if (ecc->p.bit_size == 255)
{
- /* FIXME: Special code duplicated in ecc_25519_modq
+ /* FIXME: Special code duplicated in ecc_curve25519_modq
Define a suitable method for canonical reduction? */
/* q is slightly larger than 2^252, underflow from below
define(<T1>, <%r11>)
define(<M>, <%rbx>)
-PROLOGUE(_nettle_ecc_25519_modp)
+PROLOGUE(_nettle_ecc_curve25519_modp)
W64_ENTRY(2, 0)
push %rbx
pop %rbx
W64_EXIT(2, 0)
ret
-EPILOGUE(_nettle_ecc_25519_modp)
+EPILOGUE(_nettle_ecc_curve25519_modp)
define(<C1>, <%r10>)
define(<C2>, <%r11>)
- C ecc_192_modp (const struct ecc_modulo *m, mp_limb_t *rp)
+ C ecc_secp192r1_modp (const struct ecc_modulo *m, mp_limb_t *rp)
.text
ALIGN(16)
-PROLOGUE(_nettle_ecc_192_modp)
+PROLOGUE(_nettle_ecc_secp192r1_modp)
W64_ENTRY(2, 0)
mov 16(RP), T2
mov 24(RP), T3
W64_EXIT(2, 0)
ret
-EPILOGUE(_nettle_ecc_192_modp)
+EPILOGUE(_nettle_ecc_secp192r1_modp)
define(<F1>, <%r10>)
define(<F2>, <%r11>)
- C ecc_224_modp (const struct ecc_modulo *m, mp_limb_t *rp)
-PROLOGUE(_nettle_ecc_224_modp)
+ C ecc_secp224r1_modp (const struct ecc_modulo *m, mp_limb_t *rp)
+PROLOGUE(_nettle_ecc_secp224r1_modp)
W64_ENTRY(2, 0)
mov 48(RP), H0
mov 56(RP), H1
W64_EXIT(2, 0)
ret
-EPILOGUE(_nettle_ecc_224_modp)
+EPILOGUE(_nettle_ecc_secp224r1_modp)
sbb $1, F2
sbb <$>0, F3
>)
-PROLOGUE(_nettle_ecc_256_redc)
+PROLOGUE(_nettle_ecc_secp256r1_redc)
W64_ENTRY(2, 0)
C save all registers that need to be saved
push %rbx
pop %rbx
W64_EXIT(2, 0)
ret
-EPILOGUE(_nettle_ecc_256_redc)
+EPILOGUE(_nettle_ecc_secp256r1_redc)
define(<TMP>, RP) C Overlap
-PROLOGUE(_nettle_ecc_384_modp)
+PROLOGUE(_nettle_ecc_secp384r1_modp)
W64_ENTRY(2, 0)
push %rbx
W64_EXIT(2, 0)
ret
-EPILOGUE(_nettle_ecc_384_modp)
+EPILOGUE(_nettle_ecc_secp384r1_modp)
define(<T0>, <%r12>)
define(<T1>, <%r13>)
-PROLOGUE(_nettle_ecc_521_modp)
+PROLOGUE(_nettle_ecc_secp521r1_modp)
W64_ENTRY(2, 0)
push %rbx
push %rbp
pop %rbx
W64_EXIT(2, 0)
ret
-EPILOGUE(_nettle_ecc_521_modp)
+EPILOGUE(_nettle_ecc_secp521r1_modp)