12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- #if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
- #pragma warning disable
- using System;
- namespace Best.HTTP.SecureProtocol.Org.BouncyCastle.Crypto.Prng.Drbg
- {
- /**
- * Interface to SP800-90A deterministic random bit generators.
- */
- public interface ISP80090Drbg
- {
- /**
- * Return the block size of the DRBG.
- *
- * @return the block size (in bits) produced by each round of the DRBG.
- */
- int BlockSize { get; }
- /**
- * Populate a passed in array with random data.
- *
- * @param output output array for generated bits.
- * @param additionalInput additional input to be added to the DRBG in this step.
- * @param predictionResistant true if a reseed should be forced, false otherwise.
- *
- * @return number of bits generated, -1 if a reseed required.
- */
- int Generate(byte[] output, int outputOff, int outputLen, byte[] additionalInput, bool predictionResistant);
- #if NETCOREAPP2_1_OR_GREATER || NETSTANDARD2_1_OR_GREATER || UNITY_2021_2_OR_NEWER
- int Generate(Span<byte> output, bool predictionResistant);
- int GenerateWithInput(Span<byte> output, ReadOnlySpan<byte> additionalInput, bool predictionResistant);
- #endif
- /**
- * Reseed the DRBG.
- *
- * @param additionalInput additional input to be added to the DRBG in this step.
- */
- void Reseed(byte[] additionalInput);
- #if NETCOREAPP2_1_OR_GREATER || NETSTANDARD2_1_OR_GREATER || UNITY_2021_2_OR_NEWER
- void Reseed(ReadOnlySpan<byte> additionalInput);
- #endif
- }
- }
- #pragma warning restore
- #endif
|