Package | Description |
---|---|
org.mariadb.jdbc.internal.com.send.authentication.ed25519.math | |
org.mariadb.jdbc.internal.com.send.authentication.ed25519.math.ed25519 |
Modifier and Type | Field and Description |
---|---|
private FieldElement |
Curve.d |
private FieldElement |
Curve.d2 |
FieldElement |
Field.EIGHT |
FieldElement |
Field.FIVE |
FieldElement |
Field.FOUR |
private FieldElement |
Curve.I |
FieldElement |
Field.ONE |
private FieldElement |
Field.q |
private FieldElement |
Field.qm2
q-2
|
private FieldElement |
Field.qm5d8
(q-5) / 8
|
(package private) FieldElement |
GroupElement.T
Variable is package private only so that tests run.
|
FieldElement |
Field.TWO |
(package private) FieldElement |
GroupElement.X
Variable is package private only so that tests run.
|
(package private) FieldElement |
GroupElement.Y
Variable is package private only so that tests run.
|
(package private) FieldElement |
GroupElement.Z
Variable is package private only so that tests run.
|
FieldElement |
Field.ZERO |
Modifier and Type | Method and Description |
---|---|
abstract FieldElement |
FieldElement.add(FieldElement val) |
FieldElement |
FieldElement.addOne() |
abstract FieldElement |
FieldElement.cmov(FieldElement val,
int b) |
abstract FieldElement |
Encoding.decode(byte[] in)
Decode a FieldElement from its $(b-1)$-bit encoding.
|
FieldElement |
FieldElement.divide(FieldElement val) |
FieldElement |
Field.fromByteArray(byte[] x) |
FieldElement |
Curve.get2D() |
FieldElement |
Curve.getD() |
FieldElement |
Curve.getI() |
FieldElement |
Field.getQ() |
FieldElement |
Field.getQm2() |
FieldElement |
Field.getQm5d8() |
FieldElement |
GroupElement.getT()
Gets the $T$ value of the group element.
|
FieldElement |
GroupElement.getX()
Gets the $X$ value of the group element.
|
FieldElement |
GroupElement.getY()
Gets the $Y$ value of the group element.
|
FieldElement |
GroupElement.getZ()
Gets the $Z$ value of the group element.
|
abstract FieldElement |
FieldElement.invert() |
abstract FieldElement |
FieldElement.multiply(FieldElement val) |
abstract FieldElement |
FieldElement.negate() |
abstract FieldElement |
FieldElement.pow22523() |
abstract FieldElement |
FieldElement.square() |
abstract FieldElement |
FieldElement.squareAndDouble() |
abstract FieldElement |
FieldElement.subtract(FieldElement val) |
FieldElement |
FieldElement.subtractOne() |
Modifier and Type | Method and Description |
---|---|
abstract FieldElement |
FieldElement.add(FieldElement val) |
static GroupElement |
GroupElement.cached(Curve curve,
FieldElement YpX,
FieldElement YmX,
FieldElement Z,
FieldElement T2d)
Creates a new group element in CACHED representation.
|
abstract FieldElement |
FieldElement.cmov(FieldElement val,
int b) |
FieldElement |
FieldElement.divide(FieldElement val) |
abstract byte[] |
Encoding.encode(FieldElement x)
Encode a FieldElement in its $(b-1)$-bit encoding.
|
abstract boolean |
Encoding.isNegative(FieldElement x)
From the Ed25519 paper:
$x$ is negative if the $(b-1)$-bit encoding of $x$ is lexicographically larger than the $(b-1)$-bit encoding of -x. |
abstract FieldElement |
FieldElement.multiply(FieldElement val) |
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.
|
abstract FieldElement |
FieldElement.subtract(FieldElement val) |
Constructor and Description |
---|
Curve(Field f,
byte[] d,
FieldElement I) |
GroupElement(Curve curve,
GroupElement.Representation repr,
FieldElement X,
FieldElement Y,
FieldElement Z,
FieldElement T)
Creates a group element for a curve.
|
Modifier and Type | Class and Description |
---|---|
class |
Ed25519FieldElement
Class to represent a field element of the finite field $p = 2^{255} - 19$ elements.
|
Modifier and Type | Method and Description |
---|---|
FieldElement |
Ed25519FieldElement.add(FieldElement val)
$h = f + g$
|
FieldElement |
Ed25519FieldElement.cmov(FieldElement val,
int b)
Constant-time conditional move.
|
FieldElement |
Ed25519LittleEndianEncoding.decode(byte[] in)
Decodes a given field element in its 10 byte $2^{25.5}$ representation.
|
FieldElement |
Ed25519FieldElement.invert()
Invert this field element.
|
FieldElement |
Ed25519FieldElement.multiply(FieldElement val)
$h = f * g$
|
FieldElement |
Ed25519FieldElement.negate()
$h = -f$
|
FieldElement |
Ed25519FieldElement.pow22523()
Gets this field element to the power of $(2^{252} - 3)$.
|
FieldElement |
Ed25519FieldElement.square()
$h = f * f$
|
FieldElement |
Ed25519FieldElement.squareAndDouble()
$h = 2 * f * f$
|
FieldElement |
Ed25519FieldElement.subtract(FieldElement val)
$h = f - g$
|
Modifier and Type | Method and Description |
---|---|
FieldElement |
Ed25519FieldElement.add(FieldElement val)
$h = f + g$
|
FieldElement |
Ed25519FieldElement.cmov(FieldElement val,
int b)
Constant-time conditional move.
|
byte[] |
Ed25519LittleEndianEncoding.encode(FieldElement x)
Encodes a given field element in its 32 byte representation.
|
boolean |
Ed25519LittleEndianEncoding.isNegative(FieldElement x)
Is the FieldElement negative in this encoding?
|
FieldElement |
Ed25519FieldElement.multiply(FieldElement val)
$h = f * g$
|
FieldElement |
Ed25519FieldElement.subtract(FieldElement val)
$h = f - g$
|