org.bouncycastle.math.ec
Class WNafUtil
java.lang.Object
org.bouncycastle.math.ec.WNafUtil
public abstract class WNafUtil
- extends java.lang.Object
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
WNafUtil
public WNafUtil()
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 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.
- Returns:
- The Window NAF of the given width, such that the following holds:
k = ∑i=0l-1 ki2i
, where the ki
denote the elements of the
returned byte[]
.
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[] 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
precompute
public static WNafPreCompInfo precompute(ECPoint p,
int width,
boolean includeNegated)