Bouncy Castle Cryptography Library 1.85

org.bouncycastle.pqc.crypto.qruov
Class QRUOVParameters

java.lang.Object
  extended byorg.bouncycastle.pqc.crypto.qruov.QRUOVParameters

public class QRUOVParameters
extends java.lang.Object

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 #qruov_*_shake constants use SHAKE as the pseudo-random generator (matching the test vectors); the #qruov_*_aes constants use AES-CTR (matching the test vectors). Algorithm output is otherwise identical apart from the PRG-driven expansions.


Field Summary
static int PRG_AES
           
static int PRG_SHAKE
           
static QRUOVParameters qruov_1_q127_L3_v156_m54_aes
           
static QRUOVParameters qruov_1_q127_L3_v156_m54_shake
           
static QRUOVParameters qruov_1_q31_L10_v600_m70_aes
           
static QRUOVParameters qruov_1_q31_L10_v600_m70_shake
           
static QRUOVParameters qruov_1_q31_L3_v165_m60_aes
           
static QRUOVParameters qruov_1_q31_L3_v165_m60_shake
           
static QRUOVParameters qruov_1_q7_L10_v740_m100_aes
           
static QRUOVParameters qruov_1_q7_L10_v740_m100_shake
           
static QRUOVParameters qruov_3_q127_L3_v228_m78_aes
           
static QRUOVParameters qruov_3_q127_L3_v228_m78_shake
           
static QRUOVParameters qruov_3_q31_L10_v890_m100_aes
           
static QRUOVParameters qruov_3_q31_L10_v890_m100_shake
           
static QRUOVParameters qruov_3_q31_L3_v246_m87_aes
           
static QRUOVParameters qruov_3_q31_L3_v246_m87_shake
           
static QRUOVParameters qruov_3_q7_L10_v1100_m140_aes
           
static QRUOVParameters qruov_3_q7_L10_v1100_m140_shake
           
static QRUOVParameters qruov_5_q127_L3_v306_m105_aes
           
static QRUOVParameters qruov_5_q127_L3_v306_m105_shake
           
static QRUOVParameters qruov_5_q31_L10_v1120_m120_aes
           
static QRUOVParameters qruov_5_q31_L10_v1120_m120_shake
           
static QRUOVParameters qruov_5_q31_L3_v324_m114_aes
           
static QRUOVParameters qruov_5_q31_L3_v324_m114_shake
           
static QRUOVParameters qruov_5_q7_L10_v1490_m190_aes
           
static QRUOVParameters qruov_5_q7_L10_v1490_m190_shake
           
 
Method Summary
 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()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PRG_AES

public static final int PRG_AES
See Also:
Constant Field Values

PRG_SHAKE

public static final int PRG_SHAKE
See Also:
Constant Field Values

qruov_1_q127_L3_v156_m54_shake

public static final QRUOVParameters qruov_1_q127_L3_v156_m54_shake

qruov_1_q31_L3_v165_m60_shake

public static final QRUOVParameters qruov_1_q31_L3_v165_m60_shake

qruov_1_q31_L10_v600_m70_shake

public static final QRUOVParameters qruov_1_q31_L10_v600_m70_shake

qruov_1_q7_L10_v740_m100_shake

public static final QRUOVParameters qruov_1_q7_L10_v740_m100_shake

qruov_3_q127_L3_v228_m78_shake

public static final QRUOVParameters qruov_3_q127_L3_v228_m78_shake

qruov_3_q31_L3_v246_m87_shake

public static final QRUOVParameters qruov_3_q31_L3_v246_m87_shake

qruov_3_q31_L10_v890_m100_shake

public static final QRUOVParameters qruov_3_q31_L10_v890_m100_shake

qruov_3_q7_L10_v1100_m140_shake

public static final QRUOVParameters qruov_3_q7_L10_v1100_m140_shake

qruov_5_q127_L3_v306_m105_shake

public static final QRUOVParameters qruov_5_q127_L3_v306_m105_shake

qruov_5_q31_L3_v324_m114_shake

public static final QRUOVParameters qruov_5_q31_L3_v324_m114_shake

qruov_5_q31_L10_v1120_m120_shake

public static final QRUOVParameters qruov_5_q31_L10_v1120_m120_shake

qruov_5_q7_L10_v1490_m190_shake

public static final QRUOVParameters qruov_5_q7_L10_v1490_m190_shake

qruov_1_q127_L3_v156_m54_aes

public static final QRUOVParameters qruov_1_q127_L3_v156_m54_aes

qruov_1_q31_L3_v165_m60_aes

public static final QRUOVParameters qruov_1_q31_L3_v165_m60_aes

qruov_1_q31_L10_v600_m70_aes

public static final QRUOVParameters qruov_1_q31_L10_v600_m70_aes

qruov_1_q7_L10_v740_m100_aes

public static final QRUOVParameters qruov_1_q7_L10_v740_m100_aes

qruov_3_q127_L3_v228_m78_aes

public static final QRUOVParameters qruov_3_q127_L3_v228_m78_aes

qruov_3_q31_L3_v246_m87_aes

public static final QRUOVParameters qruov_3_q31_L3_v246_m87_aes

qruov_3_q31_L10_v890_m100_aes

public static final QRUOVParameters qruov_3_q31_L10_v890_m100_aes

qruov_3_q7_L10_v1100_m140_aes

public static final QRUOVParameters qruov_3_q7_L10_v1100_m140_aes

qruov_5_q127_L3_v306_m105_aes

public static final QRUOVParameters qruov_5_q127_L3_v306_m105_aes

qruov_5_q31_L3_v324_m114_aes

public static final QRUOVParameters qruov_5_q31_L3_v324_m114_aes

qruov_5_q31_L10_v1120_m120_aes

public static final QRUOVParameters qruov_5_q31_L10_v1120_m120_aes

qruov_5_q7_L10_v1490_m190_aes

public static final QRUOVParameters qruov_5_q7_L10_v1490_m190_aes
Method Detail

getName

public java.lang.String 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()

Bouncy Castle Cryptography Library 1.85