Search in sources :

Example 1 with XMSSMTParameterSpec

use of com.github.zhenwei.provider.jcajce.spec.XMSSMTParameterSpec in project LinLong-Java by zhenwei1108.

the class XMSSMTKeyPairGeneratorSpi method initialize.

public void initialize(AlgorithmParameterSpec params, SecureRandom random) throws InvalidAlgorithmParameterException {
    if (!(params instanceof XMSSMTParameterSpec)) {
        throw new InvalidAlgorithmParameterException("parameter object not a XMSSMTParameterSpec");
    }
    XMSSMTParameterSpec xmssParams = (XMSSMTParameterSpec) params;
    if (xmssParams.getTreeDigest().equals(XMSSParameterSpec.SHA256)) {
        treeDigest = NISTObjectIdentifiers.id_sha256;
        param = new XMSSMTKeyGenerationParameters(new XMSSMTParameters(xmssParams.getHeight(), xmssParams.getLayers(), new SHA256Digest()), random);
    } else if (xmssParams.getTreeDigest().equals(XMSSParameterSpec.SHA512)) {
        treeDigest = NISTObjectIdentifiers.id_sha512;
        param = new XMSSMTKeyGenerationParameters(new XMSSMTParameters(xmssParams.getHeight(), xmssParams.getLayers(), new SHA512Digest()), random);
    } else if (xmssParams.getTreeDigest().equals(XMSSParameterSpec.SHAKE128)) {
        treeDigest = NISTObjectIdentifiers.id_shake128;
        param = new XMSSMTKeyGenerationParameters(new XMSSMTParameters(xmssParams.getHeight(), xmssParams.getLayers(), new SHAKEDigest(128)), random);
    } else if (xmssParams.getTreeDigest().equals(XMSSParameterSpec.SHAKE256)) {
        treeDigest = NISTObjectIdentifiers.id_shake256;
        param = new XMSSMTKeyGenerationParameters(new XMSSMTParameters(xmssParams.getHeight(), xmssParams.getLayers(), new SHAKEDigest(256)), random);
    }
    engine.init(param);
    initialised = true;
}
Also used : SHA512Digest(com.github.zhenwei.core.crypto.digests.SHA512Digest) InvalidAlgorithmParameterException(java.security.InvalidAlgorithmParameterException) SHA256Digest(com.github.zhenwei.core.crypto.digests.SHA256Digest) XMSSMTKeyGenerationParameters(com.github.zhenwei.core.pqc.crypto.xmss.XMSSMTKeyGenerationParameters) XMSSMTParameterSpec(com.github.zhenwei.provider.jcajce.spec.XMSSMTParameterSpec) XMSSMTParameters(com.github.zhenwei.core.pqc.crypto.xmss.XMSSMTParameters) SHAKEDigest(com.github.zhenwei.core.crypto.digests.SHAKEDigest)

Aggregations

SHA256Digest (com.github.zhenwei.core.crypto.digests.SHA256Digest)1 SHA512Digest (com.github.zhenwei.core.crypto.digests.SHA512Digest)1 SHAKEDigest (com.github.zhenwei.core.crypto.digests.SHAKEDigest)1 XMSSMTKeyGenerationParameters (com.github.zhenwei.core.pqc.crypto.xmss.XMSSMTKeyGenerationParameters)1 XMSSMTParameters (com.github.zhenwei.core.pqc.crypto.xmss.XMSSMTParameters)1 XMSSMTParameterSpec (com.github.zhenwei.provider.jcajce.spec.XMSSMTParameterSpec)1 InvalidAlgorithmParameterException (java.security.InvalidAlgorithmParameterException)1