aboutsummaryrefslogtreecommitdiff
path: root/back-end/plugins/nvault/src/INostrCryptoProvider.cs
diff options
context:
space:
mode:
Diffstat (limited to 'back-end/plugins/nvault/src/INostrCryptoProvider.cs')
-rw-r--r--back-end/plugins/nvault/src/INostrCryptoProvider.cs10
1 files changed, 10 insertions, 0 deletions
diff --git a/back-end/plugins/nvault/src/INostrCryptoProvider.cs b/back-end/plugins/nvault/src/INostrCryptoProvider.cs
index 805eb21..d6c1e8a 100644
--- a/back-end/plugins/nvault/src/INostrCryptoProvider.cs
+++ b/back-end/plugins/nvault/src/INostrCryptoProvider.cs
@@ -60,6 +60,16 @@ namespace NVault.Plugins.Vault
/// <param name="pubKey">The recovered public key</param>
/// <returns>True if the operation succeeded, false otherwise</returns>
bool RecoverPublicKey(ReadOnlySpan<byte> privateKey, Span<byte> pubKey);
+
+ ERRNO DecryptMessage(ReadOnlySpan<byte> secretKey, ReadOnlySpan<byte> targetKey, ReadOnlySpan<byte> aseIv, ReadOnlySpan<byte> cyphterText, Span<byte> outputBuffer);
+
+ ERRNO EncryptMessage(ReadOnlySpan<byte> secretKey, ReadOnlySpan<byte> targetKey, ReadOnlySpan<byte> aesIv, ReadOnlySpan<byte> plainText, Span<byte> cipherText);
+
+ /// <summary>
+ /// Fill a buffer with secure randomness/entropy
+ /// </summary>
+ /// <param name="bytes">A span of memory to fill with random data</param>
+ void GetRandomBytes(Span<byte> bytes);
}
readonly record struct KeyBufferSizes(int PrivateKeySize, int PublicKeySize);