Overview | Package | Class | Tree | Deprecated | Index | Help
| Bouncy Castle Cryptography Library 1.84
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.bouncycastle.math.ec
Class WNafUtil

    java.lang.Object
      org.bouncycastle.math.ec.WNafUtil

public abstract class WNafUtil
extends java.lang.Object

Field Summary
`static java.lang.String` | `PRECOMP_NAME`

Constructor Summary
`WNafUtil()`

Method Summary
`static void` | `configureBasepoint(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 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 maxWidth)` 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 int` | `getWindowSize(int bits, int[] windowSizeCutoffs, int maxWidth)` Determine window width to use for a scalar multiplication of the given size.
`static WNafPreCompInfo` | `getWNafPreCompInfo(ECPoint p)`
`static WNafPreCompInfo` | `getWNafPreCompInfo(PreCompInfo preCompInfo)`
`static WNafPreCompInfo` | `precompute(ECPoint p, int minWidth, boolean includeNegated)`
`static WNafPreCompInfo` | `precomputeWithPointMap(ECPoint p, ECPointMap pointMap, WNafPreCompInfo fromWNaf, boolean includeNegated)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### PRECOMP_NAME

    public static final java.lang.String PRECOMP_NAME

See Also:
  Constant Field Values

Constructor Detail

### WNafUtil

    public WNafUtil()

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 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=0 l-1 k i2 i , where the k i denote the elements of the returned byte[].

### 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 by
    `maxWidth` - 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 by
    `windowSizeCutoffs` - 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 by
    `windowSizeCutoffs` - a monotonically increasing list of bit sizes at which to increment the window width
    `maxWidth` - 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)

Overview | Package | Class | Tree | Deprecated | Index | Help
| Bouncy Castle Cryptography Library 1.84
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD