org.bouncycastle.pqc.crypto.lms.LmsUtils Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bcprov-lts8on Show documentation
Show all versions of bcprov-lts8on Show documentation
The Long Term Stable (LTS) Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms. This jar contains the JCA/JCE provider and low-level API for the BC LTS version 2.73.7 for Java 8 and later.
package org.bouncycastle.pqc.crypto.lms;
import org.bouncycastle.crypto.Digest;
class LmsUtils
{
static void u32str(int n, Digest d)
{
d.update((byte)(n >>> 24));
d.update((byte)(n >>> 16));
d.update((byte)(n >>> 8));
d.update((byte)(n));
}
static void u16str(short n, Digest d)
{
d.update((byte)(n >>> 8));
d.update((byte)(n));
}
static void byteArray(byte[] array, Digest digest)
{
digest.update(array, 0, array.length);
}
static void byteArray(byte[] array, int start, int len, Digest digest)
{
digest.update(array, start, len);
}
static int calculateStrength(LMSParameters lmsParameters)
{
if (lmsParameters == null)
{
throw new NullPointerException("lmsParameters cannot be null");
}
LMSigParameters sigParameters = lmsParameters.getLMSigParam();
return (1 << sigParameters.getH()) * sigParameters.getM();
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy