diff --git a/src/StevanFreeborn.Extensions.Configuration.Secure/Cryptography/ICryptoProvider.cs b/src/StevanFreeborn.Extensions.Configuration.Secure/Cryptography/ICryptoProvider.cs
index 4009509..b9ff163 100644
--- a/src/StevanFreeborn.Extensions.Configuration.Secure/Cryptography/ICryptoProvider.cs
+++ b/src/StevanFreeborn.Extensions.Configuration.Secure/Cryptography/ICryptoProvider.cs
@@ -1,7 +1,21 @@
namespace StevanFreeborn.Extensions.Configuration.Secure.Cryptography;
-internal interface ICryptoProvider
+///
+/// Defines the contract for cryptographic operations.
+///
+public interface ICryptoProvider
{
+ ///
+ /// Encrypts the provided plain text.
+ ///
+ /// The unencrypted string to be encrypted.
+ /// The encrypted cipher text.
string Encrypt(string plainText);
+
+ ///
+ /// Decrypts the provided cipher text.
+ ///
+ /// The encrypted string to be decrypted.
+ /// The decrypted plain text.
string Decrypt(string cipherText);
}
\ No newline at end of file
diff --git a/src/StevanFreeborn.Extensions.Configuration.Secure/Cryptography/IEncryptionKeyProvider.cs b/src/StevanFreeborn.Extensions.Configuration.Secure/Cryptography/IEncryptionKeyProvider.cs
index 9bcd2c4..2886c5a 100644
--- a/src/StevanFreeborn.Extensions.Configuration.Secure/Cryptography/IEncryptionKeyProvider.cs
+++ b/src/StevanFreeborn.Extensions.Configuration.Secure/Cryptography/IEncryptionKeyProvider.cs
@@ -1,6 +1,13 @@
namespace StevanFreeborn.Extensions.Configuration.Secure.Cryptography;
-internal interface IEncryptionKeyProvider
+///
+/// Defines a contract for providing encryption keys used to secure configuration data.
+///
+public interface IEncryptionKeyProvider
{
+ ///
+ /// Retrieves the encryption key as a byte array.
+ ///
+ /// A byte array containing the encryption key.
byte[] GetKey();
}
\ No newline at end of file