Package com.southernstorm.noise.protocol
Class Noise
- java.lang.Object
-
- com.southernstorm.noise.protocol.Noise
-
public final class Noise extends Object
Utility functions for the Noise protocol library.
-
-
Field Summary
Fields Modifier and Type Field Description static int
MAX_PACKET_LEN
Maximum length for Noise packets.
-
Constructor Summary
Constructors Constructor Description Noise()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description (package private) static byte[]
copySubArray(byte[] data, int offset, int length)
Makes a copy of part of an array.static CipherState
createCipher(String name)
Creates a cipher object from its Noise protocol name.static MessageDigest
createHash(String name)
Creates a hash object from its Noise protocol name.(package private) static void
destroy(byte[] array)
Destroys the contents of a byte array.(package private) static void
throwBadTagException()
Throws an instance of AEADBadTagException.
-
-
-
Field Detail
-
MAX_PACKET_LEN
public static final int MAX_PACKET_LEN
Maximum length for Noise packets.- See Also:
- Constant Field Values
-
-
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.
-
-