public static int[] asInts(byte[] x) { int[] z = new int[4]; Pack.bigEndianToInt(x, 0, z); return z; }
public static long bigEndianToLong(byte[] bs, int off) { int hi = bigEndianToInt(bs, off); int lo = bigEndianToInt(bs, off + 4); return ((long)(hi & 0xffffffffL) << 32) | (long)(lo & 0xffffffffL); }
public static int[] asInts(byte[] x) { int[] z = new int[4]; Pack.bigEndianToInt(x, 0, z); return z; }
public static void bigEndianToInt(byte[] bs, int off, int[] ns) { for (int i = 0; i < ns.length; ++i) { ns[i] = bigEndianToInt(bs, off); off += 4; } }
public static void asInts(byte[] x, int[] z) { Pack.bigEndianToInt(x, 0, z); }
private static int readDigestLength(byte[] encodedState) { return Pack.bigEndianToInt(encodedState, encodedState.length - 4); }
private static int readDigestLength(byte[] encodedState) { return Pack.bigEndianToInt(encodedState, encodedState.length - 4); }
public static void bigEndianToInt(byte[] bs, int off, int[] ns) { for (int i = 0; i < ns.length; ++i) { ns[i] = bigEndianToInt(bs, off); off += 4; } }
public static long bigEndianToLong(byte[] bs, int off) { int hi = bigEndianToInt(bs, off); int lo = bigEndianToInt(bs, off + 4); return ((long)(hi & 0xffffffffL) << 32) | (long)(lo & 0xffffffffL); }
public MD5Digest(byte[] encodedState) { super(encodedState); H1 = Pack.bigEndianToInt(encodedState, 16); H2 = Pack.bigEndianToInt(encodedState, 20); H3 = Pack.bigEndianToInt(encodedState, 24); H4 = Pack.bigEndianToInt(encodedState, 28); xOff = Pack.bigEndianToInt(encodedState, 32); for (int i = 0; i != xOff; i++) { X[i] = Pack.bigEndianToInt(encodedState, 36 + (i * 4)); } }
public SHA1Digest(byte[] encodedState) { super(encodedState); H1 = Pack.bigEndianToInt(encodedState, 16); H2 = Pack.bigEndianToInt(encodedState, 20); H3 = Pack.bigEndianToInt(encodedState, 24); H4 = Pack.bigEndianToInt(encodedState, 28); H5 = Pack.bigEndianToInt(encodedState, 32); xOff = Pack.bigEndianToInt(encodedState, 36); for (int i = 0; i != xOff; i++) { X[i] = Pack.bigEndianToInt(encodedState, 40 + (i * 4)); } }
public static void asInts(byte[] x, int[] z) { Pack.bigEndianToInt(x, 0, z); }
public SHA224Digest(byte[] encodedState) { super(encodedState); H1 = Pack.bigEndianToInt(encodedState, 16); H2 = Pack.bigEndianToInt(encodedState, 20); H3 = Pack.bigEndianToInt(encodedState, 24); H4 = Pack.bigEndianToInt(encodedState, 28); H5 = Pack.bigEndianToInt(encodedState, 32); H6 = Pack.bigEndianToInt(encodedState, 36); H7 = Pack.bigEndianToInt(encodedState, 40); H8 = Pack.bigEndianToInt(encodedState, 44); xOff = Pack.bigEndianToInt(encodedState, 48); for (int i = 0; i != xOff; i++) { X[i] = Pack.bigEndianToInt(encodedState, 52 + (i * 4)); } }
public SHA256Digest(byte[] encodedState) { super(encodedState); H1 = Pack.bigEndianToInt(encodedState, 16); H2 = Pack.bigEndianToInt(encodedState, 20); H3 = Pack.bigEndianToInt(encodedState, 24); H4 = Pack.bigEndianToInt(encodedState, 28); H5 = Pack.bigEndianToInt(encodedState, 32); H6 = Pack.bigEndianToInt(encodedState, 36); H7 = Pack.bigEndianToInt(encodedState, 40); H8 = Pack.bigEndianToInt(encodedState, 44); xOff = Pack.bigEndianToInt(encodedState, 48); for (int i = 0; i != xOff; i++) { X[i] = Pack.bigEndianToInt(encodedState, 52 + (i * 4)); } }
/** * State constructor - create a digest initialised with the state of a previous one. * * @param encodedState the encoded state from the originating digest. */ public SHA1Digest(byte[] encodedState) { super(encodedState); H1 = Pack.bigEndianToInt(encodedState, 16); H2 = Pack.bigEndianToInt(encodedState, 20); H3 = Pack.bigEndianToInt(encodedState, 24); H4 = Pack.bigEndianToInt(encodedState, 28); H5 = Pack.bigEndianToInt(encodedState, 32); xOff = Pack.bigEndianToInt(encodedState, 36); for (int i = 0; i != xOff; i++) { X[i] = Pack.bigEndianToInt(encodedState, 40 + (i * 4)); } }
protected GeneralDigest(byte[] encodedState) { System.arraycopy(encodedState, 0, xBuf, 0, xBuf.length); xBufOff = Pack.bigEndianToInt(encodedState, 4); byteCount = Pack.bigEndianToLong(encodedState, 8); }
protected GeneralDigest(byte[] encodedState) { System.arraycopy(encodedState, 0, xBuf, 0, xBuf.length); xBufOff = Pack.bigEndianToInt(encodedState, 4); byteCount = Pack.bigEndianToLong(encodedState, 8); }
protected void restoreState(byte[] encodedState) { xBufOff = Pack.bigEndianToInt(encodedState, 8); System.arraycopy(encodedState, 0, xBuf, 0, xBufOff); byteCount1 = Pack.bigEndianToLong(encodedState, 12); byteCount2 = Pack.bigEndianToLong(encodedState, 20); H1 = Pack.bigEndianToLong(encodedState, 28); H2 = Pack.bigEndianToLong(encodedState, 36); H3 = Pack.bigEndianToLong(encodedState, 44); H4 = Pack.bigEndianToLong(encodedState, 52); H5 = Pack.bigEndianToLong(encodedState, 60); H6 = Pack.bigEndianToLong(encodedState, 68); H7 = Pack.bigEndianToLong(encodedState, 76); H8 = Pack.bigEndianToLong(encodedState, 84); wOff = Pack.bigEndianToInt(encodedState, 92); for (int i = 0; i < wOff; i++) { W[i] = Pack.bigEndianToLong(encodedState, 96 + (i * 8)); } }
protected void restoreState(byte[] encodedState) { xBufOff = Pack.bigEndianToInt(encodedState, 8); System.arraycopy(encodedState, 0, xBuf, 0, xBufOff); byteCount1 = Pack.bigEndianToLong(encodedState, 12); byteCount2 = Pack.bigEndianToLong(encodedState, 20); H1 = Pack.bigEndianToLong(encodedState, 28); H2 = Pack.bigEndianToLong(encodedState, 36); H3 = Pack.bigEndianToLong(encodedState, 44); H4 = Pack.bigEndianToLong(encodedState, 52); H5 = Pack.bigEndianToLong(encodedState, 60); H6 = Pack.bigEndianToLong(encodedState, 68); H7 = Pack.bigEndianToLong(encodedState, 76); H8 = Pack.bigEndianToLong(encodedState, 84); wOff = Pack.bigEndianToInt(encodedState, 92); for (int i = 0; i < wOff; i++) { W[i] = Pack.bigEndianToLong(encodedState, 96 + (i * 8)); } }
public Builder withSignature(byte[] val) { if (val == null) { throw new NullPointerException("signature == null"); } int n = params.getDigestSize(); int len = params.getWOTSPlus().getParams().getLen(); int height = params.getHeight(); int indexSize = 4; int randomSize = n; int signatureSize = len * n; int authPathSize = height * n; int position = 0; /* extract index */ index = Pack.bigEndianToInt(val, position); position += indexSize; /* extract random */ random = XMSSUtil.extractBytesAtOffset(val, position, randomSize); position += randomSize; withReducedSignature(XMSSUtil.extractBytesAtOffset(val, position, signatureSize + authPathSize)); return this; }