Class MD4Digest

  • All Implemented Interfaces:
    Digest

    public class MD4Digest
    extends GeneralDigest
    implementation of MD4 as RFC 1320 by R. Rivest, MIT Laboratory for Computer Science and RSA Data Security, Inc.

    NOTE: This algorithm is only included for backwards compatability with legacy applications, it's not secure, don't use it for anything new!

    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static int DIGEST_LENGTH  
      private int H1  
      private int H2  
      private int H3  
      private int H4  
      private static int S11  
      private static int S12  
      private static int S13  
      private static int S14  
      private static int S21  
      private static int S22  
      private static int S23  
      private static int S24  
      private static int S31  
      private static int S32  
      private static int S33  
      private static int S34  
      private int[] X  
      private int xOff  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int doFinal​(byte[] out, int outOff)
      close the digest, producing the final digest value.
      private int F​(int u, int v, int w)  
      private int G​(int u, int v, int w)  
      java.lang.String getAlgorithmName()
      return the algorithm name
      int getDigestSize()
      return the size, in bytes, of the digest produced by this message digest.
      private int H​(int u, int v, int w)  
      protected void processBlock()  
      protected void processLength​(long bitLength)  
      protected void processWord​(byte[] in, int inOff)  
      void reset()
      reset the chaining variables to the IV values.
      private int rotateLeft​(int x, int n)  
      private void unpackWord​(int word, byte[] out, int outOff)  
      • Methods inherited from class java.lang.Object

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

      • MD4Digest

        public MD4Digest()
        Standard constructor
      • MD4Digest

        public MD4Digest​(MD4Digest t)
        Copy constructor. This will copy the state of the provided message digest.
    • Method Detail

      • getAlgorithmName

        public java.lang.String getAlgorithmName()
        Description copied from interface: Digest
        return the algorithm name
        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.
        Returns:
        the size, in bytes, of the digest produced by this message digest.
      • processWord

        protected void processWord​(byte[] in,
                                   int inOff)
        Specified by:
        processWord in class GeneralDigest
      • unpackWord

        private void unpackWord​(int word,
                                byte[] out,
                                int outOff)
      • doFinal

        public int doFinal​(byte[] out,
                           int outOff)
        Description copied from interface: Digest
        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

        public void reset()
        reset the chaining variables to the IV values.
        Specified by:
        reset in interface Digest
        Overrides:
        reset in class GeneralDigest
      • rotateLeft

        private int rotateLeft​(int x,
                               int n)
      • F

        private int F​(int u,
                      int v,
                      int w)
      • G

        private int G​(int u,
                      int v,
                      int w)
      • H

        private int H​(int u,
                      int v,
                      int w)