public class Fp12
extends java.lang.Object
Fp4. Immutable.| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(java.lang.Object other) |
int |
hashCode() |
Fp12 |
multiply(Fp12 o) |
Fp12 |
pow(java.math.BigInteger e)
Variable-time exponentiation, for PUBLIC exponents only (the pairing's
Frobenius and final exponentiation, and g^h' in signature verification).
|
Fp12 |
powSecure(java.math.BigInteger e)
Constant-pattern exponentiation for SECRET exponents (a Montgomery ladder
running a fixed number of iterations - the SM9 group order bit length - with
exactly one multiply and one square per bit regardless of the exponent bits),
used for w = g^r where r is a signing nonce or ephemeral secret.
|
public Fp12 pow(java.math.BigInteger e)
powSecure(java.math.BigInteger).public Fp12 powSecure(java.math.BigInteger e)
pow(java.math.BigInteger), the operation pattern does not leak the exponent's Hamming
weight or individual bits. The exponent must satisfy 0 <= e < N (every
SM9 secret exponent is reduced mod the group order N).
NOTE: the underlying F_p arithmetic is BigInteger-based and is not itself constant time, so this removes the exponent-structure leak but not every timing side channel.
public boolean equals(java.lang.Object other)
equals in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.Object