Class AsconDigest

  • All Implemented Interfaces:
    Digest, ExtendedDigest

    public class AsconDigest
    extends java.lang.Object
    Deprecated.
    use Ascon Hash 256 Digest
    ASCON v1.2 Digest, https://ascon.iaik.tugraz.at/ .

    https://csrc.nist.gov/CSRC/media/Projects/lightweight-cryptography/documents/finalist-round/updated-spec-doc/ascon-spec-final.pdf

    ASCON v1.2 Digest with reference to C Reference Impl from: https://github.com/ascon/ascon-c .

    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      int doFinal​(byte[] output, int outOff)
      close the digest, producing the final digest value.
      protected void ensureSufficientInputBuffer​(byte[] input, int inOff, int len)  
      protected void ensureSufficientOutputBuffer​(byte[] output, int outOff)  
      protected void ensureSufficientOutputBuffer​(byte[] output, int outOff, int len)  
      protected void finish​(byte[] output, int outOff)  
      java.lang.String getAlgorithmName()
      return the algorithm name
      int getByteLength()
      Return the size in bytes of the internal buffer the digest applies it's compression function to.
      int getDigestSize()
      return the size, in bytes, of the digest produced by this message digest.
      protected int hash​(byte[] output, int outOff, int outLen)  
      protected long loadBytes​(byte[] bytes, int inOff)
      Deprecated.
       
      protected long loadBytes​(byte[] bytes, int inOff, int n)
      Deprecated.
       
      protected long pad​(int i)
      Deprecated.
       
      protected void padAndAbsorb()  
      protected void processBytes​(byte[] input, int inOff)  
      void reset()
      Deprecated.
      reset the digest back to it's initial state.
      protected void setBytes​(long w, byte[] bytes, int inOff)
      Deprecated.
       
      protected void setBytes​(long w, byte[] bytes, int inOff, int n)
      Deprecated.
       
      protected void squeeze​(byte[] output, int outOff, int len)  
      void update​(byte in)
      update the message digest with a single byte.
      void update​(byte[] input, int inOff, int len)
      update the message digest with a block of bytes.
      • Methods inherited from class java.lang.Object

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

      • ASCON_PB_ROUNDS

        protected int ASCON_PB_ROUNDS
      • DigestSize

        protected int DigestSize
      • BlockSize

        protected int BlockSize
      • m_buf

        protected byte[] m_buf
      • m_bufPos

        protected int m_bufPos
      • algorithmName

        protected java.lang.String algorithmName
      • processor

        protected org.bouncycastle.crypto.digests.BufferBaseDigest.ProcessingBuffer processor
    • Method Detail

      • pad

        protected long pad​(int i)
        Deprecated.
      • loadBytes

        protected long loadBytes​(byte[] bytes,
                                 int inOff)
        Deprecated.
      • loadBytes

        protected long loadBytes​(byte[] bytes,
                                 int inOff,
                                 int n)
        Deprecated.
      • setBytes

        protected void setBytes​(long w,
                                byte[] bytes,
                                int inOff)
        Deprecated.
      • setBytes

        protected void setBytes​(long w,
                                byte[] bytes,
                                int inOff,
                                int n)
        Deprecated.
      • reset

        public void reset()
        Deprecated.
        Description copied from interface: Digest
        reset the digest back to it's initial state.
        Specified by:
        reset in interface Digest
      • processBytes

        protected void processBytes​(byte[] input,
                                    int inOff)
      • finish

        protected void finish​(byte[] output,
                              int outOff)
      • padAndAbsorb

        protected void padAndAbsorb()
      • squeeze

        protected void squeeze​(byte[] output,
                               int outOff,
                               int len)
      • hash

        protected int hash​(byte[] output,
                           int outOff,
                           int outLen)
      • ensureSufficientOutputBuffer

        protected void ensureSufficientOutputBuffer​(byte[] output,
                                                    int outOff,
                                                    int len)
      • getAlgorithmName

        public java.lang.String getAlgorithmName()
        Description copied from interface: Digest
        return the algorithm name
        Specified by:
        getAlgorithmName in interface Digest
        Returns:
        the algorithm name
      • getDigestSize

        public int getDigestSize()
        Description copied from interface: Digest
        return the size, in bytes, of the digest produced by this message digest.
        Specified by:
        getDigestSize in interface Digest
        Returns:
        the size, in bytes, of the digest produced by this message digest.
      • getByteLength

        public int getByteLength()
        Description copied from interface: ExtendedDigest
        Return the size in bytes of the internal buffer the digest applies it's compression function to.
        Specified by:
        getByteLength in interface ExtendedDigest
        Returns:
        byte length of the digests internal buffer.
      • update

        public void update​(byte in)
        Description copied from interface: Digest
        update the message digest with a single byte.
        Specified by:
        update in interface Digest
        Parameters:
        in - the input byte to be entered.
      • update

        public void update​(byte[] input,
                           int inOff,
                           int len)
        Description copied from interface: Digest
        update the message digest with a block of bytes.
        Specified by:
        update in interface Digest
        Parameters:
        input - the byte array containing the data.
        inOff - the offset into the byte array where the data starts.
        len - the length of the data.
      • doFinal

        public int doFinal​(byte[] output,
                           int outOff)
        Description copied from interface: Digest
        close the digest, producing the final digest value. The doFinal call leaves the digest reset.
        Specified by:
        doFinal in interface Digest
        Parameters:
        output - the array the digest is to be copied into.
        outOff - the offset into the out array the digest is to start at.
      • ensureSufficientInputBuffer

        protected void ensureSufficientInputBuffer​(byte[] input,
                                                   int inOff,
                                                   int len)
      • ensureSufficientOutputBuffer

        protected void ensureSufficientOutputBuffer​(byte[] output,
                                                    int outOff)