Class GOST3411Digest

  • All Implemented Interfaces:
    io.anyline.nfc.bouncycastle.crypto.Digest , io.anyline.nfc.bouncycastle.crypto.ExtendedDigest , io.anyline.nfc.bouncycastle.util.Memoable

    
    public class GOST3411Digest
     implements ExtendedDigest, Memoable
                        

    implementation of GOST R 34.11-94

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      String getAlgorithmName() return the algorithm name
      int getDigestSize() return the size, in bytes, of the digest produced by this message digest.
      void update(byte in) update the message digest with a single byte.
      void update(Array<byte> in, int inOff, int len) update the message digest with a block of bytes.
      int doFinal(Array<byte> out, int outOff) close the digest, producing the final digest value.
      void reset() reset the digest back to it's initial state.
      int getByteLength() Return the size in bytes of the internal buffer the digest applies it's compression function to.
      Memoable copy() Produce a copy of this object with its configuration and in its current state.
      void reset(Memoable other) Restore a copied object state into this object.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • GOST3411Digest

        GOST3411Digest()
        Standard constructor
      • GOST3411Digest

        GOST3411Digest(Array<byte> sBoxParam)
        Constructor to allow use of a particular sbox with GOST28147
    • Method Detail

      • getDigestSize

         int getDigestSize()

        return the size, in bytes, of the digest produced by this message digest.

        Returns:

        the size, in bytes, of the digest produced by this message digest.

      • update

         void update(byte in)

        update the message digest with a single byte.

        Parameters:
        in - the input byte to be entered.
      • update

         void update(Array<byte> in, int inOff, int len)

        update the message digest with a block of bytes.

        Parameters:
        in - the byte array containing the data.
        inOff - the offset into the byte array where the data starts.
        len - the length of the data.
      • doFinal

         int doFinal(Array<byte> out, int outOff)

        close the digest, producing the final digest value. The doFinal call leaves the digest reset.

        Parameters:
        out - the array the digest is to be copied into.
        outOff - the offset into the out array the digest is to start at.
      • reset

         void reset()

        reset the digest back to it's initial state.

      • getByteLength

         int getByteLength()

        Return the size in bytes of the internal buffer the digest applies it's compression function to.

        Returns:

        byte length of the digests internal buffer.

      • copy

         Memoable copy()

        Produce a copy of this object with its configuration and in its current state.

        The returned object may be used simply to store the state, or may be used as a similar object starting from the copied state.

      • reset

         void reset(Memoable other)

        Restore a copied object state into this object.

        Implementations of this method should try to avoid or minimise memory allocation to perform the reset.

        Parameters:
        other - an object originally copied from an object of the same type as this instance.