diff options
author | Adam Vartanian <flooey@google.com> | 2019-02-14 14:42:19 +0000 |
---|---|---|
committer | Adam Vartanian <flooey@google.com> | 2019-02-18 10:18:52 +0000 |
commit | 27254450f01adef5f4bb25a648d42eeacc14c438 (patch) | |
tree | 90eb8fa6c24a44780cc4c4be2d50555f955d29f4 /bcprov/src/main/java/org/bouncycastle/crypto/ec | |
parent | bdfb209e7c1139588c82722a809c46667775a314 (diff) | |
parent | 1b335c5efbcf241b55345622fe9978047c3fdf9e (diff) | |
download | bouncycastle-27254450f01adef5f4bb25a648d42eeacc14c438.tar.gz |
Update Bouncy Castle to 1.61
Test: cts -m CtsLibcoreTestCases
Test: cts -m CtsLibcoreWycheproofBCTestCases
Change-Id: Ifcd182a8537439b945aedf80741bd51cbce37e49
Diffstat (limited to 'bcprov/src/main/java/org/bouncycastle/crypto/ec')
-rw-r--r-- | bcprov/src/main/java/org/bouncycastle/crypto/ec/CustomNamedCurves.java | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/bcprov/src/main/java/org/bouncycastle/crypto/ec/CustomNamedCurves.java b/bcprov/src/main/java/org/bouncycastle/crypto/ec/CustomNamedCurves.java index 2c23bed1..006047cc 100644 --- a/bcprov/src/main/java/org/bouncycastle/crypto/ec/CustomNamedCurves.java +++ b/bcprov/src/main/java/org/bouncycastle/crypto/ec/CustomNamedCurves.java @@ -6,14 +6,17 @@ import java.util.Hashtable; import java.util.Vector; import org.bouncycastle.asn1.ASN1ObjectIdentifier; +// Android-removed: Unsupported algorithms +// import org.bouncycastle.asn1.cryptlib.CryptlibObjectIdentifiers; +import org.bouncycastle.asn1.gm.GMObjectIdentifiers; import org.bouncycastle.asn1.sec.SECObjectIdentifiers; import org.bouncycastle.asn1.x9.X9ECParameters; import org.bouncycastle.asn1.x9.X9ECParametersHolder; import org.bouncycastle.asn1.x9.X9ECPoint; import org.bouncycastle.math.ec.ECCurve; -import org.bouncycastle.math.ec.ECPoint; // BEGIN android-removed // import org.bouncycastle.math.ec.custom.djb.Curve25519; +// import org.bouncycastle.math.ec.custom.gm.SM2P256V1Curve; // import org.bouncycastle.math.ec.custom.sec.SecP128R1Curve; // import org.bouncycastle.math.ec.custom.sec.SecP160K1Curve; // import org.bouncycastle.math.ec.custom.sec.SecP160R1Curve; @@ -624,10 +627,25 @@ public class CustomNamedCurves return new X9ECParameters(curve, G, curve.getOrder(), curve.getCofactor(), S); } }; + + /* + * sm2p256v1 + * + static X9ECParametersHolder sm2p256v1 = new X9ECParametersHolder() + { + protected X9ECParameters createParameters() + { + byte[] S = null; + ECCurve curve = configureCurve(new SM2P256V1Curve()); + X9ECPoint G = new X9ECPoint(curve, Hex.decode("04" + + "32C4AE2C1F1981195F9904466A39C9948FE30BBFF2660BE1715A4589334C74C7" + + "BC3736A2F4F6779C59BDCEE36B692153D0A9877CC62A474002DF32E52139F0A0")); + return new X9ECParameters(curve, G, curve.getOrder(), curve.getCofactor(), S); + } + }; */ // END Android-removed: Unsupported curves - static final Hashtable nameToCurve = new Hashtable(); static final Hashtable nameToOID = new Hashtable(); static final Hashtable oidToCurve = new Hashtable(); @@ -668,7 +686,7 @@ public class CustomNamedCurves { // BEGIN Android-removed: Unsupported curves /* - defineCurve("curve25519", curve25519); + defineCurveWithOID("curve25519", CryptlibObjectIdentifiers.curvey25519, curve25519); // defineCurveWithOID("secp112r1", SECObjectIdentifiers.secp112r1, secp112r1); // defineCurveWithOID("secp112r2", SECObjectIdentifiers.secp112r2, secp112r2); @@ -709,6 +727,8 @@ public class CustomNamedCurves defineCurveWithOID("sect571k1", SECObjectIdentifiers.sect571k1, sect571k1); defineCurveWithOID("sect571r1", SECObjectIdentifiers.sect571r1, sect571r1); + defineCurveWithOID("sm2p256v1", GMObjectIdentifiers.sm2p256v1, sm2p256v1); + defineCurveAlias("B-163", SECObjectIdentifiers.sect163r2); defineCurveAlias("B-233", SECObjectIdentifiers.sect233r1); defineCurveAlias("B-283", SECObjectIdentifiers.sect283r1); |