|
Bouncy Castle Cryptography Library 1.49 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.bouncycastle.pqc.math.ntru.util.ArrayEncoder
public class ArrayEncoder
Converts a coefficient array to a compact byte array and vice versa.
Constructor Summary | |
---|---|
ArrayEncoder()
|
Method Summary | |
---|---|
static int[] |
decodeMod3Sves(byte[] data,
int N)
Decodes a byte array encoded with encodeMod3Sves(int[]) back to an int array
with N coefficients between -1 and 1 . |
static int[] |
decodeMod3Tight(byte[] b,
int N)
Converts a byte array produced by encodeMod3Tight(int[]) back to an int array. |
static int[] |
decodeMod3Tight(java.io.InputStream is,
int N)
Converts data produced by encodeMod3Tight(int[]) back to an int array. |
static int[] |
decodeModQ(byte[] data,
int N,
int q)
Decodes a byte array encoded with encodeModQ(int[], int) back to an int array. |
static int[] |
decodeModQ(java.io.InputStream is,
int N,
int q)
Decodes data encoded with encodeModQ(int[], int) back to an int array. |
static byte[] |
encodeMod3Sves(int[] arr)
Encodes an int array whose elements are between -1 and 1 , to a byte array. |
static byte[] |
encodeMod3Tight(int[] intArray)
Encodes an int array whose elements are between -1 and 1 , to a byte array. |
static byte[] |
encodeModQ(int[] a,
int q)
Encodes an int array whose elements are between 0 and q ,
to a byte array leaving no gaps between bits. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ArrayEncoder()
Method Detail |
---|
public static byte[] encodeModQ(int[] a, int q)
q
,
to a byte array leaving no gaps between bits.q
must be a power of 2.
a
- the input arrayq
- the modulus
public static int[] decodeModQ(byte[] data, int N, int q)
byte
array encoded with encodeModQ(int[], int)
back to an int
array.N
is the number of coefficients. q
must be a power of 2
.
data
- an encoded ternary polynomialN
- number of coefficientsq
-
N
coefficients between 0
and q-1
public static int[] decodeModQ(java.io.InputStream is, int N, int q) throws java.io.IOException
encodeModQ(int[], int)
back to an int
array.N
is the number of coefficients. q
must be a power of 2
.
is
- an encoded ternary polynomialN
- number of coefficientsq
-
java.io.IOException
public static int[] decodeMod3Sves(byte[] data, int N)
byte
array encoded with encodeMod3Sves(int[])
back to an int
array
with N
coefficients between -1
and 1
.
data
- an encoded ternary polynomialN
- number of coefficients
public static byte[] encodeMod3Sves(int[] arr)
int
array whose elements are between -1
and 1
, to a byte array.
coeffs[2*i]
and coeffs[2*i+1]
must not both equal -1 for any integer i,
so this method is only safe to use with arrays produced by decodeMod3Sves(byte[], int)
.
See P1363.1 section 9.2.3.
- Parameters:
arr
-
- Returns:
- the encoded array
public static byte[] encodeMod3Tight(int[] intArray)
int
array whose elements are between -1
and 1
, to a byte array.
public static int[] decodeMod3Tight(byte[] b, int N)
encodeMod3Tight(int[])
back to an int
array.
b
- a byte arrayN
- number of coefficients
public static int[] decodeMod3Tight(java.io.InputStream is, int N) throws java.io.IOException
encodeMod3Tight(int[])
back to an int
array.
is
- an input stream containing the data to decodeN
- number of coefficients
java.io.IOException
|
Bouncy Castle Cryptography Library 1.49 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |