org.bouncycastle.jce.spec.GOST3410PublicKeyParameterSetSpec Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bcprov-ext-jdk15on Show documentation
Show all versions of bcprov-ext-jdk15on 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. Note: this package includes the NTRU encryption algorithms.
package org.bouncycastle.jce.spec;
import java.math.BigInteger;
/**
* ParameterSpec for a GOST 3410-94 key parameters.
*/
public class GOST3410PublicKeyParameterSetSpec
{
private BigInteger p;
private BigInteger q;
private BigInteger a;
/**
* Creates a new GOST3410ParameterSpec with the specified parameter values.
*
* @param p the prime.
* @param q the sub-prime.
* @param a the base.
*/
public GOST3410PublicKeyParameterSetSpec(
BigInteger p,
BigInteger q,
BigInteger a)
{
this.p = p;
this.q = q;
this.a = a;
}
/**
* Returns the prime p
.
*
* @return the prime p
.
*/
public BigInteger getP()
{
return this.p;
}
/**
* Returns the sub-prime q
.
*
* @return the sub-prime q
.
*/
public BigInteger getQ()
{
return this.q;
}
/**
* Returns the base a
.
*
* @return the base a
.
*/
public BigInteger getA()
{
return this.a;
}
public boolean equals(
Object o)
{
if (o instanceof GOST3410PublicKeyParameterSetSpec)
{
GOST3410PublicKeyParameterSetSpec other = (GOST3410PublicKeyParameterSetSpec)o;
return this.a.equals(other.a) && this.p.equals(other.p) && this.q.equals(other.q);
}
return false;
}
public int hashCode()
{
return a.hashCode() ^ p.hashCode() ^ q.hashCode();
}
}