package com.google.bitcoin.bouncycastle.crypto.params; import java.math.BigInteger; import java.util.Vector; /** * Private key parameters for NaccacheStern cipher. For details on this cipher, * please see * * http://www.gemplus.com/smart/rd/publications/pdf/NS98pkcs.pdf */ public class NaccacheSternPrivateKeyParameters extends NaccacheSternKeyParameters { private BigInteger phi_n; private Vector smallPrimes; /** * Constructs a NaccacheSternPrivateKey * * @param g * the public enryption parameter g * @param n * the public modulus n = p*q * @param lowerSigmaBound * the public lower sigma bound up to which data can be encrypted * @param smallPrimes * the small primes, of which sigma is constructed in the right * order * @param phi_n * the private modulus phi(n) = (p-1)(q-1) */ public NaccacheSternPrivateKeyParameters(BigInteger g, BigInteger n, int lowerSigmaBound, Vector smallPrimes, BigInteger phi_n) { super(true, g, n, lowerSigmaBound); this.smallPrimes = smallPrimes; this.phi_n = phi_n; } public BigInteger getPhi_n() { return phi_n; } public Vector getSmallPrimes() { return smallPrimes; } }