Package org.bouncycastle.math.ec
Class WNafUtil
java.lang.Object
org.bouncycastle.math.ec.WNafUtil
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic int[]
static int[]
generateCompactWindowNaf
(int width, BigInteger k) static byte[]
generateJSF
(BigInteger g, BigInteger h) static byte[]
static byte[]
generateWindowNaf
(int width, BigInteger k) Computes the Window NAF (non-adjacent Form) of an integer.static int
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
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)
-
Field Details
-
PRECOMP_NAME
- See Also:
-
-
Constructor Details
-
WNafUtil
public WNafUtil()
-
-
Method Details
-
generateCompactNaf
-
generateCompactWindowNaf
-
generateJSF
-
generateNaf
-
generateWindowNaf
Computes the Window NAF (non-adjacent Form) of an integer.- Parameters:
width
- The widthw
of the Window NAF. The width is defined as the minimal numberw
, such that for anyw
consecutive digits in the resulting representation, at most one is non-zero.k
- The integer of which the Window NAF is computed.- Returns:
- The Window NAF of the given width, such that the following holds:
k = ∑i=0l-1 ki2i
, where theki
denote the elements of the returnedbyte[]
.
-
getNafWeight
-
getWNafPreCompInfo
-
getWNafPreCompInfo
-
getWindowSize
public static int getWindowSize(int bits) Determine window width to use for a scalar multiplication of the given size.- Parameters:
bits
- the bit-length of the scalar to multiply by- Returns:
- the window size to use
-
getWindowSize
public static int getWindowSize(int bits, int[] windowSizeCutoffs) Determine window width to use for a scalar multiplication of the given size.- Parameters:
bits
- the bit-length of the scalar to multiply bywindowSizeCutoffs
- a monotonically increasing list of bit sizes at which to increment the window width- Returns:
- the window size to use
-
mapPointWithPrecomp
public static ECPoint mapPointWithPrecomp(ECPoint p, int width, boolean includeNegated, ECPointMap pointMap) -
precompute
-