16e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrompackage org.bouncycastle.math.ec; 26e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom 36e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom/** 46e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom * Class holding precomputation data for the WTNAF (Window 56e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom * <code>τ</code>-adic Non-Adjacent Form) algorithm. 66e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom */ 76e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstromclass WTauNafPreCompInfo implements PreCompInfo 86e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom{ 96e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom /** 106e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom * Array holding the precomputed <code>ECPoint.F2m</code>s used for the 116e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom * WTNAF multiplication in <code> 126e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom * {@link org.bouncycastle.math.ec.multiplier.WTauNafMultiplier.multiply() 136e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom * WTauNafMultiplier.multiply()}</code>. 146e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom */ 156e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom private ECPoint.F2m[] preComp = null; 166e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom 176e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom /** 186e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom * Constructor for <code>WTauNafPreCompInfo</code> 196e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom * @param preComp Array holding the precomputed <code>ECPoint.F2m</code>s 206e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom * used for the WTNAF multiplication in <code> 216e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom * {@link org.bouncycastle.math.ec.multiplier.WTauNafMultiplier.multiply() 226e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom * WTauNafMultiplier.multiply()}</code>. 236e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom */ 246e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom WTauNafPreCompInfo(ECPoint.F2m[] preComp) 256e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom { 266e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom this.preComp = preComp; 276e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom } 286e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom 296e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom /** 306e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom * @return the array holding the precomputed <code>ECPoint.F2m</code>s 316e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom * used for the WTNAF multiplication in <code> 326e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom * {@link org.bouncycastle.math.ec.multiplier.WTauNafMultiplier.multiply() 336e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom * WTauNafMultiplier.multiply()}</code>. 346e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom */ 356e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom protected ECPoint.F2m[] getPreComp() 366e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom { 376e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom return preComp; 386e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom } 396e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom} 40