Class QRUOVParameters
java.lang.Object
org.bouncycastle.pqc.crypto.qruov.QRUOVParameters
Parameter sets for the QR-UOV multivariate signature scheme (NIST PQC additional
signatures Round 2 submission).
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
} constants use SHAKE as the pseudo-random generator
(matching the invalid @link
{@link #qruov_*_shake
kat_shake test vectors); the
} constants
use AES-CTR (matching the invalid @link
{@link #qruov_*_aes
kat_aes test vectors). Algorithm output is
otherwise identical apart from the PRG-driven expansions.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intstatic final QRUOVParametersstatic final QRUOVParametersstatic final QRUOVParametersstatic final QRUOVParametersstatic final QRUOVParametersstatic final QRUOVParametersstatic final QRUOVParametersstatic final QRUOVParametersstatic final QRUOVParametersstatic final QRUOVParametersstatic final QRUOVParametersstatic final QRUOVParametersstatic final QRUOVParametersstatic final QRUOVParametersstatic final QRUOVParametersstatic final QRUOVParametersstatic final QRUOVParametersstatic final QRUOVParametersstatic final QRUOVParametersstatic final QRUOVParametersstatic final QRUOVParametersstatic final QRUOVParametersstatic final QRUOVParametersstatic final QRUOVParameters -
Method Summary
-
Field Details
-
PRG_AES
public static final int PRG_AES- See Also:
-
PRG_SHAKE
public static final int PRG_SHAKE- See Also:
-
qruov_1_q127_L3_v156_m54_shake
-
qruov_1_q31_L3_v165_m60_shake
-
qruov_1_q31_L10_v600_m70_shake
-
qruov_1_q7_L10_v740_m100_shake
-
qruov_3_q127_L3_v228_m78_shake
-
qruov_3_q31_L3_v246_m87_shake
-
qruov_3_q31_L10_v890_m100_shake
-
qruov_3_q7_L10_v1100_m140_shake
-
qruov_5_q127_L3_v306_m105_shake
-
qruov_5_q31_L3_v324_m114_shake
-
qruov_5_q31_L10_v1120_m120_shake
-
qruov_5_q7_L10_v1490_m190_shake
-
qruov_1_q127_L3_v156_m54_aes
-
qruov_1_q31_L3_v165_m60_aes
-
qruov_1_q31_L10_v600_m70_aes
-
qruov_1_q7_L10_v740_m100_aes
-
qruov_3_q127_L3_v228_m78_aes
-
qruov_3_q31_L3_v246_m87_aes
-
qruov_3_q31_L10_v890_m100_aes
-
qruov_3_q7_L10_v1100_m140_aes
-
qruov_5_q127_L3_v306_m105_aes
-
qruov_5_q31_L3_v324_m114_aes
-
qruov_5_q31_L10_v1120_m120_aes
-
qruov_5_q7_L10_v1490_m190_aes
-
-
Method Details
-
getName
-
getCategory
public int getCategory() -
getQ
public int getQ() -
getL
public int getL() -
getV
public int getV() -
getM
public int getM() -
getFc
public int getFc() -
getFe
public int getFe() -
getFc0
public int getFc0() -
getTau1
public int getTau1() -
getTau2
public int getTau2() -
getTau3
public int getTau3() -
getTau4
public int getTau4() -
getPrgType
public int getPrgType() -
getCeilLog2Q
public int getCeilLog2Q() -
getSeedLen
public int getSeedLen() -
getSaltLen
public int getSaltLen() -
getMuLen
public int getMuLen() -
getBigV
public int getBigV() -
getBigM
public int getBigM() -
getBigN
public int getBigN() -
getPublicKeyBytes
public int getPublicKeyBytes() -
getPrivateKeyBytes
public int getPrivateKeyBytes() -
getSignatureBytes
public int getSignatureBytes()
-