use of com.github.zhenwei.core.crypto.digests.SHA256Digest in project LinLong-Java by zhenwei1108.
the class EnvelopedDataHelper method createTable.
private static Map createTable() {
Map table = new HashMap();
table.put(PKCSObjectIdentifiers.id_hmacWithSHA1, new BcDigestProvider() {
public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier) {
return new SHA1Digest();
}
});
table.put(PKCSObjectIdentifiers.id_hmacWithSHA224, new BcDigestProvider() {
public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier) {
return new SHA224Digest();
}
});
table.put(PKCSObjectIdentifiers.id_hmacWithSHA256, new BcDigestProvider() {
public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier) {
return new SHA256Digest();
}
});
table.put(PKCSObjectIdentifiers.id_hmacWithSHA384, new BcDigestProvider() {
public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier) {
return new SHA384Digest();
}
});
table.put(PKCSObjectIdentifiers.id_hmacWithSHA512, new BcDigestProvider() {
public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier) {
return new SHA512Digest();
}
});
return Collections.unmodifiableMap(table);
}
use of com.github.zhenwei.core.crypto.digests.SHA256Digest 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;
}
use of com.github.zhenwei.core.crypto.digests.SHA256Digest in project LinLong-Java by zhenwei1108.
the class BcDefaultDigestProvider method createTable.
private static Map createTable() {
Map table = new HashMap();
table.put(OIWObjectIdentifiers.idSHA1, new BcDigestProvider() {
public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier) {
return new SHA1Digest();
}
});
table.put(NISTObjectIdentifiers.id_sha224, new BcDigestProvider() {
public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier) {
return new SHA224Digest();
}
});
table.put(NISTObjectIdentifiers.id_sha256, new BcDigestProvider() {
public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier) {
return new SHA256Digest();
}
});
table.put(NISTObjectIdentifiers.id_sha384, new BcDigestProvider() {
public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier) {
return new SHA384Digest();
}
});
table.put(NISTObjectIdentifiers.id_sha512, new BcDigestProvider() {
public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier) {
return new SHA512Digest();
}
});
table.put(NISTObjectIdentifiers.id_sha3_224, new BcDigestProvider() {
public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier) {
return new SHA3Digest(224);
}
});
table.put(NISTObjectIdentifiers.id_sha3_256, new BcDigestProvider() {
public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier) {
return new SHA3Digest(256);
}
});
table.put(NISTObjectIdentifiers.id_sha3_384, new BcDigestProvider() {
public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier) {
return new SHA3Digest(384);
}
});
table.put(NISTObjectIdentifiers.id_sha3_512, new BcDigestProvider() {
public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier) {
return new SHA3Digest(512);
}
});
table.put(NISTObjectIdentifiers.id_shake128, new BcDigestProvider() {
public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier) {
return new SHAKEDigest(128);
}
});
table.put(NISTObjectIdentifiers.id_shake256, new BcDigestProvider() {
public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier) {
return new SHAKEDigest(256);
}
});
table.put(NISTObjectIdentifiers.id_shake128_len, new BcDigestProvider() {
public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier) {
return new AdjustedXof(new SHAKEDigest(128), ASN1Integer.getInstance(digestAlgorithmIdentifier.getParameters()).intValueExact());
}
});
table.put(NISTObjectIdentifiers.id_shake256_len, new BcDigestProvider() {
public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier) {
return new AdjustedXof(new SHAKEDigest(256), ASN1Integer.getInstance(digestAlgorithmIdentifier.getParameters()).intValueExact());
}
});
table.put(PKCSObjectIdentifiers.md5, new BcDigestProvider() {
public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier) {
return new MD5Digest();
}
});
table.put(PKCSObjectIdentifiers.md4, new BcDigestProvider() {
public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier) {
return new MD4Digest();
}
});
table.put(PKCSObjectIdentifiers.md2, new BcDigestProvider() {
public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier) {
return new MD2Digest();
}
});
table.put(CryptoProObjectIdentifiers.gostR3411, new BcDigestProvider() {
public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier) {
return new GOST3411Digest();
}
});
table.put(RosstandartObjectIdentifiers.id_tc26_gost_3411_12_256, new BcDigestProvider() {
public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier) {
return new GOST3411_2012_256Digest();
}
});
table.put(RosstandartObjectIdentifiers.id_tc26_gost_3411_12_512, new BcDigestProvider() {
public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier) {
return new GOST3411_2012_512Digest();
}
});
table.put(TeleTrusTObjectIdentifiers.ripemd128, new BcDigestProvider() {
public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier) {
return new RIPEMD128Digest();
}
});
table.put(TeleTrusTObjectIdentifiers.ripemd160, new BcDigestProvider() {
public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier) {
return new RIPEMD160Digest();
}
});
table.put(TeleTrusTObjectIdentifiers.ripemd256, new BcDigestProvider() {
public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier) {
return new RIPEMD256Digest();
}
});
table.put(GMObjectIdentifiers.sm3, new BcDigestProvider() {
public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier) {
return new SM3Digest();
}
});
return Collections.unmodifiableMap(table);
}
use of com.github.zhenwei.core.crypto.digests.SHA256Digest in project LinLong-Java by zhenwei1108.
the class KeyPairGeneratorSpi method generateKeyPair.
public KeyPair generateKeyPair() {
if (!initialised) {
Integer paramStrength = Integers.valueOf(strength);
if (params.containsKey(paramStrength)) {
param = (DSAKeyGenerationParameters) params.get(paramStrength);
} else {
synchronized (lock) {
// our key size.
if (params.containsKey(paramStrength)) {
param = (DSAKeyGenerationParameters) params.get(paramStrength);
} else {
DSAParametersGenerator pGen;
DSAParameterGenerationParameters dsaParams;
int certainty = PrimeCertaintyCalculator.getDefaultCertainty(strength);
// For legacy keysize that is less than 1024-bit, we just use the 186-2 style parameters
if (strength == 1024) {
pGen = new DSAParametersGenerator();
if (Properties.isOverrideSet("org.bouncycastle.dsa.FIPS186-2for1024bits")) {
pGen.init(strength, certainty, random);
} else {
dsaParams = new DSAParameterGenerationParameters(1024, 160, certainty, random);
pGen.init(dsaParams);
}
} else if (strength > 1024) {
dsaParams = new DSAParameterGenerationParameters(strength, 256, certainty, random);
pGen = new DSAParametersGenerator(new SHA256Digest());
pGen.init(dsaParams);
} else {
pGen = new DSAParametersGenerator();
pGen.init(strength, certainty, random);
}
param = new DSAKeyGenerationParameters(random, pGen.generateParameters());
params.put(paramStrength, param);
}
}
}
engine.init(param);
initialised = true;
}
AsymmetricCipherKeyPair pair = engine.generateKeyPair();
DSAPublicKeyParameters pub = (DSAPublicKeyParameters) pair.getPublic();
DSAPrivateKeyParameters priv = (DSAPrivateKeyParameters) pair.getPrivate();
return new KeyPair(new BCDSAPublicKey(pub), new BCDSAPrivateKey(priv));
}
use of com.github.zhenwei.core.crypto.digests.SHA256Digest 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;
}
Aggregations