- 
                Notifications
    
You must be signed in to change notification settings  - Fork 43
 
Home
        gionasoldati edited this page Oct 2, 2018 
        ·
        21 revisions
      
    The aim of this section is to establish a common nomenclature to be used among the members of the institute. Our aim is to create a logic and self-consistent nomenclature to help learning.
- Prime numbers: the lowercase letter p should represent an odd prime number;
 - Fields: for a general field the letter K should be used, while the finite field of order q = p^k, where p is an odd prime and k an integer, should be represented as F_q;
 - Elliptic curves: in general an elliptic curve is denoted by E(K), which represents the set of points satisfying the generalized weierstrass equation plus the point at infinity. For what concerns our purposes K will always be a prime finite field (F_p). In this case we can define an elliptic curve entirely through the so called elliptic curve domain parameters: T = (a, b, p, G, n, h).
- a and b defines the weierstrass equation y^2 = x^3 + ax + b;
 - p determines the finite field over which the curve is defined E(F_p): y^2 = x^3 + ax + b (mod p);
 - G is a generator of a cyclic subgroup of E(F_p);
 - n is the order of the cyclic subgroup determined by G;
 - h is the so called cofactor, computed as h = |E(F_p)| / n.
 
 
Lowercase letters are used to denote scalars, while the uppercase equivalent denotes the linked EC point, e.g. cG = C = (x_C, y_C). The coordinates of an EC point should be represented as in the previous example;
- Elliptic curves' key pair: the pair of private and public key should be denoted as (q, Q). If more pairs are needed subscripts should be used;
 - Signature algorithms (ECDSA and Schnorr): || denotes concatenation of bytes string, the conversion functions should be written extensively (hash(), bytes(), int(), etc.), the cryptographically secure nonce should be denoted by k and the equivalent EC point with K = (x_K, y_K);