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

This module is about operations over the Galois Field $GF(3^{2*m})$, which is an extension
field of $GF(3^m)[y]/g(y)$, where $g(y)=y^2+1$ is an irreducible polynomial over $GF(3^m)$. 
For more information about such extension field, please read 
the paper by T. Kerins, W. P. Marnane, E. M. Popovici, and P.S.L.M. Barreto,
"Efficient hardware for the Tate pairing calculation in characteristic three".

 
Modules
       
tate_bilinear_pairing.f3m

 
Functions
       
add(a, b, c)
doing addition in $GF(3^{2*m})$
The function sets $c == a+b$ and returns nothing.
cubic(a)
computing the cubic of $a$ in GF(3^{2*m}), and returning $a^3$
mult(a, b)
doing multiplication in $GF(3^{2*m})$, and returning $a*b$
one()
the element with value of one in $GF(3^{2*m})$
random()
a random element in $GF(3^{2*m})$
sub(a, b, c)
doing subtraction in $GF(3^{2*m})$
The function sets $c == a+b$ and returns nothing.
zero()
the zero element in $GF(3^{2*m})$