what-the-bank/sources/org/bouncycastle/pqc/jcajce/provider/rainbow/BCRainbowPrivateKey.java

109 lines
4.1 KiB
Java
Raw Permalink Normal View History

2024-07-27 18:17:47 +07:00
package org.bouncycastle.pqc.jcajce.provider.rainbow;
import java.io.IOException;
import java.security.PrivateKey;
import org.bouncycastle.asn1.DERNull;
import org.bouncycastle.asn1.pkcs.PrivateKeyInfo;
import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
import org.bouncycastle.pqc.asn1.PQCObjectIdentifiers;
import org.bouncycastle.pqc.asn1.RainbowPrivateKey;
import org.bouncycastle.pqc.crypto.rainbow.Layer;
import org.bouncycastle.pqc.crypto.rainbow.RainbowPrivateKeyParameters;
import org.bouncycastle.pqc.crypto.rainbow.util.RainbowUtil;
import org.bouncycastle.pqc.jcajce.spec.RainbowPrivateKeySpec;
import org.bouncycastle.util.Arrays;
/* loaded from: classes6.dex */
public class BCRainbowPrivateKey implements PrivateKey {
private static final long serialVersionUID = 1;
private short[][] A1inv;
private short[][] A2inv;
private short[] b1;
private short[] b2;
private Layer[] layers;
private int[] vi;
public int hashCode() {
int length = (((((((((this.layers.length * 37) + Arrays.hashCode(this.A1inv)) * 37) + Arrays.hashCode(this.b1)) * 37) + Arrays.hashCode(this.A2inv)) * 37) + Arrays.hashCode(this.b2)) * 37) + Arrays.hashCode(this.vi);
for (int length2 = this.layers.length - 1; length2 >= 0; length2--) {
length = (length * 37) + this.layers[length2].hashCode();
}
return length;
}
public int[] getVi() {
return this.vi;
}
public Layer[] getLayers() {
return this.layers;
}
public short[][] getInvA2() {
return this.A2inv;
}
public short[][] getInvA1() {
return this.A1inv;
}
@Override // java.security.Key
public String getFormat() {
return "PKCS#8";
}
@Override // java.security.Key
public byte[] getEncoded() {
try {
return new PrivateKeyInfo(new AlgorithmIdentifier(PQCObjectIdentifiers.rainbow, DERNull.INSTANCE), new RainbowPrivateKey(this.A1inv, this.b1, this.A2inv, this.b2, this.vi, this.layers)).getEncoded();
} catch (IOException unused) {
return null;
}
}
public short[] getB2() {
return this.b2;
}
public short[] getB1() {
return this.b1;
}
@Override // java.security.Key
public final String getAlgorithm() {
return "Rainbow";
}
public boolean equals(Object obj) {
if (obj == null || !(obj instanceof BCRainbowPrivateKey)) {
return false;
}
BCRainbowPrivateKey bCRainbowPrivateKey = (BCRainbowPrivateKey) obj;
boolean z = RainbowUtil.equals(this.A1inv, bCRainbowPrivateKey.getInvA1()) && RainbowUtil.equals(this.A2inv, bCRainbowPrivateKey.getInvA2()) && RainbowUtil.equals(this.b1, bCRainbowPrivateKey.getB1()) && RainbowUtil.equals(this.b2, bCRainbowPrivateKey.getB2()) && java.util.Arrays.equals(this.vi, bCRainbowPrivateKey.getVi());
if (this.layers.length != bCRainbowPrivateKey.getLayers().length) {
return false;
}
for (int length = this.layers.length - 1; length >= 0; length--) {
z &= this.layers[length].equals(bCRainbowPrivateKey.getLayers()[length]);
}
return z;
}
public BCRainbowPrivateKey(short[][] sArr, short[] sArr2, short[][] sArr3, short[] sArr4, int[] iArr, Layer[] layerArr) {
this.A1inv = sArr;
this.b1 = sArr2;
this.A2inv = sArr3;
this.b2 = sArr4;
this.vi = iArr;
this.layers = layerArr;
}
public BCRainbowPrivateKey(RainbowPrivateKeySpec rainbowPrivateKeySpec) {
this(rainbowPrivateKeySpec.getInvA1(), rainbowPrivateKeySpec.getB1(), rainbowPrivateKeySpec.getInvA2(), rainbowPrivateKeySpec.getB2(), rainbowPrivateKeySpec.getVi(), rainbowPrivateKeySpec.getLayers());
}
public BCRainbowPrivateKey(RainbowPrivateKeyParameters rainbowPrivateKeyParameters) {
this(rainbowPrivateKeyParameters.getInvA1(), rainbowPrivateKeyParameters.getB1(), rainbowPrivateKeyParameters.getInvA2(), rainbowPrivateKeyParameters.getB2(), rainbowPrivateKeyParameters.getVi(), rainbowPrivateKeyParameters.getLayers());
}
}