Class Zuc128CoreEngine

    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      Memoable copy()
      Create a copy of the engine.
      static void encode32be​(int val, byte[] buf, int off)
      Encode a 32-bit value into a buffer (little-endian).
      java.lang.String getAlgorithmName()
      Obtain Algorithm Name.
      protected int getMaxIterations()
      Obtain Max iterations.
      void init​(boolean forEncryption, CipherParameters params)
      initialise a Snow3G cipher.
      protected int makeKeyStreamWord()
      Create the next keyStream word.
      int processBytes​(byte[] in, int inOff, int len, byte[] out, int outOff)
      Process bytes.
      void reset()
      Reset the engine.
      void reset​(Memoable pState)
      Reset from saved engine state.
      byte returnByte​(byte in)
      Process single byte.
      protected void setKeyAndIV​(int[] pLFSR, byte[] k, byte[] iv)
      Process key and IV into LFSR.
      • Methods inherited from class java.lang.Object

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

      • Zuc128CoreEngine

        protected Zuc128CoreEngine()
        Constructor.
      • Zuc128CoreEngine

        protected Zuc128CoreEngine​(Zuc128CoreEngine pSource)
        Constructor.
        Parameters:
        pSource - the source engine
    • Method Detail

      • init

        public void init​(boolean forEncryption,
                         CipherParameters params)
        initialise a Snow3G cipher.
        Specified by:
        init in interface StreamCipher
        Parameters:
        forEncryption - whether or not we are for encryption.
        params - the parameters required to set up the cipher.
        Throws:
        java.lang.IllegalArgumentException - if the params argument is inappropriate.
      • getMaxIterations

        protected int getMaxIterations()
        Obtain Max iterations.
        Returns:
        the maximum iterations
      • getAlgorithmName

        public java.lang.String getAlgorithmName()
        Obtain Algorithm Name.
        Specified by:
        getAlgorithmName in interface StreamCipher
        Returns:
        the name
      • processBytes

        public int processBytes​(byte[] in,
                                int inOff,
                                int len,
                                byte[] out,
                                int outOff)
        Process bytes.
        Specified by:
        processBytes in interface StreamCipher
        Parameters:
        in - the input buffer
        inOff - the starting offset in the input buffer
        len - the length of data in the input buffer
        out - the output buffer
        outOff - the starting offset in the output buffer
        Returns:
        the number of bytes returned in the output buffer
      • reset

        public void reset()
        Reset the engine.
        Specified by:
        reset in interface StreamCipher
      • returnByte

        public byte returnByte​(byte in)
        Process single byte.
        Specified by:
        returnByte in interface StreamCipher
        Parameters:
        in - the input byte
        Returns:
        the output byte
      • encode32be

        public static void encode32be​(int val,
                                      byte[] buf,
                                      int off)
        Encode a 32-bit value into a buffer (little-endian).
        Parameters:
        val - the value to encode
        buf - the output buffer
        off - the output offset
      • setKeyAndIV

        protected void setKeyAndIV​(int[] pLFSR,
                                   byte[] k,
                                   byte[] iv)
        Process key and IV into LFSR.
        Parameters:
        pLFSR - the LFSR
        k - the key
        iv - the iv
      • makeKeyStreamWord

        protected int makeKeyStreamWord()
        Create the next keyStream word.
        Returns:
        the next word
      • copy

        public Memoable copy()
        Create a copy of the engine.
        Specified by:
        copy in interface Memoable
        Returns:
        the copy
      • reset

        public void reset​(Memoable pState)
        Reset from saved engine state.
        Specified by:
        reset in interface Memoable
        Parameters:
        pState - the state to restore