Class Util
- java.lang.Object
-
- org.bouncycastle.pqc.math.ntru.util.Util
-
public class Util extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description Util()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static TernaryPolynomialgenerateRandomTernary(int N, int numOnes, int numNegOnes, boolean sparse, java.security.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, java.security.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 booleanis64BitJVM()Takes 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(java.io.InputStream is, int length)Reads a given number of bytes from anInputStream.
-
-
-
Method Detail
-
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, java.security.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
public static int[] generateRandomTernary(int N, int numOnes, int numNegOnes, java.security.SecureRandom random)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
public static byte[] readFullLength(java.io.InputStream is, int length) throws java.io.IOExceptionReads 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:
java.io.IOException
-
-