Package org.bouncycastle.math.ec
Class WNafUtil
- java.lang.Object
-
- org.bouncycastle.math.ec.WNafUtil
-
public abstract class WNafUtil extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringPRECOMP_NAME
-
Constructor Summary
Constructors Constructor Description WNafUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voidconfigureBasepoint(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 intgetNafWeight(java.math.BigInteger k)static intgetWindowSize(int bits)Determine window width to use for a scalar multiplication of the given size.static intgetWindowSize(int bits, int maxWidth)Determine window width to use for a scalar multiplication of the given size.static intgetWindowSize(int bits, int[] windowSizeCutoffs)Determine window width to use for a scalar multiplication of the given size.static intgetWindowSize(int bits, int[] windowSizeCutoffs, int maxWidth)Determine window width to use for a scalar multiplication of the given size.static WNafPreCompInfogetWNafPreCompInfo(ECPoint p)static WNafPreCompInfogetWNafPreCompInfo(PreCompInfo preCompInfo)static WNafPreCompInfoprecompute(ECPoint p, int minWidth, boolean includeNegated)static WNafPreCompInfoprecomputeWithPointMap(ECPoint p, ECPointMap pointMap, WNafPreCompInfo fromWNaf, boolean includeNegated)
-
-
-
Field Detail
-
PRECOMP_NAME
public static final java.lang.String PRECOMP_NAME
- See Also:
- Constant Field Values
-
-
Method Detail
-
configureBasepoint
public static void configureBasepoint(ECPoint p)
-
generateCompactNaf
public static int[] generateCompactNaf(java.math.BigInteger k)
-
generateCompactWindowNaf
public static int[] generateCompactWindowNaf(int width, java.math.BigInteger k)
-
generateJSF
public static byte[] generateJSF(java.math.BigInteger g, java.math.BigInteger h)
-
generateNaf
public static byte[] generateNaf(java.math.BigInteger k)
-
generateWindowNaf
public static byte[] generateWindowNaf(int width, java.math.BigInteger k)Computes the Window NAF (non-adjacent Form) of an integer.- Parameters:
width- The widthwof the Window NAF. The width is defined as the minimal numberw, such that for anywconsecutive 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 thekidenote the elements of the returnedbyte[].
-
getNafWeight
public static int getNafWeight(java.math.BigInteger k)
-
getWNafPreCompInfo
public static WNafPreCompInfo getWNafPreCompInfo(ECPoint p)
-
getWNafPreCompInfo
public static WNafPreCompInfo getWNafPreCompInfo(PreCompInfo preCompInfo)
-
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 maxWidth)Determine window width to use for a scalar multiplication of the given size.- Parameters:
bits- the bit-length of the scalar to multiply bymaxWidth- the maximum window width to return- 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
-
getWindowSize
public static int getWindowSize(int bits, int[] windowSizeCutoffs, int maxWidth)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 widthmaxWidth- the maximum window width to return- Returns:
- the window size to use
-
precompute
public static WNafPreCompInfo precompute(ECPoint p, int minWidth, boolean includeNegated)
-
precomputeWithPointMap
public static WNafPreCompInfo precomputeWithPointMap(ECPoint p, ECPointMap pointMap, WNafPreCompInfo fromWNaf, boolean includeNegated)
-
-