Class X25519
- Namespace
- Org.BouncyCastle.Math.EC.Rfc7748
- Assembly
- BouncyCastle.Cryptography.dll
public static class X25519
- Inheritance
-
X25519
- Inherited Members
-
Fields
PointSize
public const int PointSize = 32
Field Value
- int
ScalarSize
public const int ScalarSize = 32
Field Value
- int
Methods
CalculateAgreement(byte[], int, byte[], int, byte[], int)
public static bool CalculateAgreement(byte[] k, int kOff, byte[] u, int uOff, byte[] r, int rOff)
Parameters
k byte[]
kOff int
u byte[]
uOff int
r byte[]
rOff int
Returns
- bool
CalculateAgreement(ReadOnlySpan<byte>, ReadOnlySpan<byte>, Span<byte>)
public static bool CalculateAgreement(ReadOnlySpan<byte> k, ReadOnlySpan<byte> u, Span<byte> r)
Parameters
k ReadOnlySpan<byte>
u ReadOnlySpan<byte>
r Span<byte>
Returns
- bool
ClampPrivateKey(byte[])
public static void ClampPrivateKey(byte[] k)
Parameters
k byte[]
GeneratePrivateKey(SecureRandom, byte[])
public static void GeneratePrivateKey(SecureRandom random, byte[] k)
Parameters
random SecureRandom
k byte[]
GeneratePrivateKey(SecureRandom, Span<byte>)
public static void GeneratePrivateKey(SecureRandom random, Span<byte> k)
Parameters
random SecureRandom
k Span<byte>
GeneratePublicKey(byte[], int, byte[], int)
public static void GeneratePublicKey(byte[] k, int kOff, byte[] r, int rOff)
Parameters
k byte[]
kOff int
r byte[]
rOff int
GeneratePublicKey(ReadOnlySpan<byte>, Span<byte>)
public static void GeneratePublicKey(ReadOnlySpan<byte> k, Span<byte> r)
Parameters
k ReadOnlySpan<byte>
r Span<byte>
Precompute()
public static void Precompute()
ScalarMult(byte[], int, byte[], int, byte[], int)
public static void ScalarMult(byte[] k, int kOff, byte[] u, int uOff, byte[] r, int rOff)
Parameters
k byte[]
kOff int
u byte[]
uOff int
r byte[]
rOff int
ScalarMult(ReadOnlySpan<byte>, ReadOnlySpan<byte>, Span<byte>)
public static void ScalarMult(ReadOnlySpan<byte> k, ReadOnlySpan<byte> u, Span<byte> r)
Parameters
k ReadOnlySpan<byte>
u ReadOnlySpan<byte>
r Span<byte>
ScalarMultBase(byte[], int, byte[], int)
public static void ScalarMultBase(byte[] k, int kOff, byte[] r, int rOff)
Parameters
k byte[]
kOff int
r byte[]
rOff int
ScalarMultBase(ReadOnlySpan<byte>, Span<byte>)
public static void ScalarMultBase(ReadOnlySpan<byte> k, Span<byte> r)
Parameters
k ReadOnlySpan<byte>
r Span<byte>