Package org.bouncycastle.math.ec.sm9


package org.bouncycastle.math.ec.sm9
Curve, extension-field and pairing arithmetic for the SM9 identity-based cryptographic algorithms (GM/T 0044.5-2016): the 256-bit Barreto-Naehrig curve with its G1 group (see SM9Curve, backed by the constant-time Montgomery curve SM9P256V1Curve), the G2 sextic twist over F_p2 (SM9G2Point), the F_p2/F_p4/F_p12 1-2-4-12 tower, and the R-ate pairing e: G1 x G2 -> G_T (SM9Pairing, target group Fp12). The SM9 schemes built on this package live in the standard lightweight packages: the signer in org.bouncycastle.crypto.signers, the KEM in org.bouncycastle.crypto.kems, the public-key cipher in org.bouncycastle.crypto.engines, the key exchange in org.bouncycastle.crypto.agreement, the master key-pair generators in org.bouncycastle.crypto.generators and the key parameters in org.bouncycastle.crypto.params.
  • Classes
    Class
    Description
    Element of F_p12 = F_p4[w]/(w^3 - v), i.e.
    Fixed system parameters of the SM9 256-bit BN curve (GM/T 0044.5-2016, clause 1).
    Affine point of the group G2 for SM9: the sextic twist E'(F_p2): y^2 = x^3 + 5u (GM/T 0044.5-2016).
    The SM9 R-ate pairing e: G1 x G2 -> G_T over the 256-bit BN curve (GM/T 0044.5-2016).