public void initialize( AlgorithmParameterSpec params, SecureRandom random) throws InvalidAlgorithmParameterException { if (!(params instanceof QTESLAParameterSpec)) { throw new InvalidAlgorithmParameterException("parameter object not a QTESLAParameterSpec"); } QTESLAParameterSpec qteslaParams = (QTESLAParameterSpec)params; param = new QTESLAKeyGenerationParameters(((Integer)catLookup.get(qteslaParams.getSecurityCategory())).intValue(), random); engine.init(param); initialised = true; }
public KeyPair generateKeyPair() { if (!initialised) { param = new QTESLAKeyGenerationParameters(QTESLASecurityCategory.PROVABLY_SECURE_I, random); engine.init(param); initialised = true; } AsymmetricCipherKeyPair pair = engine.generateKeyPair(); QTESLAPublicKeyParameters pub = (QTESLAPublicKeyParameters)pair.getPublic(); QTESLAPrivateKeyParameters priv = (QTESLAPrivateKeyParameters)pair.getPrivate(); return new KeyPair(new BCqTESLAPublicKey(pub), new BCqTESLAPrivateKey(priv)); } }