public class QRUOVParameters
extends java.lang.Object
QR-UOV is a quotient-ring UOV variant operating over a small prime field F_q with q in {7, 31, 127}, a quotient ring extension F_q^L = F_q[X]/f(X) for a small irreducible f(X) = x^L - fc * x^fe - fc0, and dimensions (v, m).
The #qruov_*_shake constants use SHAKE as the pseudo-random generator
(matching the kat_shake test vectors); the #qruov_*_aes constants
use AES-CTR (matching the kat_aes test vectors). Algorithm output is
otherwise identical apart from the PRG-driven expansions.
| Modifier and Type | Method and Description |
|---|---|
int |
getBigM() |
int |
getBigN() |
int |
getBigV() |
int |
getCategory() |
int |
getCeilLog2Q() |
int |
getFc() |
int |
getFc0() |
int |
getFe() |
int |
getL() |
int |
getM() |
int |
getMuLen() |
java.lang.String |
getName() |
int |
getPrgType() |
int |
getPrivateKeyBytes() |
int |
getPublicKeyBytes() |
int |
getQ() |
int |
getSaltLen() |
int |
getSeedLen() |
int |
getSignatureBytes() |
int |
getTau1() |
int |
getTau2() |
int |
getTau3() |
int |
getTau4() |
int |
getV() |
public static final int PRG_AES
public static final int PRG_SHAKE
public static final QRUOVParameters qruov_1_q127_L3_v156_m54_shake
public static final QRUOVParameters qruov_1_q31_L3_v165_m60_shake
public static final QRUOVParameters qruov_1_q31_L10_v600_m70_shake
public static final QRUOVParameters qruov_1_q7_L10_v740_m100_shake
public static final QRUOVParameters qruov_3_q127_L3_v228_m78_shake
public static final QRUOVParameters qruov_3_q31_L3_v246_m87_shake
public static final QRUOVParameters qruov_3_q31_L10_v890_m100_shake
public static final QRUOVParameters qruov_3_q7_L10_v1100_m140_shake
public static final QRUOVParameters qruov_5_q127_L3_v306_m105_shake
public static final QRUOVParameters qruov_5_q31_L3_v324_m114_shake
public static final QRUOVParameters qruov_5_q31_L10_v1120_m120_shake
public static final QRUOVParameters qruov_5_q7_L10_v1490_m190_shake
public static final QRUOVParameters qruov_1_q127_L3_v156_m54_aes
public static final QRUOVParameters qruov_1_q31_L3_v165_m60_aes
public static final QRUOVParameters qruov_1_q31_L10_v600_m70_aes
public static final QRUOVParameters qruov_1_q7_L10_v740_m100_aes
public static final QRUOVParameters qruov_3_q127_L3_v228_m78_aes
public static final QRUOVParameters qruov_3_q31_L3_v246_m87_aes
public static final QRUOVParameters qruov_3_q31_L10_v890_m100_aes
public static final QRUOVParameters qruov_3_q7_L10_v1100_m140_aes
public static final QRUOVParameters qruov_5_q127_L3_v306_m105_aes
public static final QRUOVParameters qruov_5_q31_L3_v324_m114_aes
public static final QRUOVParameters qruov_5_q31_L10_v1120_m120_aes
public static final QRUOVParameters qruov_5_q7_L10_v1490_m190_aes
public java.lang.String getName()
public int getCategory()
public int getQ()
public int getL()
public int getV()
public int getM()
public int getFc()
public int getFe()
public int getFc0()
public int getTau1()
public int getTau2()
public int getTau3()
public int getTau4()
public int getPrgType()
public int getCeilLog2Q()
public int getSeedLen()
public int getSaltLen()
public int getMuLen()
public int getBigV()
public int getBigM()
public int getBigN()
public int getPublicKeyBytes()
public int getPrivateKeyBytes()
public int getSignatureBytes()