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 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.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 int
invert(int n, int modulus)
Calculates the inverse of n mod modulusstatic boolean
is64BitJVM()
Takes an educated guess as to whether 64 bits are supported by the JVM.static int
pow(int a, int b, int modulus)
Calculates a^b mod modulusstatic long
pow(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 aSparseTernaryPolynomial
orDenseTernaryPolynomial
- 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:
true
if 64-bit support detected,false
otherwise
-
readFullLength
public static byte[] readFullLength(java.io.InputStream is, int length) throws java.io.IOException
Reads a given number of bytes from anInputStream
. If there are not enough bytes in the stream, anIOException
is thrown.- Parameters:
is
-length
-- Returns:
- an array of length
length
- Throws:
java.io.IOException
-
-