From d5b186492a09c1aee253998670fc843e6087fe6e Mon Sep 17 00:00:00 2001 From: Peter Dettman Date: Fri, 2 Aug 2019 18:41:24 +0700 Subject: Add experimental support for GLV Type A endomorphisms --- crypto/BouncyCastle.Android.csproj | 6 ++ crypto/BouncyCastle.csproj | 6 ++ crypto/BouncyCastle.iOS.csproj | 6 ++ crypto/crypto.csproj | 30 ++++++++++ crypto/src/asn1/sec/SECNamedCurves.cs | 76 +++++++++++++----------- crypto/src/crypto/ec/CustomNamedCurves.cs | 76 +++++++++++++----------- crypto/src/math/ec/ECPoint.cs | 24 ++++++++ crypto/src/math/ec/ScaleXNegateYPointMap.cs | 20 +++++++ crypto/src/math/ec/ScaleYNegateXPointMap.cs | 20 +++++++ crypto/src/math/ec/endo/EndoUtilities.cs | 34 +++++++++++ crypto/src/math/ec/endo/GlvTypeAEndomorphism.cs | 38 ++++++++++++ crypto/src/math/ec/endo/GlvTypeAParameters.cs | 32 ++++++++++ crypto/src/math/ec/endo/GlvTypeBEndomorphism.cs | 31 +++------- crypto/src/math/ec/endo/GlvTypeBParameters.cs | 41 ++++++++----- crypto/src/math/ec/endo/ScalarSplitParameters.cs | 69 +++++++++++++++++++++ 15 files changed, 398 insertions(+), 111 deletions(-) create mode 100644 crypto/src/math/ec/ScaleXNegateYPointMap.cs create mode 100644 crypto/src/math/ec/ScaleYNegateXPointMap.cs create mode 100644 crypto/src/math/ec/endo/EndoUtilities.cs create mode 100644 crypto/src/math/ec/endo/GlvTypeAEndomorphism.cs create mode 100644 crypto/src/math/ec/endo/GlvTypeAParameters.cs create mode 100644 crypto/src/math/ec/endo/ScalarSplitParameters.cs diff --git a/crypto/BouncyCastle.Android.csproj b/crypto/BouncyCastle.Android.csproj index 41ad0c236..2c2c44f86 100644 --- a/crypto/BouncyCastle.Android.csproj +++ b/crypto/BouncyCastle.Android.csproj @@ -1225,7 +1225,9 @@ + + @@ -1340,9 +1342,13 @@ + + + + diff --git a/crypto/BouncyCastle.csproj b/crypto/BouncyCastle.csproj index 8c7f342d2..6a5e58829 100644 --- a/crypto/BouncyCastle.csproj +++ b/crypto/BouncyCastle.csproj @@ -1219,7 +1219,9 @@ + + @@ -1334,9 +1336,13 @@ + + + + diff --git a/crypto/BouncyCastle.iOS.csproj b/crypto/BouncyCastle.iOS.csproj index f3ffb3b66..8194180f5 100644 --- a/crypto/BouncyCastle.iOS.csproj +++ b/crypto/BouncyCastle.iOS.csproj @@ -1220,7 +1220,9 @@ + + @@ -1335,9 +1337,13 @@ + + + + diff --git a/crypto/crypto.csproj b/crypto/crypto.csproj index 1b4cccd52..4e6330818 100644 --- a/crypto/crypto.csproj +++ b/crypto/crypto.csproj @@ -5983,11 +5983,21 @@ SubType = "Code" BuildAction = "Compile" /> + + + + + +