public class MLDSAEngine
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
static int |
CrhBytes |
static int |
DilithiumD |
static int |
DilithiumN |
static int |
DilithiumPolyT0PackedBytes |
static int |
DilithiumPolyT1PackedBytes |
static int |
DilithiumQ |
static int |
DilithiumQinv |
static int |
RndBytes |
static int |
SeedBytes |
static int |
TrBytes |
| Modifier and Type | Method and Description |
|---|---|
byte[] |
deriveT1(byte[] rho,
byte[] key,
byte[] tr,
byte[] s1Enc,
byte[] s2Enc,
byte[] t0Enc) |
byte[][] |
generateKeyPair() |
byte[][] |
generateKeyPairInternal(byte[] seed) |
byte[] |
generateMu(SHAKEDigest shake256Digest) |
byte[] |
generateSignature(byte[] mu,
SHAKEDigest shake256Digest,
byte[] rho,
byte[] key,
byte[] t0Enc,
byte[] s1Enc,
byte[] s2Enc,
byte[] rnd) |
int |
getDilithiumK() |
int |
getDilithiumL() |
int |
getDilithiumPolyEtaPackedBytes() |
static MLDSAEngine |
getInstance(MLDSAParameters mldsaParameters,
java.security.SecureRandom random) |
SHAKEDigest |
getShake256Digest() |
protected org.bouncycastle.crypto.signers.mldsa.Symmetric |
GetSymmetric() |
void |
initSign(byte[] tr,
boolean isPreHash,
byte[] ctx) |
void |
initVerify(byte[] rho,
byte[] encT1,
boolean isPreHash,
byte[] ctx) |
byte[] |
signInternal(byte[] msg,
int msglen,
byte[] rho,
byte[] key,
byte[] t0Enc,
byte[] s1Enc,
byte[] s2Enc,
byte[] rnd) |
boolean |
verifyInternal(byte[] sig,
int siglen,
SHAKEDigest shake256Digest,
byte[] rho,
byte[] encT1) |
boolean |
verifyInternalMu(byte[] providedMu) |
boolean |
verifyInternalMuSignature(byte[] mu,
byte[] sig,
int siglen,
SHAKEDigest shake256Digest,
byte[] rho,
byte[] encT1) |
public static final int DilithiumN
public static final int DilithiumQ
public static final int DilithiumQinv
public static final int DilithiumD
public static final int SeedBytes
public static final int CrhBytes
public static final int RndBytes
public static final int TrBytes
public static final int DilithiumPolyT1PackedBytes
public static final int DilithiumPolyT0PackedBytes
protected org.bouncycastle.crypto.signers.mldsa.Symmetric GetSymmetric()
public int getDilithiumPolyEtaPackedBytes()
public int getDilithiumK()
public int getDilithiumL()
public static MLDSAEngine getInstance(MLDSAParameters mldsaParameters, java.security.SecureRandom random)
public byte[][] generateKeyPairInternal(byte[] seed)
public byte[] deriveT1(byte[] rho,
byte[] key,
byte[] tr,
byte[] s1Enc,
byte[] s2Enc,
byte[] t0Enc)
public SHAKEDigest getShake256Digest()
public void initSign(byte[] tr,
boolean isPreHash,
byte[] ctx)
public void initVerify(byte[] rho,
byte[] encT1,
boolean isPreHash,
byte[] ctx)
public byte[] signInternal(byte[] msg,
int msglen,
byte[] rho,
byte[] key,
byte[] t0Enc,
byte[] s1Enc,
byte[] s2Enc,
byte[] rnd)
public byte[] generateMu(SHAKEDigest shake256Digest)
public byte[] generateSignature(byte[] mu,
SHAKEDigest shake256Digest,
byte[] rho,
byte[] key,
byte[] t0Enc,
byte[] s1Enc,
byte[] s2Enc,
byte[] rnd)
public boolean verifyInternalMu(byte[] providedMu)
public boolean verifyInternalMuSignature(byte[] mu,
byte[] sig,
int siglen,
SHAKEDigest shake256Digest,
byte[] rho,
byte[] encT1)
public boolean verifyInternal(byte[] sig,
int siglen,
SHAKEDigest shake256Digest,
byte[] rho,
byte[] encT1)
public byte[][] generateKeyPair()