public class XMSSUtil
extends java.lang.Object
| Constructor and Description | 
|---|
XMSSUtil()  | 
| Modifier and Type | Method and Description | 
|---|---|
static boolean | 
areEqual(byte[][] a,
        byte[][] b)
Compares two 2d-byte arrays. 
 | 
static long | 
bytesToXBigEndian(byte[] in,
                 int offset,
                 int size)  | 
static int | 
calculateTau(int index,
            int height)  | 
static byte[] | 
cloneArray(byte[] in)
Clone a byte array. 
 | 
static byte[][] | 
cloneArray(byte[][] in)
Clone a 2d byte array. 
 | 
static void | 
copyBytesAtOffset(byte[] dst,
                 byte[] src,
                 int offset)
Copy src byte array to dst byte array at offset. 
 | 
static java.lang.Object | 
deserialize(byte[] data,
           java.lang.Class clazz)  | 
static void | 
dumpByteArray(byte[][] x)
Dump content of 2d byte array. 
 | 
static byte[] | 
extractBytesAtOffset(byte[] src,
                    int offset,
                    int length)
Copy length bytes at position offset from src. 
 | 
static int | 
getDigestSize(Digest digest)
Determine digest size of digest. 
 | 
static int | 
getLeafIndex(long index,
            int xmssTreeHeight)  | 
static long | 
getTreeIndex(long index,
            int xmssTreeHeight)  | 
static boolean | 
hasNullPointer(byte[][] in)
Checks whether 2d byte array has null pointers. 
 | 
static boolean | 
isIndexValid(int height,
            long index)
Check whether an index is valid or not. 
 | 
static boolean | 
isNewAuthenticationPathNeeded(long globalIndex,
                             int xmssHeight,
                             int layer)  | 
static boolean | 
isNewBDSInitNeeded(long globalIndex,
                  int xmssHeight,
                  int layer)  | 
static int | 
log2(int n)
Calculates the logarithm base 2 for a given Integer. 
 | 
static void | 
longToBigEndian(long value,
               byte[] in,
               int offset)  | 
static byte[] | 
serialize(java.lang.Object obj)  | 
static byte[] | 
toBytesBigEndian(long value,
                int sizeInByte)
Convert int/long to n-byte array. 
 | 
public static int log2(int n)
n - Number.n.public static byte[] toBytesBigEndian(long value,
                                      int sizeInByte)
value - int/long value.sizeInByte - Size of byte array in byte.sizeInByte.public static void longToBigEndian(long value,
                                   byte[] in,
                                   int offset)
public static long bytesToXBigEndian(byte[] in,
                                     int offset,
                                     int size)
public static byte[] cloneArray(byte[] in)
in - byte array.public static byte[][] cloneArray(byte[][] in)
in - 2d byte array.public static boolean areEqual(byte[][] a,
                               byte[][] b)
a - 2d-byte array 1.b - 2d-byte array 2.public static void dumpByteArray(byte[][] x)
x - byte array.public static boolean hasNullPointer(byte[][] in)
in - 2d byte array.public static void copyBytesAtOffset(byte[] dst,
                                     byte[] src,
                                     int offset)
dst - Destination.src - Source.offset - Destination offset.public static byte[] extractBytesAtOffset(byte[] src,
                                          int offset,
                                          int length)
src - Source byte array.offset - Offset in source byte array.length - Length of bytes to copy.public static boolean isIndexValid(int height,
                                   long index)
height - Height of binary tree.index - Index to validate.public static int getDigestSize(Digest digest)
digest - Digest.public static long getTreeIndex(long index,
                                int xmssTreeHeight)
public static int getLeafIndex(long index,
                               int xmssTreeHeight)
public static byte[] serialize(java.lang.Object obj)
                        throws java.io.IOException
java.io.IOExceptionpublic static java.lang.Object deserialize(byte[] data,
                                           java.lang.Class clazz)
                                    throws java.io.IOException,
                                           java.lang.ClassNotFoundException
java.io.IOExceptionjava.lang.ClassNotFoundExceptionpublic static int calculateTau(int index,
                               int height)
public static boolean isNewBDSInitNeeded(long globalIndex,
                                         int xmssHeight,
                                         int layer)
public static boolean isNewAuthenticationPathNeeded(long globalIndex,
                                                    int xmssHeight,
                                                    int layer)