Class Zuc128Mac

java.lang.Object
org.bouncycastle.crypto.macs.Zuc128Mac
All Implemented Interfaces:
Mac

public final class Zuc128Mac extends Object implements Mac
Zuc128 Mac implementation. Based on https://www.qtc.jp/3GPP/Specs/eea3eia3specificationv16.pdf
  • Constructor Details

    • Zuc128Mac

      public Zuc128Mac()
      Constructor.
  • Method Details

    • getAlgorithmName

      public String getAlgorithmName()
      Obtain Algorithm Name.
      Specified by:
      getAlgorithmName in interface Mac
      Returns:
      the name
    • getMacSize

      public int getMacSize()
      Obtain Mac Size.
      Specified by:
      getMacSize in interface Mac
      Returns:
      the size in Bytes
    • init

      public void init(CipherParameters pParams)
      Initialise the Mac.
      Specified by:
      init in interface Mac
      Parameters:
      pParams - the parameters
    • update

      public void update(byte in)
      Update the mac with a single byte.
      Specified by:
      update in interface Mac
      Parameters:
      in - the byte to update with
    • update

      public void update(byte[] in, int inOff, int len)
      Update the mac.
      Specified by:
      update in interface Mac
      Parameters:
      in - the input buffer
      inOff - the starting offset in the input buffer
      len - the length of data to process
    • doFinal

      public int doFinal(byte[] out, int outOff)
      Finalize the mac.
      Specified by:
      doFinal in interface Mac
      Parameters:
      out - the output buffer
      outOff - the starting offset in the input buffer
      Returns:
      the size of the mac
    • reset

      public void reset()
      Description copied from interface: Mac
      Reset the MAC. At the end of resetting the MAC should be in the in the same state it was after the last init (if there was one).
      Specified by:
      reset in interface Mac