package org.bouncycastle.pqc.crypto.qtesla;

import org.bouncycastle.crypto.params.AsymmetricKeyParameter;
import org.bouncycastle.util.Arrays;

qTESLA private key
/** * qTESLA private key */
public final class QTESLAPrivateKeyParameters extends AsymmetricKeyParameter {
qTESLA Security Category (From 4 To 8)
/** * qTESLA Security Category (From 4 To 8) */
private int securityCategory;
Text of the qTESLA Private Key
/** * Text of the qTESLA Private Key */
private byte[] privateKey;
Base constructor.
Params:
  • securityCategory – the security category for the passed in public key data.
  • privateKey – the private key data.
/** * Base constructor. * * @param securityCategory the security category for the passed in public key data. * @param privateKey the private key data. */
public QTESLAPrivateKeyParameters(int securityCategory, byte[] privateKey) { super(true); if (privateKey.length != QTESLASecurityCategory.getPrivateSize(securityCategory)) { throw new IllegalArgumentException("invalid key size for security category"); } this.securityCategory = securityCategory; this.privateKey = Arrays.clone(privateKey); }
Return the security category for this key.
Returns:the key's security category.
/** * Return the security category for this key. * * @return the key's security category. */
public int getSecurityCategory() { return this.securityCategory; }
Return the key's secret value.
Returns:key private data.
/** * Return the key's secret value. * * @return key private data. */
public byte[] getSecret() { return Arrays.clone(privateKey); } }