tate_bilinear_pairing.ecc
index
/home/ds/workspace/tate_bilinear_pairing/tate_bilinear_pairing/ecc.py

This module is about point addition and point scalar multiplication on the elliptic curve $y^2=x^3-x+1$ over $GF(3^m)$.
Each element in the elliptic curve is expressed by a list of $[(bool)b, (list)x, (list)y]$.
If the value of $b$ is "True", it will mean the element is the point at infinity.
Otherwise, the value of $x$ and $y$ must obey $y^2=x^3-x+1$.

 
Modules
       
random
tate_bilinear_pairing.f3m

 
Functions
       
add(p1, p2)
adding two elements in the elliptic curve group
gen()
generator in the elliptic curve group
inf()
the point at infinity
order()
the least number $k$ such that $k\cdot gen$ is inf in the elliptic curve group
random()
a random point in the elliptic curve group
scalar_mult(n, p)
computing the scalar multiplication $n*p$, where $p$ is a point on the elliptic curve,
and $n$ is an integer scalar value.