summaryrefslogtreecommitdiff
path: root/bcprov/src/main/java/org/bouncycastle/crypto/ec
diff options
context:
space:
mode:
authorAdam Vartanian <flooey@google.com>2019-02-14 14:42:19 +0000
committerAdam Vartanian <flooey@google.com>2019-02-18 10:18:52 +0000
commit27254450f01adef5f4bb25a648d42eeacc14c438 (patch)
tree90eb8fa6c24a44780cc4c4be2d50555f955d29f4 /bcprov/src/main/java/org/bouncycastle/crypto/ec
parentbdfb209e7c1139588c82722a809c46667775a314 (diff)
parent1b335c5efbcf241b55345622fe9978047c3fdf9e (diff)
downloadbouncycastle-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.java26
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);