org.bouncycastle.crypto.params.CramerShoupPrivateKeyParameters 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;
public class CramerShoupPrivateKeyParameters
extends CramerShoupKeyParameters
{
private BigInteger x1, x2, y1, y2, z; // Z_p
private CramerShoupPublicKeyParameters pk; // public key
public CramerShoupPrivateKeyParameters(CramerShoupParameters params, BigInteger x1, BigInteger x2, BigInteger y1, BigInteger y2, BigInteger z)
{
super(true, params);
this.x1 = x1;
this.x2 = x2;
this.y1 = y1;
this.y2 = y2;
this.z = z;
}
public BigInteger getX1()
{
return x1;
}
public BigInteger getX2()
{
return x2;
}
public BigInteger getY1()
{
return y1;
}
public BigInteger getY2()
{
return y2;
}
public BigInteger getZ()
{
return z;
}
public void setPk(CramerShoupPublicKeyParameters pk)
{
this.pk = pk;
}
public CramerShoupPublicKeyParameters getPk()
{
return pk;
}
public int hashCode()
{
return x1.hashCode() ^ x2.hashCode() ^ y1.hashCode() ^ y2.hashCode() ^ z.hashCode() ^ super.hashCode();
}
public boolean equals(Object obj)
{
if (!(obj instanceof CramerShoupPrivateKeyParameters))
{
return false;
}
CramerShoupPrivateKeyParameters other = (CramerShoupPrivateKeyParameters)obj;
return other.getX1().equals(this.x1) && other.getX2().equals(this.x2) && other.getY1().equals(this.y1) && other.getY2().equals(this.y2) && other.getZ().equals(this.z) && super.equals(obj);
}
}