From b75ace683b656dbd5fd390557fb5800846822737 Mon Sep 17 00:00:00 2001 From: Peter Dettman Date: Mon, 22 Oct 2018 12:24:38 +0700 Subject: Add GeneratePublicKey method for completeness --- crypto/src/math/ec/rfc7748/X25519.cs | 5 +++++ crypto/src/math/ec/rfc7748/X448.cs | 5 +++++ 2 files changed, 10 insertions(+) (limited to 'crypto/src/math/ec') diff --git a/crypto/src/math/ec/rfc7748/X25519.cs b/crypto/src/math/ec/rfc7748/X25519.cs index 8524b9e2c..5c408ae42 100644 --- a/crypto/src/math/ec/rfc7748/X25519.cs +++ b/crypto/src/math/ec/rfc7748/X25519.cs @@ -60,6 +60,11 @@ namespace Org.BouncyCastle.Math.EC.Rfc7748 k[ScalarSize - 1] |= 0x40; } + public static void GeneratePublicKey(byte[] k, int kOff, byte[] r, int rOff) + { + ScalarMultBase(k, kOff, r, rOff); + } + private static void PointDouble(int[] x, int[] z) { int[] A = X25519Field.Create(); diff --git a/crypto/src/math/ec/rfc7748/X448.cs b/crypto/src/math/ec/rfc7748/X448.cs index 63e526703..7ee0bdbd4 100644 --- a/crypto/src/math/ec/rfc7748/X448.cs +++ b/crypto/src/math/ec/rfc7748/X448.cs @@ -61,6 +61,11 @@ namespace Org.BouncyCastle.Math.EC.Rfc7748 k[ScalarSize - 1] |= 0x80; } + public static void GeneratePublicKey(byte[] k, int kOff, byte[] r, int rOff) + { + ScalarMultBase(k, kOff, r, rOff); + } + private static void PointDouble(uint[] x, uint[] z) { uint[] A = X448Field.Create(); -- cgit 1.5.1