Class Noise


  • public final class Noise
    extends Object
    Utility functions for the Noise protocol library.
    • Field Detail

      • MAX_PACKET_LEN

        public static final int MAX_PACKET_LEN
        Maximum length for Noise packets.
        See Also:
        Constant Field Values
    • Constructor Detail

      • Noise

        public Noise()
    • Method Detail

      • createCipher

        public static CipherState createCipher​(String name)
                                        throws NoSuchAlgorithmException
        Creates a cipher object from its Noise protocol name.
        Parameters:
        name - The name of the cipher algorithm; e.g. "AESGCM", "ChaChaPoly", etc.
        Returns:
        The cipher object if the name is recognized.
        Throws:
        NoSuchAlgorithmException - The name is not recognized as a valid Noise protocol name, or there is no cryptography provider in the system that implements the algorithm.
      • createHash

        public static MessageDigest createHash​(String name)
                                        throws NoSuchAlgorithmException
        Creates a hash object from its Noise protocol name.
        Parameters:
        name - The name of the hash algorithm; e.g. "SHA256", "BLAKE2s", etc.
        Returns:
        The hash object if the name is recognized.
        Throws:
        NoSuchAlgorithmException - The name is not recognized as a valid Noise protocol name, or there is no cryptography provider in the system that implements the algorithm.
      • destroy

        static void destroy​(byte[] array)
        Destroys the contents of a byte array.
        Parameters:
        array - The array whose contents should be destroyed.
      • copySubArray

        static byte[] copySubArray​(byte[] data,
                                   int offset,
                                   int length)
        Makes a copy of part of an array.
        Parameters:
        data - The buffer containing the data to copy.
        offset - Offset of the first byte to copy.
        length - The number of bytes to copy.
        Returns:
        A new array with a copy of the sub-array.
      • throwBadTagException

        static void throwBadTagException()
                                  throws BadPaddingException
        Throws an instance of AEADBadTagException.
        Throws:
        BadPaddingException - The AEAD exception. If the underlying JDK does not have the AEADBadTagException class, then this function will instead throw an instance of the superclass BadPaddingException.