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);
}
}