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)
 
 - 
 
 -