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 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[] windowSizeCutoffs)
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 width,
boolean includeNegated,
ECPointMap pointMap) |
static WNafPreCompInfo |
precompute(ECPoint p,
int width,
boolean includeNegated) |
public static final java.lang.String PRECOMP_NAME
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[] 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 ECPoint mapPointWithPrecomp(ECPoint p, int width, boolean includeNegated, ECPointMap pointMap)
public static WNafPreCompInfo precompute(ECPoint p, int width, boolean includeNegated)