use of com.github.zhenwei.core.pqc.crypto.xmss.XMSSKeyGenerationParameters in project LinLong-Java by zhenwei1108.
the class XMSSKeyPairGeneratorSpi method generateKeyPair.
public KeyPair generateKeyPair() {
if (!initialised) {
param = new XMSSKeyGenerationParameters(new XMSSParameters(10, new SHA512Digest()), random);
engine.init(param);
initialised = true;
}
AsymmetricCipherKeyPair pair = engine.generateKeyPair();
XMSSPublicKeyParameters pub = (XMSSPublicKeyParameters) pair.getPublic();
XMSSPrivateKeyParameters priv = (XMSSPrivateKeyParameters) pair.getPrivate();
return new KeyPair(new BCXMSSPublicKey(treeDigest, pub), new BCXMSSPrivateKey(treeDigest, priv));
}
use of com.github.zhenwei.core.pqc.crypto.xmss.XMSSKeyGenerationParameters in project LinLong-Java by zhenwei1108.
the class XMSSKeyPairGeneratorSpi method initialize.
public void initialize(AlgorithmParameterSpec params, SecureRandom random) throws InvalidAlgorithmParameterException {
if (!(params instanceof XMSSParameterSpec)) {
throw new InvalidAlgorithmParameterException("parameter object not a XMSSParameterSpec");
}
XMSSParameterSpec xmssParams = (XMSSParameterSpec) params;
if (xmssParams.getTreeDigest().equals(XMSSParameterSpec.SHA256)) {
treeDigest = NISTObjectIdentifiers.id_sha256;
param = new XMSSKeyGenerationParameters(new XMSSParameters(xmssParams.getHeight(), new SHA256Digest()), random);
} else if (xmssParams.getTreeDigest().equals(XMSSParameterSpec.SHA512)) {
treeDigest = NISTObjectIdentifiers.id_sha512;
param = new XMSSKeyGenerationParameters(new XMSSParameters(xmssParams.getHeight(), new SHA512Digest()), random);
} else if (xmssParams.getTreeDigest().equals(XMSSParameterSpec.SHAKE128)) {
treeDigest = NISTObjectIdentifiers.id_shake128;
param = new XMSSKeyGenerationParameters(new XMSSParameters(xmssParams.getHeight(), new SHAKEDigest(128)), random);
} else if (xmssParams.getTreeDigest().equals(XMSSParameterSpec.SHAKE256)) {
treeDigest = NISTObjectIdentifiers.id_shake256;
param = new XMSSKeyGenerationParameters(new XMSSParameters(xmssParams.getHeight(), new SHAKEDigest(256)), random);
}
engine.init(param);
initialised = true;
}
Aggregations