Top Fields Constructors Methods
org.bouncycastle.pqc.crypto.frodo

pack-priv Class FrodoEngine

extends Object
Class Inheritance
Imports
java.security.SecureRandom, org.bouncycastle.crypto.Xof, org.bouncycastle.util.Arrays, .Pack

Field Summary

Modifier and TypeField and Description
private final int
B

private final int
D

private final Xof
private final FrodoMatrixGenerator
private static final int
private static final int
private final int
private final int
private final int
private final int
private final int
private final int
private final int
private final int
private final int
private final int
private static final int
private static final int
private final int
private final int
private final int
private final int
private final int
private static final int
private static final int
private static final int
private final int
n

pack-priv static final int
private final int
q

private final short[]

Constructor Summary

AccessConstructor and Description
public
FrodoEngine(int n, int D, int B, short[] cdf_table, Xof digest, FrodoMatrixGenerator mGen)

Method Summary

Modifier and TypeMethod and Description
private byte[]
ctselect(byte[] a, byte[] b, short selector)

private short
ctverify(short[] a1, short[] a2, short[] b1, short[] b2)

private byte[]
decode(short[] in)

private short[]
encode(byte[] k)

public int
public int
public int
public int
public void
kem_dec(byte[] ss, byte[] ct, byte[] sk)

public void
kem_enc(byte[] ct, byte[] ss, byte[] pk, SecureRandom random)

public void
kem_keypair(byte[] pk, byte[] sk, SecureRandom random)

private short[]
matrix_add(short[] X, short[] Y, int n1, int m1)

private short[]
matrix_mul(short[] X, int Xrow, int Xcol, short[] Y, int Yrow, int Ycol)

private short[]
matrix_sub(short[] X, short[] Y, int n1, int n2)

private short[]
matrix_transpose(short[] X, int n1, int n2)

private byte[]
pack(short[] C)

private short
sample(short r)

private short[]
sample_matrix(short[] r, int offset, int n1, int n2)

private short[]
unpack(byte[] in, int n1, int n2)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

Bback to summary
private final int B
Dback to summary
private final int D
digestback to summary
private final Xof digest
genback to summary
private final FrodoMatrixGenerator gen
len_chiback to summary
private static final int len_chi
len_chi_bytesback to summary
private static final int len_chi_bytes
len_ct_bytesback to summary
private final int len_ct_bytes
len_kback to summary
private final int len_k
len_k_bytesback to summary
private final int len_k_bytes
len_muback to summary
private final int len_mu
len_mu_bytesback to summary
private final int len_mu_bytes
len_pk_bytesback to summary
private final int len_pk_bytes
len_pkhback to summary
private final int len_pkh
len_pkh_bytesback to summary
private final int len_pkh_bytes
len_sback to summary
private final int len_s
len_s_bytesback to summary
private final int len_s_bytes
len_seedAback to summary
private static final int len_seedA
len_seedA_bytesback to summary
private static final int len_seedA_bytes
len_seedSEback to summary
private final int len_seedSE
len_seedSE_bytesback to summary
private final int len_seedSE_bytes
len_sk_bytesback to summary
private final int len_sk_bytes
len_ssback to summary
private final int len_ss
len_ss_bytesback to summary
private final int len_ss_bytes
len_zback to summary
private static final int len_z
len_z_bytesback to summary
private static final int len_z_bytes
mbarback to summary
private static final int mbar
nback to summary
private final int n
nbarback to summary
pack-priv static final int nbar
qback to summary
private final int q
T_chiback to summary
private final short[] T_chi

Constructor Detail

FrodoEngineback to summary
public FrodoEngine(int n, int D, int B, short[] cdf_table, Xof digest, FrodoMatrixGenerator mGen)

Method Detail

ctselectback to summary
private byte[] ctselect(byte[] a, byte[] b, short selector)
ctverifyback to summary
private short ctverify(short[] a1, short[] a2, short[] b1, short[] b2)
decodeback to summary
private byte[] decode(short[] in)
encodeback to summary
private short[] encode(byte[] k)
getCipherTextSizeback to summary
public int getCipherTextSize()
getPrivateKeySizeback to summary
public int getPrivateKeySize()
getPublicKeySizeback to summary
public int getPublicKeySize()
getSessionKeySizeback to summary
public int getSessionKeySize()
kem_decback to summary
public void kem_dec(byte[] ss, byte[] ct, byte[] sk)
kem_encback to summary
public void kem_enc(byte[] ct, byte[] ss, byte[] pk, SecureRandom random)
kem_keypairback to summary
public void kem_keypair(byte[] pk, byte[] sk, SecureRandom random)
matrix_addback to summary
private short[] matrix_add(short[] X, short[] Y, int n1, int m1)
matrix_mulback to summary
private short[] matrix_mul(short[] X, int Xrow, int Xcol, short[] Y, int Yrow, int Ycol)
matrix_subback to summary
private short[] matrix_sub(short[] X, short[] Y, int n1, int n2)
matrix_transposeback to summary
private short[] matrix_transpose(short[] X, int n1, int n2)
packback to summary
private byte[] pack(short[] C)
sampleback to summary
private short sample(short r)
sample_matrixback to summary
private short[] sample_matrix(short[] r, int offset, int n1, int n2)
unpackback to summary
private short[] unpack(byte[] in, int n1, int n2)