- Initial commit
This commit is contained in:
49
Runtime/3rdParty/BouncyCastle/crypto/prng/drbg/ISP80090Drbg.cs
vendored
Normal file
49
Runtime/3rdParty/BouncyCastle/crypto/prng/drbg/ISP80090Drbg.cs
vendored
Normal file
@ -0,0 +1,49 @@
|
||||
#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
|
||||
Reference in New Issue
Block a user