23 lines
1.3 KiB
Java
23 lines
1.3 KiB
Java
|
package org.bouncycastle.jce;
|
||
|
|
||
|
import java.security.spec.ECFieldF2m;
|
||
|
import java.security.spec.ECFieldFp;
|
||
|
import java.security.spec.ECPoint;
|
||
|
import java.security.spec.EllipticCurve;
|
||
|
import org.bouncycastle.math.ec.ECCurve;
|
||
|
|
||
|
/* loaded from: classes6.dex */
|
||
|
public class ECPointUtil {
|
||
|
public static ECPoint decodePoint(EllipticCurve ellipticCurve, byte[] bArr) {
|
||
|
ECCurve f2m;
|
||
|
if (ellipticCurve.getField() instanceof ECFieldFp) {
|
||
|
f2m = new ECCurve.Fp(((ECFieldFp) ellipticCurve.getField()).getP(), ellipticCurve.getA(), ellipticCurve.getB());
|
||
|
} else {
|
||
|
int[] midTermsOfReductionPolynomial = ((ECFieldF2m) ellipticCurve.getField()).getMidTermsOfReductionPolynomial();
|
||
|
f2m = midTermsOfReductionPolynomial.length == 3 ? new ECCurve.F2m(((ECFieldF2m) ellipticCurve.getField()).getM(), midTermsOfReductionPolynomial[2], midTermsOfReductionPolynomial[1], midTermsOfReductionPolynomial[0], ellipticCurve.getA(), ellipticCurve.getB()) : new ECCurve.F2m(((ECFieldF2m) ellipticCurve.getField()).getM(), midTermsOfReductionPolynomial[0], ellipticCurve.getA(), ellipticCurve.getB());
|
||
|
}
|
||
|
org.bouncycastle.math.ec.ECPoint decodePoint = f2m.decodePoint(bArr);
|
||
|
return new ECPoint(decodePoint.getAffineXCoord().toBigInteger(), decodePoint.getAffineYCoord().toBigInteger());
|
||
|
}
|
||
|
}
|