Package | Description |
---|---|
net.i2p.crypto.eddsa |
Java implementation of EdDSA, a digital signature scheme using
a variant of elliptic curve cryptography based on Twisted Edwards curves.
|
net.i2p.crypto.eddsa.math |
Data structures that definie curves and fields, and
the mathematical operaions on them.
|
net.i2p.crypto.eddsa.spec |
Specifications for curves and keys, and a table for named curves,
initially containing only the 25519 curve "ed25519-sha-512".
|
Modifier and Type | Method and Description |
---|---|
GroupElement |
EdDSAPrivateKey.getA() |
GroupElement |
EdDSAPublicKey.getA() |
GroupElement |
EdDSAPublicKey.getNegativeA() |
Modifier and Type | Field and Description |
---|---|
(package private) GroupElement[] |
GroupElement.dblPrecmp
Precomputed table for
doubleScalarMultiplyVariableTime(GroupElement, byte[], byte[]) ,
filled if necessary. |
(package private) GroupElement[][] |
GroupElement.precmp
Precomputed table for
scalarMultiply(byte[]) ,
filled if necessary. |
Modifier and Type | Method and Description |
---|---|
GroupElement |
GroupElement.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.
|
GroupElement |
Curve.createPoint(byte[] P,
boolean precompute) |
GroupElement |
GroupElement.dbl()
Doubles a given group element p in P^2 or P^3 representation and returns the result in P x P representation.
|
GroupElement |
GroupElement.doubleScalarMultiplyVariableTime(GroupElement A,
byte[] a,
byte[] b)
r = a * A + b * B where a = a[0]+256*a[1]+...+256^31 a[31],
b = b[0]+256*b[1]+...+256^31 b[31] and B is this point.
|
GroupElement |
Curve.getZero(GroupElement.Representation repr) |
GroupElement |
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.
|
static GroupElement |
GroupElement.precomp(Curve curve,
FieldElement ypx,
FieldElement ymx,
FieldElement xy2d)
Creates a new group element in PRECOMP representation.
|
GroupElement |
GroupElement.scalarMultiply(byte[] a)
h = a * B where a = a[0]+256*a[1]+...+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 |
GroupElement.sub(GroupElement q)
GroupElement subtraction using the twisted Edwards addition law with
extended coordinates (Hisil2008).
|
GroupElement |
GroupElement.toCached()
Converts the group element to the CACHED representation.
|
GroupElement |
GroupElement.toP2()
Converts the group element to the P2 representation.
|
GroupElement |
GroupElement.toP3()
Converts the group element to the P3 representation.
|
Modifier and Type | Method and Description |
---|---|
GroupElement |
GroupElement.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 |
GroupElement.doubleScalarMultiplyVariableTime(GroupElement A,
byte[] a,
byte[] b)
r = a * A + b * B where a = a[0]+256*a[1]+...+256^31 a[31],
b = b[0]+256*b[1]+...+256^31 b[31] and B is this point.
|
GroupElement |
GroupElement.sub(GroupElement q)
GroupElement subtraction using the twisted Edwards addition law with
extended coordinates (Hisil2008).
|
Modifier and Type | Method and Description |
---|---|
GroupElement |
EdDSAPublicKeySpec.getA() |
GroupElement |
EdDSAPrivateKeySpec.getA() |
GroupElement |
EdDSAParameterSpec.getB() |
GroupElement |
EdDSAPublicKeySpec.getNegativeA() |
Constructor and Description |
---|
EdDSANamedCurveSpec(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) |
EdDSAPublicKeySpec(GroupElement A,
EdDSAParameterSpec spec) |