Uses of Class
net.i2p.crypto.eddsa.math.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 definie curves and fields, and
the mathematical operaions on them.
Specifications for curves and keys, and a table for named curves.
-
Uses of GroupElement in net.i2p.crypto.eddsa
Modifier and TypeMethodDescriptionEdDSAPrivateKey.getA()
EdDSAPublicKey.getA()
EdDSAPublicKey.getNegativeA()
-
Uses of GroupElement in net.i2p.crypto.eddsa.math
Modifier and TypeFieldDescription(package private) final GroupElement[]
GroupElement.dblPrecmp
Precomputed table fordoubleScalarMultiplyVariableTime(GroupElement, byte[], byte[])
, filled if necessary.(package private) final GroupElement[][]
GroupElement.precmp
Precomputed table forscalarMultiply(byte[])
, filled if necessary.Modifier and TypeMethodDescriptionGroupElement.add
(GroupElement q) GroupElement addition using the twisted Edwards addition law with extended coordinates (Hisil2008).static GroupElement
GroupElement.cached
(Curve curve, FieldElement YpX, FieldElement YmX, FieldElement Z, FieldElement T2d) Creates a new group element in CACHED representation.(package private) GroupElement
GroupElement.cmov
(GroupElement u, int b) Constant-time conditional move.Curve.createPoint
(byte[] P, boolean precompute) 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 A, 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) GroupElement.negate()
Negates this group element by subtracting it from the neutral group element.static GroupElement
GroupElement.p1p1
(Curve curve, FieldElement X, FieldElement Y, FieldElement Z, FieldElement T) Creates a new group element in P1P1 representation.static GroupElement
GroupElement.p2
(Curve curve, FieldElement X, FieldElement Y, FieldElement Z) Creates a new group element in P2 representation.static GroupElement
GroupElement.p3
(Curve curve, FieldElement X, FieldElement Y, FieldElement Z, FieldElement T) Creates a new group element in P3 representation, without pre-computation.static GroupElement
GroupElement.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 GroupElement
GroupElement.precomp
(Curve curve, FieldElement ypx, FieldElement ymx, FieldElement xy2d) Creates a new group element in PRECOMP representation.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) GroupElement
GroupElement.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.Modifier and TypeMethodDescriptionGroupElement.add
(GroupElement q) GroupElement addition using the twisted Edwards addition law with extended coordinates (Hisil2008).(package private) GroupElement
GroupElement.cmov
(GroupElement u, int b) Constant-time conditional move.GroupElement.doubleScalarMultiplyVariableTime
(GroupElement A, 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.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
Modifier and TypeMethodDescriptionEdDSAPrivateKeySpec.getA()
EdDSAPublicKeySpec.getA()
EdDSAParameterSpec.getB()
EdDSAPublicKeySpec.getNegativeA()
ModifierConstructorDescriptionEdDSANamedCurveSpec
(String name, Curve curve, String hashAlgo, ScalarOps sc, GroupElement B) EdDSAParameterSpec
(Curve curve, String hashAlgo, ScalarOps sc, GroupElement B) EdDSAPrivateKeySpec
(byte[] seed, byte[] h, byte[] a, GroupElement A, EdDSAParameterSpec spec) No validation of any parameters other than a.EdDSAPrivateKeySpec
(byte[] a, GroupElement A, EdDSAParameterSpec spec) No validation of any parameters other than a.