All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.bouncycastle.crypto.digests.GOST3411_2012_512Digest Maven / Gradle / Ivy

Go to download

The Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms. This jar contains JCE provider and lightweight API for the Bouncy Castle Cryptography APIs for JDK 1.5 to JDK 1.8.

The newest version!
package org.bouncycastle.crypto.digests;

import org.bouncycastle.crypto.CryptoServicePurpose;
import org.bouncycastle.util.Memoable;

/**
 * implementation of GOST R 34.11-2012 512-bit
 */
public class GOST3411_2012_512Digest
    extends GOST3411_2012Digest
{
    private final static byte[] IV = {
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
    };

    public GOST3411_2012_512Digest(CryptoServicePurpose purpose)
    {
        super(IV, purpose);
    }
    public GOST3411_2012_512Digest()
    {
        super(IV, CryptoServicePurpose.ANY);
    }

    public GOST3411_2012_512Digest(GOST3411_2012_512Digest other)
    {
        super(IV, other.purpose);
        reset(other);
    }

    public String getAlgorithmName()
    {
        return "GOST3411-2012-512";
    }

    public int getDigestSize()
    {
        return 64;
    }

    public Memoable copy()
    {
        return new GOST3411_2012_512Digest(this);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy