org.bouncycastle.crypto.params.NaccacheSternPrivateKeyParameters Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bcprov-jdk15to18 Show documentation
Show all versions of bcprov-jdk15to18 Show documentation
The Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms. This jar contains JCE provider and lightweight API for the Bouncy Castle Cryptography APIs for JDK 1.5 to JDK 1.8.
package org.bouncycastle.crypto.params;
import java.math.BigInteger;
import java.util.Vector;
/**
* Private key parameters for NaccacheStern cipher. For details on this cipher,
* please see
*
* https://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;
}
}