public qTESLA() { super("qTESLA", new NullDigest(), new QTESLASigner()); } }
protected boolean engineVerify(byte[] sigBytes) throws SignatureException { byte[] hash = DigestUtil.getDigestResult(digest); return signer.verifySignature(hash, sigBytes); }
protected void engineInitVerify(PublicKey publicKey) throws InvalidKeyException { if (publicKey instanceof BCqTESLAPublicKey) { CipherParameters param = ((BCqTESLAPublicKey)publicKey).getKeyParams(); digest.reset(); signer.init(false, param); } else { throw new InvalidKeyException("unknown public key passed to qTESLA"); } }
protected byte[] engineSign() throws SignatureException { try { byte[] hash = DigestUtil.getDigestResult(digest); return signer.generateSignature(hash); } catch (Exception e) { if (e instanceof IllegalStateException) { throw new SignatureException(e.getMessage()); } throw new SignatureException(e.toString()); } }
protected void engineInitSign(PrivateKey privateKey) throws InvalidKeyException { if (privateKey instanceof BCqTESLAPrivateKey) { CipherParameters param = ((BCqTESLAPrivateKey)privateKey).getKeyParams(); if (random != null) { param = new ParametersWithRandom(param, random); } signer.init(true, param); } else { throw new InvalidKeyException("unknown private key passed to qTESLA"); } }
public HeuristicI() { super(QTESLASecurityCategory.getName(QTESLASecurityCategory.HEURISTIC_I), new NullDigest(), new QTESLASigner()); } }
public HeuristicIIISize() { super(QTESLASecurityCategory.getName(QTESLASecurityCategory.HEURISTIC_III_SIZE), new NullDigest(), new QTESLASigner()); } }
public HeuristicIIISpeed() { super(QTESLASecurityCategory.getName(QTESLASecurityCategory.HEURISTIC_III_SPEED), new NullDigest(), new QTESLASigner()); } }
public ProvablySecureI() { super(QTESLASecurityCategory.getName(QTESLASecurityCategory.PROVABLY_SECURE_I), new NullDigest(), new QTESLASigner()); } }
public ProvablySecureIII() { super(QTESLASecurityCategory.getName(QTESLASecurityCategory.PROVABLY_SECURE_III), new NullDigest(), new QTESLASigner()); } }