Bouncy Castle Cryptography Library 1.49

org.bouncycastle.pqc.math.ntru.util
Class Util

java.lang.Object
  extended by org.bouncycastle.pqc.math.ntru.util.Util

public class Util
extends java.lang.Object


Constructor Summary
Util()
           
 
Method Summary
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 modulus
static 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 modulus
static long pow(long a, int b, long modulus)
          Calculates a^b mod modulus
static byte[] readFullLength(java.io.InputStream is, int length)
          Reads a given number of bytes from an InputStream.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Util

public Util()
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 a SparseTernaryPolynomial or DenseTernaryPolynomial
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 an InputStream. If there are not enough bytes in the stream, an IOException is thrown.

Parameters:
is -
length -
Returns:
an array of length length
Throws:
java.io.IOException

Bouncy Castle Cryptography Library 1.49