1 files changed, 26 insertions, 0 deletions
diff --git a/Crypto/src/crypto/prng/IRandomGenerator.cs b/Crypto/src/crypto/prng/IRandomGenerator.cs
new file mode 100644
index 000000000..8dbe4068f
--- /dev/null
+++ b/Crypto/src/crypto/prng/IRandomGenerator.cs
@@ -0,0 +1,26 @@
+using System;
+
+namespace Org.BouncyCastle.Crypto.Prng
+{
+ /// <remarks>Generic interface for objects generating random bytes.</remarks>
+ public interface IRandomGenerator
+ {
+ /// <summary>Add more seed material to the generator.</summary>
+ /// <param name="seed">A byte array to be mixed into the generator's state.</param>
+ void AddSeedMaterial(byte[] seed);
+
+ /// <summary>Add more seed material to the generator.</summary>
+ /// <param name="seed">A long value to be mixed into the generator's state.</param>
+ void AddSeedMaterial(long seed);
+
+ /// <summary>Fill byte array with random values.</summary>
+ /// <param name="bytes">Array to be filled.</param>
+ void NextBytes(byte[] bytes);
+
+ /// <summary>Fill byte array with random values.</summary>
+ /// <param name="bytes">Array to receive bytes.</param>
+ /// <param name="start">Index to start filling at.</param>
+ /// <param name="len">Length of segment to fill.</param>
+ void NextBytes(byte[] bytes, int start, int len);
+ }
+}
|