Definition of Fq12 math. More...
#include <stdint.h>
Functions | |
void | Fq12Add (Fq12Elem *result, Fq12Elem const *left, Fq12Elem const *right) |
Add two elements of Fq12. More... | |
void | Fq12Sub (Fq12Elem *result, Fq12Elem const *left, Fq12Elem const *right) |
Subtract two elements of Fq12. More... | |
void | Fq12Square (Fq12Elem *result, Fq12Elem const *in) |
Square an element of Fq12. More... | |
void | Fq12Mul (Fq12Elem *result, Fq12Elem const *left, Fq12Elem const *right) |
Multiply two elements of Fq12. More... | |
void | Fq12Inv (Fq12Elem *result, Fq12Elem const *in) |
Invert an element of Fq12. More... | |
void | Fq12Neg (Fq12Elem *result, Fq12Elem const *in) |
Negate an element of Fq12. More... | |
void | Fq12Set (Fq12Elem *result, uint32_t val) |
Set an element's value. More... | |
void | Fq12Exp (Fq12Elem *result, Fq12Elem const *base, VeryLargeInt const *exp) |
Exponentiate an element of Fq12 by a large integer. More... | |
void | Fq12MultiExp (Fq12Elem *result, Fq12Elem const *base0, VeryLargeInt const *exp0, Fq12Elem const *base1, VeryLargeInt const *exp1, Fq12Elem const *base2, VeryLargeInt const *exp2, Fq12Elem const *base3, VeryLargeInt const *exp3) |
Multiply of exponentiation of elements of Fq12 by a large integers. More... | |
int | Fq12Eq (Fq12Elem const *left, Fq12Elem const *right) |
Test if two elements in Fq12 are equal. More... | |
void | Fq12Conj (Fq12Elem *result, Fq12Elem const *in) |
Calculate the conjugate of an element of Fq2. More... | |
void | Fq12ExpCyc (Fq12Elem *result, Fq12Elem const *in, VeryLargeInt const *t) |
Calculate the cyclotomic exponentiation of an element of Fq12 by another element of Fq12. More... | |
void | Fq12SqCyc (Fq12Elem *result, Fq12Elem const *in) |
Calculate the cyclotomic square of an element of fq12. More... | |
void | Fq12MulSpecial (Fq12Elem *result, Fq12Elem const *left, Fq12Elem const *right) |
Multiply two elements of Fq12. More... | |
void | Fq12Cp (Fq12Elem *result, Fq12Elem const *in) |
Copy an element's value. More... | |
void | Fq12Clear (Fq12Elem *result) |
Clear an element's value. More... | |
Definition of Fq12 math.
Add two elements of Fq12.
[out] | result | of adding left and right. |
[in] | left | The first operand to be added. |
[in] | right | The second operand to be added. |
void Fq12Clear | ( | Fq12Elem * | result | ) |
Clear an element's value.
[out] | result | element to clear. |
Calculate the conjugate of an element of Fq2.
[out] | result | the conjugate of the element. |
[in] | in | the element. |
Copy an element's value.
[out] | result | copy target. |
[in] | in | copy source. |
Test if two elements in Fq12 are equal.
[in] | left | The first operand to be tested. |
[in] | right | The second operand to be tested. |
void Fq12Exp | ( | Fq12Elem * | result, |
Fq12Elem const * | base, | ||
VeryLargeInt const * | exp | ||
) |
Exponentiate an element of Fq12 by a large integer.
[out] | result | target. |
[in] | base | the base. |
[in] | exp | the exponent. |
void Fq12ExpCyc | ( | Fq12Elem * | result, |
Fq12Elem const * | in, | ||
VeryLargeInt const * | t | ||
) |
Calculate the cyclotomic exponentiation of an element of Fq12 by another element of Fq12.
[in,out] | result | the base of the exponentiation. This will receive the result. |
[in] | in | the exponent. |
[in] | t | pairing parameter t |
Invert an element of Fq12.
[out] | result | the inverse of the element. |
[in] | in | the element to invert. |
Multiply two elements of Fq12.
[out] | result | of multiplying left and right. |
[in] | left | The first operand to be multiplied. |
[in] | right | The second operand to be multiplied. |
Multiply two elements of Fq12.
Requires that b[2] = b[4] = b[5] = 0. where right = ((b[0], b[2], b[4]), (b[1], b[3], b[5]))
[out] | result | of multiplying left and right. |
[in] | left | The first operand to be multiplied. |
[in] | right | The second operand to be multiplied. |
void Fq12MultiExp | ( | Fq12Elem * | result, |
Fq12Elem const * | base0, | ||
VeryLargeInt const * | exp0, | ||
Fq12Elem const * | base1, | ||
VeryLargeInt const * | exp1, | ||
Fq12Elem const * | base2, | ||
VeryLargeInt const * | exp2, | ||
Fq12Elem const * | base3, | ||
VeryLargeInt const * | exp3 | ||
) |
Multiply of exponentiation of elements of Fq12 by a large integers.
[out] | result | target. |
[in] | base0 | the base. |
[in] | exp0 | the exponent. |
[in] | base1 | the base. |
[in] | exp1 | the exponent. |
[in] | base2 | the base. |
[in] | exp2 | the exponent. |
[in] | base3 | the base. |
[in] | exp3 | the exponent. |
Negate an element of Fq12.
[out] | result | the negative of the element. |
[in] | in | the element to negate. |
void Fq12Set | ( | Fq12Elem * | result, |
uint32_t | val | ||
) |
Set an element's value.
[out] | result | target. |
[in] | val | value to set. |
Calculate the cyclotomic square of an element of fq12.
[in,out] | result | result of the cyclotomic square. |
[in] | in | the base. |
Square an element of Fq12.
[out] | result | the square of the element. |
[in] | in | the element to square. |