Notation
- Scalars (integers) will be written as lower case letters ($x$).
- Points on the curve will be written as upper case letters ($X$).
- Scalar multiplication will be written with no explicit notation ($xY$ is the scalar multiplication of the point $Y$ by the scalar $x$).
- Vectors (including vectors of points) will always be written in bold ($\textbf{x}, \textbf{X}$) when not expanded out into components.
- For matrices, the following notation will be used: $\mathbb{X}$.
- The implicit product of a scalar vector by a point vector will be written as: $a_1G_1 + a_2G_2 + \ldots + a_nG_n = \textbf{aG}$. Note that this is a single curve point.
- Hash to point: $\mathcal{H_p}$
- Hash to scalar: $\mathcal{H_s}$
- Hash: $\mathcal{H}$
- Inner product: ${\langle {\mathbf{a}}, {\mathbf{b}} \rangle} = \sum_{i=0}^{n-1} a_i \cdot b_i$
- Hadamard product (which is a vector): $\textbf{a} \circ \textbf{b} = [a_1b_1, a_2b_2, \ldots, a_nb_n]$