Class Util
java.lang.Object
org.bouncycastle.pqc.legacy.math.ntru.util.Util
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic TernaryPolynomialgenerateRandomTernary(int N, int numOnes, int numNegOnes, boolean sparse, SecureRandom random) Generates a "sparse" or "dense" polynomial containing numOnes ints equal to 1, numNegOnes int equal to -1, and the rest equal to 0.static int[]generateRandomTernary(int N, int numOnes, int numNegOnes, SecureRandom random) Generates an array containing numOnes ints equal to 1, numNegOnes int equal to -1, and the rest equal to 0.static intinvert(int n, int modulus) Calculates the inverse of n mod modulusstatic booleanTakes an educated guess as to whether 64 bits are supported by the JVM.static intpow(int a, int b, int modulus) Calculates a^b mod modulusstatic longpow(long a, int b, long modulus) Calculates a^b mod modulusstatic byte[]readFullLength(InputStream is, int length) Reads a given number of bytes from anInputStream.
-
Constructor Details
-
Util
public Util()
-
-
Method Details
-
invert
public static int invert(int n, int modulus) Calculates the inverse of n mod modulus -
pow
public static int pow(int a, int b, int modulus) Calculates a^b mod modulus -
pow
public static long pow(long a, int b, long modulus) Calculates a^b mod modulus -
generateRandomTernary
public static TernaryPolynomial generateRandomTernary(int N, int numOnes, int numNegOnes, boolean sparse, SecureRandom random) Generates a "sparse" or "dense" polynomial containing numOnes ints equal to 1, numNegOnes int equal to -1, and the rest equal to 0.- Parameters:
N-numOnes-numNegOnes-sparse- whether to create aSparseTernaryPolynomialorDenseTernaryPolynomial- Returns:
- a ternary polynomial
-
generateRandomTernary
Generates an array containing numOnes ints equal to 1, numNegOnes int equal to -1, and the rest equal to 0.- Parameters:
N-numOnes-numNegOnes-- Returns:
- an array of integers
-
is64BitJVM
public static boolean is64BitJVM()Takes an educated guess as to whether 64 bits are supported by the JVM.- Returns:
trueif 64-bit support detected,falseotherwise
-
readFullLength
Reads a given number of bytes from anInputStream. If there are not enough bytes in the stream, anIOExceptionis thrown.- Parameters:
is-length-- Returns:
- an array of length
length - Throws:
IOException
-