Packages that use GroupElement
Package
Description
Java implementation of EdDSA, a digital signature scheme using a variant of elliptic curve cryptography based on Twisted Edwards curves.
Data structures that define curves and fields, and the mathematical operations on them.
Specifications and parameter tables for EdDSA elliptic curves and keys, including the Ed25519 (Curve25519) specification and the named-curve registry.
Uses of GroupElement in net.i2p.crypto.eddsa
Fields in net.i2p.crypto.eddsa declared as GroupElementModifier and TypeFieldDescriptionprivate final GroupElementEdDSAPrivateKey.AThe public key point.private final GroupElementEdDSAPublicKey.AThe public key point.private GroupElementEdDSAPublicKey.AnegThe negated public key point, lazily initialized.Methods in net.i2p.crypto.eddsa that return GroupElementModifier and TypeMethodDescriptionEdDSAPrivateKey.getA()The public key point.EdDSAPublicKey.getA()The public key point A.EdDSAPublicKey.getNegativeA()The negated public key point.Uses of GroupElement in net.i2p.crypto.eddsa.math
Fields in net.i2p.crypto.eddsa.math declared as GroupElementModifier and TypeFieldDescription(package private) final GroupElement[]GroupElement.dblPrecmpPrecomputed table forGroupElement.doubleScalarMultiplyVariableTime(GroupElement, byte[], byte[]), filled if necessary.(package private) final GroupElement[][]GroupElement.precmpPrecomputed table forGroupElement.scalarMultiply(byte[]), filled if necessary.private final GroupElementCurve.zeroP2Zero p2.private final GroupElementCurve.zeroP3Zero p3.private final GroupElementCurve.zeroP3PrecomputedDoubleZero p3 precomputed double.private final GroupElementCurve.zeroPrecompZero precomp.Methods in net.i2p.crypto.eddsa.math that return GroupElementModifier and TypeMethodDescriptionfinal GroupElementGroupElement.add(GroupElement q) GroupElement addition using the twisted Edwards addition law with extended coordinates (Hisil2008).static GroupElementGroupElement.cached(Curve curve, FieldElement ypX, FieldElement ymX, FieldElement z, FieldElement t2d) Creates a new group element in CACHED representation.(package private) GroupElementGroupElement.cmov(GroupElement u, int b) Constant-time conditional move.Curve.createPoint(byte[] p, boolean precompute) Create a point from an encoded representation.GroupElement.dbl()Doubles a given group element $p$ in $P^2$ or $P^3$ representation and returns the result in $P \times P$ representation.GroupElement.doubleScalarMultiplyVariableTime(GroupElement aPoint, byte[] a, byte[] b) $r = a * A + b * B$ where $a = a[0]+256*a[1]+\dots+256^{31} a[31]$, $b = b[0]+256*b[1]+\dots+256^{31} b[31]$ and $B$ is this point.Curve.getZero(GroupElement.Representation repr) Return the zero element for the given representation.(package private) GroupElementGroupElement.madd(GroupElement q) GroupElement addition using the twisted Edwards addition law with extended coordinates (Hisil2008).private GroupElementGroupElement.msub(GroupElement q) GroupElement subtraction using the twisted Edwards addition law with extended coordinates (Hisil2008).GroupElement.negate()Negates this group element by subtracting it from the neutral group element.static GroupElementGroupElement.p1p1(Curve curve, FieldElement x, FieldElement y, FieldElement z, FieldElement t) Creates a new group element in P1P1 representation.static GroupElementGroupElement.p2(Curve curve, FieldElement x, FieldElement y, FieldElement z) Creates a new group element in P2 representation.static GroupElementGroupElement.p3(Curve curve, FieldElement x, FieldElement y, FieldElement z, FieldElement t) Creates a new group element in P3 representation, without pre-computation.static GroupElementGroupElement.p3(Curve curve, FieldElement x, FieldElement y, FieldElement z, FieldElement t, boolean precomputeDoubleOnly) Creates a new group element in P3 representation, potentially with pre-computation.static GroupElementGroupElement.precomp(Curve curve, FieldElement ypx, FieldElement ymx, FieldElement xy2d) Creates a new group element in PRECOMP representation.private GroupElement[]GroupElement.precomputeDouble()Precomputes table forGroupElement.doubleScalarMultiplyVariableTime(GroupElement, byte[], byte[]).private GroupElement[][]GroupElement.precomputeSingle()Precomputes table forGroupElement.scalarMultiply(byte[]).GroupElement.scalarMultiply(byte[] a) $h = a * B$ where $a = a[0]+256*a[1]+\dots+256^{31} a[31]$ and $B$ is this point.(package private) GroupElementGroupElement.select(int pos, int b) Look up $16^i r_i B$ in the precomputed table.GroupElement.sub(GroupElement q) GroupElement subtraction using the twisted Edwards addition law with extended coordinates (Hisil2008).GroupElement.toCached()Converts the group element to the CACHED representation.GroupElement.toP2()Converts the group element to the P2 representation.GroupElement.toP3()Converts the group element to the P3 representation.GroupElement.toP3PrecomputeDouble()Converts the group element to the P3 representation, with dblPrecmp populated.private GroupElementGroupElement.toRep(GroupElement.Representation repr) Convert a GroupElement from one Representation to another.Methods in net.i2p.crypto.eddsa.math with parameters of type GroupElementModifier and TypeMethodDescriptionfinal GroupElementGroupElement.add(GroupElement q) GroupElement addition using the twisted Edwards addition law with extended coordinates (Hisil2008).(package private) GroupElementGroupElement.cmov(GroupElement u, int b) Constant-time conditional move.GroupElement.doubleScalarMultiplyVariableTime(GroupElement aPoint, byte[] a, byte[] b) $r = a * A + b * B$ where $a = a[0]+256*a[1]+\dots+256^{31} a[31]$, $b = b[0]+256*b[1]+\dots+256^{31} b[31]$ and $B$ is this point.(package private) GroupElementGroupElement.madd(GroupElement q) GroupElement addition using the twisted Edwards addition law with extended coordinates (Hisil2008).private GroupElementGroupElement.msub(GroupElement q) GroupElement subtraction using the twisted Edwards addition law with extended coordinates (Hisil2008).GroupElement.sub(GroupElement q) GroupElement subtraction using the twisted Edwards addition law with extended coordinates (Hisil2008).Uses of GroupElement in net.i2p.crypto.eddsa.spec
Fields in net.i2p.crypto.eddsa.spec declared as GroupElementModifier and TypeFieldDescriptionprivate final GroupElementEdDSAPrivateKeySpec.AThe matching public point.private final GroupElementEdDSAPublicKeySpec.AThe public key's point.private GroupElementEdDSAPublicKeySpec.AnegThe negated point, computed on first use.private final GroupElementEdDSAParameterSpec.BThe base point.Methods in net.i2p.crypto.eddsa.spec that return GroupElementModifier and TypeMethodDescriptionEdDSAPrivateKeySpec.getA()Return the public key.EdDSAPublicKeySpec.getA()Returns the public key group element.EdDSAParameterSpec.getB()Return the base (generator) point.EdDSAPublicKeySpec.getNegativeA()Returns the negation of the public key group element.Constructors in net.i2p.crypto.eddsa.spec with parameters of type GroupElementModifierConstructorDescriptionEdDSANamedCurveSpec(String name, Curve curve, String hashAlgo, ScalarOps sc, GroupElement b) Create a named curve specification.EdDSAParameterSpec(Curve curve, String hashAlgo, ScalarOps sc, GroupElement b) Create a new EdDSA parameter specification.EdDSAPrivateKeySpec(byte[] seed, byte[] h, byte[] a, GroupElement aPoint, EdDSAParameterSpec spec) No validation of any parameters other than a.EdDSAPrivateKeySpec(byte[] a, GroupElement aPoint, EdDSAParameterSpec spec) No validation of any parameters other than a.EdDSAPublicKeySpec(GroupElement aPoint, EdDSAParameterSpec spec) Public key specification from a group element.