| Modifier and Type | Field and Description |
|---|---|
| private int | |
| private int | |
| private int | |
| private byte | |
| private int[] | |
| private int | |
| private int | |
| private GF2PolynomialCalculator | |
| private byte | |
| private int | |
| private int | |
| private int | |
| private byte | |
| private int | |
| private int | |
| private int | |
| private int | |
| private int | |
| private int | |
| private int | |
| private int | |
| private int | |
| private int | |
| private int | |
| private long | |
| private int | |
| private int | |
| private int | |
| private int | |
| private int | |
| private int | |
| private int | |
| private int |
| Access | Constructor and Description |
|---|---|
| public | HQCEngine(int n, int n1, int n2, int k, int g, int delta, int w, int wr, int we, int rejectionThreshold, int fft, int[] generatorPoly)
|
| Modifier and Type | Method and Description |
|---|---|
| public void | decaps(byte[]
session key ss, byte[] ciphertext ct, byte[] secret key sk)HQC Decapsulation - Input: ct, sk - Output: ss |
| private void | |
| public void | encaps(byte[]
u u, byte[] v v, byte[] session key K, byte[] d d, byte[] public key pk, byte[] seed seed, byte[] salt)HQC Encapsulation - Input: pk, seed - Output: c = (u,v,d), K |
| private void | encrypt(byte[]
ciphertext u, long[] ciphertext v, long[] public key h, byte[] public key s, byte[] message m, byte[] theta)HQC Encryption - Input: (h,s, m) - Output: (u,v) = c |
| private void | |
| private void | |
| private void | |
| pack-priv void | |
| private void | |
| public void | genKeyPair(byte[]
output pk = (publicSeed||s) pk, byte[] sk, byte[] seed)Generate key pairs - Secret key : (x,y) - Public key: (h,s) |
| pack-priv int |
| delta | back to summary |
|---|---|
| private int delta | |
| fft | back to summary |
|---|---|
| private int fft | |
| g | back to summary |
|---|---|
| private int g | |
| G_FCT_DOMAIN | back to summary |
|---|---|
| private byte G_FCT_DOMAIN | |
| generatorPoly | back to summary |
|---|---|
| private int[] generatorPoly | |
| GF_POLY_M2 | back to summary |
|---|---|
| private int GF_POLY_M2 | |
| GF_POLY_WT | back to summary |
|---|---|
| private int GF_POLY_WT | |
| gfCalculator | back to summary |
|---|---|
| private GF2PolynomialCalculator gfCalculator | |
| H_FCT_DOMAIN | back to summary |
|---|---|
| private byte H_FCT_DOMAIN | |
| k | back to summary |
|---|---|
| private int k | |
| K_BYTE | back to summary |
|---|---|
| private int K_BYTE | |
| K_BYTE_64 | back to summary |
|---|---|
| private int K_BYTE_64 | |
| K_FCT_DOMAIN | back to summary |
|---|---|
| private byte K_FCT_DOMAIN | |
| mulParam | back to summary |
|---|---|
| private int mulParam | |
| n | back to summary |
|---|---|
| private int n | |
| n1 | back to summary |
|---|---|
| private int n1 | |
| N1_BYTE | back to summary |
|---|---|
| private int N1_BYTE | |
| N1_BYTE_64 | back to summary |
|---|---|
| private int N1_BYTE_64 | |
| n1n2 | back to summary |
|---|---|
| private int n1n2 | |
| N1N2_BYTE | back to summary |
|---|---|
| private int N1N2_BYTE | |
| N1N2_BYTE_64 | back to summary |
|---|---|
| private int N1N2_BYTE_64 | |
| n2 | back to summary |
|---|---|
| private int n2 | |
| N_BYTE | back to summary |
|---|---|
| private int N_BYTE | |
| N_BYTE_64 | back to summary |
|---|---|
| private int N_BYTE_64 | |
| RED_MASK | back to summary |
|---|---|
| private long RED_MASK | |
| rejectionThreshold | back to summary |
|---|---|
| private int rejectionThreshold | |
| SALT_SIZE_64 | back to summary |
|---|---|
| private int SALT_SIZE_64 | |
| SALT_SIZE_BYTES | back to summary |
|---|---|
| private int SALT_SIZE_BYTES | |
| SEED_SIZE | back to summary |
|---|---|
| private int SEED_SIZE | |
| SHA512_BYTES | back to summary |
|---|---|
| private int SHA512_BYTES | |
| w | back to summary |
|---|---|
| private int w | |
| we | back to summary |
|---|---|
| private int we | |
| wr | back to summary |
|---|---|
| private int wr | |
| HQCEngine | back to summary |
|---|---|
| public HQCEngine(int n, int n1, int n2, int k, int g, int delta, int w, int wr, int we, int rejectionThreshold, int fft, int[] generatorPoly) | |
| decaps | back to summary |
|---|---|
| public void decaps(byte[] ss, byte[] ct, byte[] sk) HQC Decapsulation - Input: ct, sk - Output: ss
| |
| decrypt | back to summary |
|---|---|
| private void decrypt(byte[] output, byte[] m, byte[] u, byte[] v, long[] y) | |
| encaps | back to summary |
|---|---|
| public void encaps(byte[] u, byte[] v, byte[] K, byte[] d, byte[] pk, byte[] seed, byte[] salt) HQC Encapsulation - Input: pk, seed - Output: c = (u,v,d), K
| |
| encrypt | back to summary |
|---|---|
| private void encrypt(byte[] u, long[] v, long[] h, byte[] s, byte[] m, byte[] theta) HQC Encryption - Input: (h,s, m) - Output: (u,v) = c
| |
| extractCiphertexts | back to summary |
|---|---|
| private void extractCiphertexts(byte[] u, byte[] v, byte[] d, byte[] salt, byte[] ct) | |
| extractKeysFromSecretKeys | back to summary |
|---|---|
| private void extractKeysFromSecretKeys(long[] x, long[] y, byte[] pk, byte[] sk) | |
| extractPublicKeys | back to summary |
|---|---|
| private void extractPublicKeys(long[] h, byte[] s, byte[] pk) | |
| generatePublicKeyH | back to summary |
|---|---|
| pack-priv void generatePublicKeyH(long[] out, KeccakRandomGenerator random) | |
| generateRandomFixedWeight | back to summary |
|---|---|
| private void generateRandomFixedWeight(long[] output, KeccakRandomGenerator random, int weight) | |
| genKeyPair | back to summary |
|---|---|
| public void genKeyPair(byte[] pk, byte[] sk, byte[] seed) Generate key pairs - Secret key : (x,y) - Public key: (h,s)
| |
| getSessionKeySize | back to summary |
|---|---|
| pack-priv int getSessionKeySize() | |