diff options
Diffstat (limited to 'core/src/main/java/org/spongycastle/crypto/params/NaccacheSternPrivateKeyParameters.java')
-rw-r--r-- | core/src/main/java/org/spongycastle/crypto/params/NaccacheSternPrivateKeyParameters.java | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/core/src/main/java/org/spongycastle/crypto/params/NaccacheSternPrivateKeyParameters.java b/core/src/main/java/org/spongycastle/crypto/params/NaccacheSternPrivateKeyParameters.java new file mode 100644 index 00000000..7fa61c94 --- /dev/null +++ b/core/src/main/java/org/spongycastle/crypto/params/NaccacheSternPrivateKeyParameters.java @@ -0,0 +1,50 @@ +package org.spongycastle.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; + } +} |