Package org.bouncycastle.math.ec.rfc8032
Class Ed25519
- java.lang.Object
-
- org.bouncycastle.math.ec.rfc8032.Ed25519
-
public abstract class Ed25519 extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Ed25519.Algorithm
-
Field Summary
Fields Modifier and Type Field Description static int
PREHASH_SIZE
static int
PUBLIC_KEY_SIZE
static int
SECRET_KEY_SIZE
static int
SIGNATURE_SIZE
-
Constructor Summary
Constructors Constructor Description Ed25519()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Digest
createPrehash()
static void
generatePrivateKey(java.security.SecureRandom random, byte[] k)
static void
generatePublicKey(byte[] sk, int skOff, byte[] pk, int pkOff)
static void
precompute()
static void
scalarMultBaseYZ(X25519.Friend friend, byte[] k, int kOff, int[] y, int[] z)
NOTE: Only for use by X25519static void
sign(byte[] sk, int skOff, byte[] ctx, byte[] m, int mOff, int mLen, byte[] sig, int sigOff)
static void
sign(byte[] sk, int skOff, byte[] pk, int pkOff, byte[] ctx, byte[] m, int mOff, int mLen, byte[] sig, int sigOff)
static void
sign(byte[] sk, int skOff, byte[] pk, int pkOff, byte[] m, int mOff, int mLen, byte[] sig, int sigOff)
static void
sign(byte[] sk, int skOff, byte[] m, int mOff, int mLen, byte[] sig, int sigOff)
static void
signPrehash(byte[] sk, int skOff, byte[] ctx, byte[] ph, int phOff, byte[] sig, int sigOff)
static void
signPrehash(byte[] sk, int skOff, byte[] pk, int pkOff, byte[] ctx, byte[] ph, int phOff, byte[] sig, int sigOff)
static void
signPrehash(byte[] sk, int skOff, byte[] pk, int pkOff, byte[] ctx, Digest ph, byte[] sig, int sigOff)
static void
signPrehash(byte[] sk, int skOff, byte[] ctx, Digest ph, byte[] sig, int sigOff)
static boolean
verify(byte[] sig, int sigOff, byte[] pk, int pkOff, byte[] ctx, byte[] m, int mOff, int mLen)
static boolean
verify(byte[] sig, int sigOff, byte[] pk, int pkOff, byte[] m, int mOff, int mLen)
static boolean
verifyPrehash(byte[] sig, int sigOff, byte[] pk, int pkOff, byte[] ctx, byte[] ph, int phOff)
static boolean
verifyPrehash(byte[] sig, int sigOff, byte[] pk, int pkOff, byte[] ctx, Digest ph)
-
-
-
Field Detail
-
PREHASH_SIZE
public static final int PREHASH_SIZE
- See Also:
- Constant Field Values
-
PUBLIC_KEY_SIZE
public static final int PUBLIC_KEY_SIZE
- See Also:
- Constant Field Values
-
SECRET_KEY_SIZE
public static final int SECRET_KEY_SIZE
- See Also:
- Constant Field Values
-
SIGNATURE_SIZE
public static final int SIGNATURE_SIZE
- See Also:
- Constant Field Values
-
-
Method Detail
-
createPrehash
public static Digest createPrehash()
-
generatePrivateKey
public static void generatePrivateKey(java.security.SecureRandom random, byte[] k)
-
generatePublicKey
public static void generatePublicKey(byte[] sk, int skOff, byte[] pk, int pkOff)
-
precompute
public static void precompute()
-
scalarMultBaseYZ
public static void scalarMultBaseYZ(X25519.Friend friend, byte[] k, int kOff, int[] y, int[] z)
NOTE: Only for use by X25519
-
sign
public static void sign(byte[] sk, int skOff, byte[] m, int mOff, int mLen, byte[] sig, int sigOff)
-
sign
public static void sign(byte[] sk, int skOff, byte[] pk, int pkOff, byte[] m, int mOff, int mLen, byte[] sig, int sigOff)
-
sign
public static void sign(byte[] sk, int skOff, byte[] ctx, byte[] m, int mOff, int mLen, byte[] sig, int sigOff)
-
sign
public static void sign(byte[] sk, int skOff, byte[] pk, int pkOff, byte[] ctx, byte[] m, int mOff, int mLen, byte[] sig, int sigOff)
-
signPrehash
public static void signPrehash(byte[] sk, int skOff, byte[] ctx, byte[] ph, int phOff, byte[] sig, int sigOff)
-
signPrehash
public static void signPrehash(byte[] sk, int skOff, byte[] pk, int pkOff, byte[] ctx, byte[] ph, int phOff, byte[] sig, int sigOff)
-
signPrehash
public static void signPrehash(byte[] sk, int skOff, byte[] ctx, Digest ph, byte[] sig, int sigOff)
-
signPrehash
public static void signPrehash(byte[] sk, int skOff, byte[] pk, int pkOff, byte[] ctx, Digest ph, byte[] sig, int sigOff)
-
verify
public static boolean verify(byte[] sig, int sigOff, byte[] pk, int pkOff, byte[] m, int mOff, int mLen)
-
verify
public static boolean verify(byte[] sig, int sigOff, byte[] pk, int pkOff, byte[] ctx, byte[] m, int mOff, int mLen)
-
verifyPrehash
public static boolean verifyPrehash(byte[] sig, int sigOff, byte[] pk, int pkOff, byte[] ctx, byte[] ph, int phOff)
-
verifyPrehash
public static boolean verifyPrehash(byte[] sig, int sigOff, byte[] pk, int pkOff, byte[] ctx, Digest ph)
-
-