Class DESEngine

    • Constructor Detail

      • DESEngine

        public DESEngine()
        standard constructor.
    • Method Detail

      • init

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

        public String getAlgorithmName()
        Description copied from interface: BlockCipher
        Return the name of the algorithm the cipher implements.
        Specified by:
        getAlgorithmName in interface BlockCipher
        Returns:
        the name of the algorithm the cipher implements.
      • getBlockSize

        public int getBlockSize()
        Description copied from interface: BlockCipher
        Return the block size for this cipher (in bytes).
        Specified by:
        getBlockSize in interface BlockCipher
        Returns:
        the block size for this cipher in bytes.
      • processBlock

        public int processBlock​(byte[] in,
                                int inOff,
                                byte[] out,
                                int outOff)
        Description copied from interface: BlockCipher
        Process one block of input from the array in and write it to the out array.
        Specified by:
        processBlock in interface BlockCipher
        Parameters:
        in - the array containing the input data.
        inOff - offset into the in array the data starts at.
        out - the array the output data will be copied into.
        outOff - the offset into the out array the output will start at.
        Returns:
        the number of bytes processed and produced.
      • reset

        public void reset()
        Description copied from interface: BlockCipher
        Reset the cipher. After resetting the cipher is in the same state as it was after the last init (if there was one).
        Specified by:
        reset in interface BlockCipher
      • generateWorkingKey

        protected int[] generateWorkingKey​(boolean encrypting,
                                           byte[] key)
        generate an integer based working key based on our secret key and what we processing we are planning to do. Acknowledgements for this routine go to James Gillogly & Phil Karn. (whoever, and wherever they are!).
      • desFunc

        protected void desFunc​(int[] wKey,
                               byte[] in,
                               int inOff,
                               byte[] out,
                               int outOff)
        the DES engine.