curve25519_32.c |
Derived from machine-generated code via Fiat-Crypto:
https://github.com/mit-plv/fiat-crypto and https://github.com/briansmith/ring
The below captures notable changes:
1. Convert custom integer types to stdint.h types
|
48259 |
curve25519_64.c |
|
789 |
ec_naf.c |
Returns 2^e as an integer. This is meant to be used for small powers of
two. |
1868 |
ecl-curve.h |
copied from certt.h |
17728 |
ecl-exp.h |
Curve field type |
6944 |
ecl-priv.h |
MAX_FIELD_SIZE_DIGITS is the maximum size of field element supported |
11644 |
ecl.c |
Allocate memory for a new ECGroup object. |
9984 |
ecl.h |
Although this is not an exported header file, code which uses elliptic
curve point operations will need to include it. |
2691 |
ecl_gf.c |
Allocate memory for a new GFMethod object. |
24865 |
ecl_mult.c |
Elliptic curve scalar-point multiplication. Computes R(x, y) = k * P(x,
y). If x, y = NULL, then P is assumed to be the generator (base point)
of the group of points on the elliptic curve. Input and output values
are assumed to be NOT field-encoded. |
10983 |
eclt.h |
This header holds ECC types and must not be exported publicly. |
785 |
ecp.h |
Checks if point P(px, py) is at infinity. Uses affine coordinates. |
4958 |
ecp_256.c |
Fast modular reduction for p256 = 2^256 - 2^224 + 2^192+ 2^96 - 1. a can be r.
Uses algorithm 2.29 from Hankerson, Menezes, Vanstone. Guide to
Elliptic Curve Cryptography. |
12789 |
ecp_256_32.c |
A 32-bit implementation of the NIST P-256 elliptic curve. |
53655 |
ecp_384.c |
Fast modular reduction for p384 = 2^384 - 2^128 - 2^96 + 2^32 - 1. a can be r.
Uses algorithm 2.30 from Hankerson, Menezes, Vanstone. Guide to
Elliptic Curve Cryptography. |
7696 |
ecp_521.c |
Fast modular reduction for p521 = 2^521 - 1. a can be r. Uses
algorithm 2.31 from Hankerson, Menezes, Vanstone. Guide to
Elliptic Curve Cryptography. |
4083 |
ecp_25519.c |
curve 25519 https://www.rfc-editor.org/rfc/rfc7748.txt |
4897 |
ecp_aff.c |
Checks if point P(px, py) is at infinity. Uses affine coordinates. |
10289 |
ecp_jac.c |
Converts a point P(px, py) from affine coordinates to Jacobian
projective coordinates R(rx, ry, rz). Assumes input is already
field-encoded using field_enc, and returns output that is still
field-encoded. |
18801 |
ecp_jm.c |
Computes R = 2P. Elliptic curve points P and R can be identical. Uses
Modified Jacobian coordinates.
Assumes input is already field-encoded using field_enc, and returns
output that is still field-encoded.
|
10208 |
ecp_mont.c |
Uses Montgomery reduction for field arithmetic. See mpi/mpmontg.c for
code implementation. |
4106 |
ecp_secp256r1.c |
P-256 from HACL* |
6104 |
ecp_secp384r1.c |
Autogenerated: ECCKiila https://gitlab.com/nisec/ecckiila |
928552 |
ecp_secp384r1.h |
-
Wrapper: simultaneous scalar mutiplication.
outx, outy := a * G + b * P
where P = (inx, iny).
Everything is LE byte ordering.
|
1333 |
ecp_secp384r1_wrap.c |
-
reverse bytes -- total hack
|
7484 |
ecp_secp521r1.c |
Autogenerated: ECCKiila https://gitlab.com/nisec/ecckiila |
561578 |
ecp_secp521r1.h |
-
Wrapper: simultaneous scalar mutiplication.
outx, outy := a * G + b * P
where P = (inx, iny).
Everything is LE byte ordering.
|
1191 |
ecp_secp521r1_wrap.c |
-
reverse bytes -- total hack
|
8375 |
README |
This Source Code Form is subject to the terms of the Mozilla Public |
6429 |