public abstract class WNafUtil
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
PRECOMP_NAME |
Constructor and Description |
---|
WNafUtil() |
Modifier and Type | Method and Description |
---|---|
static void |
configureBasepoint(ECPoint p) |
static int[] |
generateCompactNaf(java.math.BigInteger k) |
static int[] |
generateCompactWindowNaf(int width,
java.math.BigInteger k) |
static byte[] |
generateJSF(java.math.BigInteger g,
java.math.BigInteger h) |
static byte[] |
generateNaf(java.math.BigInteger k) |
static byte[] |
generateWindowNaf(int width,
java.math.BigInteger k)
Computes the Window NAF (non-adjacent Form) of an integer.
|
static int |
getNafWeight(java.math.BigInteger k) |
static int |
getWindowSize(int bits)
Determine window width to use for a scalar multiplication of the given size.
|
static int |
getWindowSize(int bits,
int maxWidth)
Determine window width to use for a scalar multiplication of the given size.
|
static int |
getWindowSize(int bits,
int[] windowSizeCutoffs)
Determine window width to use for a scalar multiplication of the given size.
|
static int |
getWindowSize(int bits,
int[] windowSizeCutoffs,
int maxWidth)
Determine window width to use for a scalar multiplication of the given size.
|
static WNafPreCompInfo |
getWNafPreCompInfo(ECPoint p) |
static WNafPreCompInfo |
getWNafPreCompInfo(PreCompInfo preCompInfo) |
static ECPoint |
mapPointWithPrecomp(ECPoint p,
int minWidth,
boolean includeNegated,
ECPointMap pointMap)
Deprecated.
|
static WNafPreCompInfo |
precompute(ECPoint p,
int minWidth,
boolean includeNegated) |
static WNafPreCompInfo |
precomputeWithPointMap(ECPoint p,
ECPointMap pointMap,
WNafPreCompInfo fromWNaf,
boolean includeNegated) |
public static final java.lang.String PRECOMP_NAME
public static void configureBasepoint(ECPoint p)
public static int[] generateCompactNaf(java.math.BigInteger k)
public static int[] generateCompactWindowNaf(int width, java.math.BigInteger k)
public static byte[] generateJSF(java.math.BigInteger g, java.math.BigInteger h)
public static byte[] generateNaf(java.math.BigInteger k)
public static byte[] generateWindowNaf(int width, java.math.BigInteger k)
width
- The width w
of the Window NAF. The width is
defined as the minimal number w
, such that for any
w
consecutive digits in the resulting representation, at
most one is non-zero.k
- The integer of which the Window NAF is computed.k = ∑i=0l-1 ki2i
, where the ki
denote the elements of the
returned byte[]
.public static int getNafWeight(java.math.BigInteger k)
public static WNafPreCompInfo getWNafPreCompInfo(ECPoint p)
public static WNafPreCompInfo getWNafPreCompInfo(PreCompInfo preCompInfo)
public static int getWindowSize(int bits)
bits
- the bit-length of the scalar to multiply bypublic static int getWindowSize(int bits, int maxWidth)
bits
- the bit-length of the scalar to multiply bymaxWidth
- the maximum window width to returnpublic static int getWindowSize(int bits, int[] windowSizeCutoffs)
bits
- the bit-length of the scalar to multiply bywindowSizeCutoffs
- a monotonically increasing list of bit sizes at which to increment the window widthpublic static int getWindowSize(int bits, int[] windowSizeCutoffs, int maxWidth)
bits
- the bit-length of the scalar to multiply bywindowSizeCutoffs
- a monotonically increasing list of bit sizes at which to increment the window widthmaxWidth
- the maximum window width to returnpublic static ECPoint mapPointWithPrecomp(ECPoint p, int minWidth, boolean includeNegated, ECPointMap pointMap)
public static WNafPreCompInfo precompute(ECPoint p, int minWidth, boolean includeNegated)
public static WNafPreCompInfo precomputeWithPointMap(ECPoint p, ECPointMap pointMap, WNafPreCompInfo fromWNaf, boolean includeNegated)