Example usage for org.bouncycastle.crypto.digests SHA3Digest SHA3Digest

List of usage examples for org.bouncycastle.crypto.digests SHA3Digest SHA3Digest

Introduction

In this page you can find the example usage for org.bouncycastle.crypto.digests SHA3Digest SHA3Digest.

Prototype

public SHA3Digest(SHA3Digest source) 

Source Link

Usage

From source file:com.distrimind.util.crypto.BCMac.java

License:Open Source License

public void init(org.bouncycastle.crypto.SymmetricSecretKey _key) throws NoSuchAlgorithmException {
    Digest d;/*ww  w.  ja va 2  s .  c  o  m*/
    if (type.getCodeProviderForSignature() == CodeProvider.BC) {
        switch (type.getMessageDigestType()) {
        case BC_FIPS_SHA3_256:
            d = new SHA3Digest(256);
            break;
        case BC_FIPS_SHA3_384:
            d = new SHA3Digest(384);
            break;
        case BC_FIPS_SHA3_512:
            d = new SHA3Digest(512);
            break;
        case BC_BLAKE2B_160:
        case BC_BLAKE2B_256:
        case BC_BLAKE2B_384:
        case BC_BLAKE2B_512:
            d = new Blake2bDigest(type.getMessageDigestType().getDigestLengthInBits());
            break;
        default:
            throw new NoSuchAlgorithmException(type.toString());
        }
    } else {
        throw new NoSuchAlgorithmException(type.toString());
    }
    mac = new HMac(d);
    mac.init(new KeyParameter((secretKey = _key).getKeyBytes()));
    reset();

}

From source file:me.grapebaba.hyperledger.fabric.Crypto.java

License:Apache License

public Crypto(SecurityLevel securityLevel, HashAlgorithm hashAlgorithm) {
    curveName = SecurityLevel.CURVE_P_256_Size == securityLevel ? "secp256r1" : "secp384r1";
    if (hashAlgorithm == HashAlgorithm.SHA2 && securityLevel == SecurityLevel.CURVE_P_384_Size) {
        throw new RuntimeException("SHA2 not support size 384");
    } else if (hashAlgorithm == HashAlgorithm.SHA2 && securityLevel == SecurityLevel.CURVE_P_256_Size) {
        digest = new SHA256Digest();
    } else if (hashAlgorithm == HashAlgorithm.SHA3 && securityLevel == SecurityLevel.CURVE_P_384_Size) {
        digest = new SHA3Digest(384);
    } else {/*from   w w w .  j  av a  2 s.  c  o m*/
        digest = new SHA3Digest();
    }
}

From source file:org.cryptacular.spec.DigestSpec.java

License:Open Source License

/**
 * Creates a new digest instance./*  w  ww . ja v a 2 s  .com*/
 *
 * @return  Digest instance.
 */
@Override
public Digest newInstance() {
    final Digest digest;
    if ("GOST3411".equalsIgnoreCase(algorithm)) {
        digest = new GOST3411Digest();
    } else if ("MD2".equalsIgnoreCase(algorithm)) {
        digest = new MD2Digest();
    } else if ("MD4".equalsIgnoreCase(algorithm)) {
        digest = new MD4Digest();
    } else if ("MD5".equalsIgnoreCase(algorithm)) {
        digest = new MD5Digest();
    } else if ("RIPEMD128".equalsIgnoreCase(algorithm) || "RIPEMD-128".equalsIgnoreCase(algorithm)) {
        digest = new RIPEMD128Digest();
    } else if ("RIPEMD160".equalsIgnoreCase(algorithm) || "RIPEMD-160".equalsIgnoreCase(algorithm)) {
        digest = new RIPEMD160Digest();
    } else if ("RIPEMD256".equalsIgnoreCase(algorithm) || "RIPEMD-256".equalsIgnoreCase(algorithm)) {
        digest = new RIPEMD256Digest();
    } else if ("RIPEMD320".equalsIgnoreCase(algorithm) || "RIPEMD-320".equalsIgnoreCase(algorithm)) {
        digest = new RIPEMD320Digest();
    } else if ("SHA1".equalsIgnoreCase(algorithm) || "SHA-1".equalsIgnoreCase(algorithm)) {
        digest = new SHA1Digest();
    } else if ("SHA224".equalsIgnoreCase(algorithm) || "SHA-224".equalsIgnoreCase(algorithm)) {
        digest = new SHA224Digest();
    } else if ("SHA256".equalsIgnoreCase(algorithm) || "SHA-256".equalsIgnoreCase(algorithm)) {
        digest = new SHA256Digest();
    } else if ("SHA384".equalsIgnoreCase(algorithm) || "SHA-384".equalsIgnoreCase(algorithm)) {
        digest = new SHA384Digest();
    } else if ("SHA512".equalsIgnoreCase(algorithm) || "SHA-512".equalsIgnoreCase(algorithm)) {
        digest = new SHA512Digest();
    } else if ("SHA3".equalsIgnoreCase(algorithm) || "SHA-3".equalsIgnoreCase(algorithm)) {
        digest = new SHA3Digest(size);
    } else if ("Tiger".equalsIgnoreCase(algorithm)) {
        digest = new TigerDigest();
    } else if ("Whirlpool".equalsIgnoreCase(algorithm)) {
        digest = new WhirlpoolDigest();
    } else {
        throw new IllegalStateException("Unsupported digest algorithm " + algorithm);
    }
    return digest;
}

From source file:org.cryptacular.util.HashUtil.java

License:Open Source License

/**
 * Produces the SHA-3 hash of the given data.
 *
 * @param  bitLength  One of the supported SHA-3 output bit lengths: 224, 256,
 *                    384, or 512./*w  w w. jav a 2 s  . co m*/
 * @param  data  Data to hash. See {@link #hash(Digest, Object...)} for
 *               supported inputs.
 *
 * @return  Byte array of size <code>bitLength</code> containing hash output.
 *
 * @see  #hash(Digest, Object...)
 */
public static byte[] sha3(final int bitLength, final Object... data) {
    return hash(new SHA3Digest(bitLength), data);
}

From source file:org.thingsboard.server.common.msg.EncryptionUtil.java

License:Apache License

public static String getSha3Hash(String data) {
    String trimmedData = trimNewLines(data);
    byte[] dataBytes = trimmedData.getBytes();
    SHA3Digest md = new SHA3Digest(256);
    md.reset();//from   w ww .ja va  2 s .  co m
    md.update(dataBytes, 0, dataBytes.length);
    byte[] hashedBytes = new byte[256 / 8];
    md.doFinal(hashedBytes, 0);
    String sha3Hash = ByteUtils.toHexString(hashedBytes);
    return sha3Hash;
}

From source file:org.xipki.commons.security.HashAlgoType.java

License:Open Source License

public Digest createDigest() {
    switch (this) {
    case SHA1:// w w w  . j av a 2 s  .com
        return new SHA1Digest();
    case SHA224:
        return new SHA224Digest();
    case SHA256:
        return new SHA256Digest();
    case SHA384:
        return new SHA384Digest();
    case SHA512:
        return new SHA512Digest();
    case SHA3_224:
        return new SHA3Digest(224);
    case SHA3_256:
        return new SHA3Digest(256);
    case SHA3_384:
        return new SHA3Digest(384);
    case SHA3_512:
        return new SHA3Digest(512);
    default:
        throw new RuntimeException("should not reach here, unknown HashAlgoType " + name());
    }
}

From source file:org.xipki.pki.ocsp.client.impl.SHA3_224DigestCalculator.java

License:Open Source License

@Override
protected Digest getDigester() {
    return new SHA3Digest(224);
}

From source file:org.xipki.pki.ocsp.client.impl.SHA3_256DigestCalculator.java

License:Open Source License

@Override
protected Digest getDigester() {
    return new SHA3Digest(256);
}

From source file:org.xipki.pki.ocsp.client.impl.SHA3_384DigestCalculator.java

License:Open Source License

@Override
protected Digest getDigester() {
    return new SHA3Digest(384);
}

From source file:org.xipki.pki.ocsp.client.impl.SHA3_512DigestCalculator.java

License:Open Source License

@Override
protected Digest getDigester() {
    return new SHA3Digest(512);
}