Name Description Size Coverage
ed25519.cpp 3084 -
ed25519.h Create a Ed25519 Public Key. @param alg_id the X.509 algorithm identifier @param key_bits DER encoded public key bits 5722 -
ed25519_fe.cpp h = f * g Can overlap h with f or g. Preconditions: |f| bounded by 1.65*2^26,1.65*2^25,1.65*2^26,1.65*2^25,etc. |g| bounded by 1.65*2^26,1.65*2^25,1.65*2^26,1.65*2^25,etc. Postconditions: |h| bounded by 1.01*2^25,1.01*2^24,1.01*2^25,1.01*2^24,etc. 28050 -
ed25519_fe.h An element of the field \\Z/(2^255-19) An element t, entries t[0]...t[9], represents the integer t[0]+2^26 t[1]+2^51 t[2]+2^77 t[3]+2^102 t[4]+...+2^230 t[9]. Bounds on each t[i] vary depending on context. 4798 -
ed25519_internal.h The set of scalars is \Z/l where l = 2^252 + 27742317777372353535851937790883648493. 2019 -
ed25519_key.cpp rng 10901 -
ge.cpp Here the group is the set of pairs (x,y) of field elements (see ed5519_fe.h) satisfying -x^2 + y^2 = 1 + d x^2y^2 where d = -121665/121666. Several different point representations are used in this implementation 109349 -
info.txt 236 -
sc_muladd.cpp Input: a[0]+256*a[1]+...+256^31*a[31] = a b[0]+256*b[1]+...+256^31*b[31] = b c[0]+256*c[1]+...+256^31*c[31] = c Output: s[0]+256*s[1]+...+256^31*s[31] = (ab+c) mod l where l = 2^252 + 27742317777372353535851937790883648493. 8177 -
sc_reduce.cpp Input: s[0]+256*s[1]+...+256^63*s[63] = s Output: s[0]+256*s[1]+...+256^31*s[31] = s mod l where l = 2^252 + 27742317777372353535851937790883648493. Overwrites s in place. 4882 -