<?xml version="1.0"?>
<doc>
    <assembly>
        <name>SecurityDriven.Inferno</name>
    </assembly>
    <members>
        <member name="M:SecurityDriven.Inferno.Cipher.AesCtrCryptoTransform.#ctor(System.Byte[],System.ArraySegment{System.Byte},System.Func{System.Security.Cryptography.Aes})">
            <summary>ctor</summary>
        </member>
        <member name="M:SecurityDriven.Inferno.EtM_EncryptTransform.#ctor(System.Byte[],System.Nullable{System.ArraySegment{System.Byte}},System.UInt32)">
            <summary>ctor</summary>
        </member>
        <member name="M:SecurityDriven.Inferno.EtM_DecryptTransform.#ctor(System.Byte[],System.Nullable{System.ArraySegment{System.Byte}},System.UInt32,System.Boolean)">
            <summary>ctor</summary>
        </member>
        <member name="T:SecurityDriven.Inferno.Extensions.Base16Config">
            <remarks>Not a constant-time implementation (memory lookups).</remarks>
        </member>
        <member name="T:SecurityDriven.Inferno.Extensions.Base32Config">
            <remarks>Not a constant-time implementation (memory lookups).</remarks>
        </member>
        <member name="M:SecurityDriven.Inferno.Extensions.CngKeyExtensions.GetSharedDhmSecret(System.Security.Cryptography.CngKey,System.Security.Cryptography.CngKey,System.Byte[],System.Byte[])">
            <summary>
            Both parties are static and authenticated.
            </summary>
        </member>
        <member name="M:SecurityDriven.Inferno.Extensions.CngKeyExtensions.GetSharedEphemeralDhmSecret(System.Security.Cryptography.CngKey,System.Byte[],System.Byte[])">
            <summary>
            Sender is anonymous and keyless.
            Receiver is static and authenticated.
            </summary>
        </member>
        <member name="T:SecurityDriven.Inferno.CryptoRandom">
            <summary>
            Represents a *thread-safe*, cryptographically-strong, pseudo-random number generator (based on RNGCryptoServiceProvider).
            2-4 times slower than System.Random (would've been 150 times slower without buffering).
            </summary>
        </member>
        <member name="M:SecurityDriven.Inferno.CryptoRandom.NextLong">
            <summary>
            Returns a nonnegative random number.
            </summary>
            <returns>
            A 64-bit signed integer greater than or equal to zero and less than <see cref="F:System.Int64.MaxValue"/>.
            </returns>
        </member>
        <member name="M:SecurityDriven.Inferno.CryptoRandom.NextLong(System.Int64)">
            <summary>
            Returns a nonnegative random number less than the specified maximum.
            </summary>
            <param name="maxValue">The exclusive upper bound of the random number to be generated. <paramref name="maxValue"/> must be greater than or equal to zero.</param>
            <returns>
            A 64-bit signed integer greater than or equal to zero, and less than <paramref name="maxValue"/>; that is, the range of return values ordinarily includes zero but not <paramref name="maxValue"/>. However, if <paramref name="maxValue"/> equals zero, <paramref name="maxValue"/> is returned.
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">
                <paramref name="maxValue"/> is less than zero.
            </exception>
        </member>
        <member name="M:SecurityDriven.Inferno.CryptoRandom.NextLong(System.Int64,System.Int64)">
            <summary>
            Returns a random number within a specified range.
            </summary>
            <param name="minValue">The inclusive lower bound of the random number returned.</param>
            <param name="maxValue">The exclusive upper bound of the random number returned. <paramref name="maxValue"/> must be greater than or equal to <paramref name="minValue"/>.</param>
            <returns>
            A 64-bit signed integer greater than or equal to <paramref name="minValue"/> and less than <paramref name="maxValue"/>; that is, the range of return values includes <paramref name="minValue"/> but not <paramref name="maxValue"/>. If <paramref name="minValue"/> equals <paramref name="maxValue"/>, <paramref name="minValue"/> is returned.
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">
                <paramref name="minValue"/> is greater than <paramref name="maxValue"/>.
            </exception>
        </member>
        <member name="M:SecurityDriven.Inferno.CryptoRandom.Next">
            <summary>
            Returns a nonnegative random number.
            </summary>
            <returns>
            A 32-bit signed integer greater than or equal to zero and less than <see cref="F:System.Int32.MaxValue"/>.
            </returns>
        </member>
        <member name="M:SecurityDriven.Inferno.CryptoRandom.Next(System.Int32)">
            <summary>
            Returns a nonnegative random number less than the specified maximum.
            </summary>
            <param name="maxValue">The exclusive upper bound of the random number to be generated. <paramref name="maxValue"/> must be greater than or equal to zero.</param>
            <returns>
            A 32-bit signed integer greater than or equal to zero, and less than <paramref name="maxValue"/>; that is, the range of return values ordinarily includes zero but not <paramref name="maxValue"/>. However, if <paramref name="maxValue"/> equals zero, <paramref name="maxValue"/> is returned.
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">
                <paramref name="maxValue"/> is less than zero.
            </exception>
        </member>
        <member name="M:SecurityDriven.Inferno.CryptoRandom.Next(System.Int32,System.Int32)">
            <summary>
            Returns a random number within a specified range.
            </summary>
            <param name="minValue">The inclusive lower bound of the random number returned.</param>
            <param name="maxValue">The exclusive upper bound of the random number returned. <paramref name="maxValue"/> must be greater than or equal to <paramref name="minValue"/>.</param>
            <returns>
            A 32-bit signed integer greater than or equal to <paramref name="minValue"/> and less than <paramref name="maxValue"/>; that is, the range of return values includes <paramref name="minValue"/> but not <paramref name="maxValue"/>. If <paramref name="minValue"/> equals <paramref name="maxValue"/>, <paramref name="minValue"/> is returned.
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">
                <paramref name="minValue"/> is greater than <paramref name="maxValue"/>.
            </exception>
        </member>
        <member name="M:SecurityDriven.Inferno.CryptoRandom.NextDouble">
            <summary>
            Returns a random number between 0.0 and 1.0.
            </summary>
            <returns>
            A double-precision floating point number greater than or equal to 0.0, and less than 1.0.
            </returns>
        </member>
        <member name="M:SecurityDriven.Inferno.CryptoRandom.NextBytes(System.Int32)">
            <summary>
            Returns a new count-sized byte array filled with random bytes.
            </summary>
            <param name="count">Array length.</param>
            <returns>Random byte array.</returns>
        </member>
        <member name="M:SecurityDriven.Inferno.CryptoRandom.NextBytes(System.Byte[])">
            <summary>
            Fills the elements of a specified array of bytes with random numbers.
            </summary>
            <param name="buffer">An array of bytes to contain random numbers.</param>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="buffer"/> is null.
            </exception>
        </member>
        <member name="M:SecurityDriven.Inferno.CryptoRandom.GetRandomUInt">
            <summary>
            Gets one random unsigned 32bit integer in a thread safe manner.
            </summary>
        </member>
        <member name="M:SecurityDriven.Inferno.CryptoRandom.GetRandomULong">
            <summary>
            Gets one random unsigned 64bit integer in a thread safe manner.
            </summary>
        </member>
        <member name="M:SecurityDriven.Inferno.BCrypt.OpenAlgorithm(System.String,System.String)">
            <summary>
            Open a handle to a BCrypt algorithm provider.
            </summary>
        </member>
        <member name="T:SecurityDriven.Inferno.BCrypt.ErrorCode">
            <summary>
            Result codes from BCrypt APIs.
            </summary>
        </member>
        <member name="T:SecurityDriven.Inferno.BCrypt.AlgorithmProviderOptions">
            <summary>
            Flags for BCryptOpenAlgorithmProvider.
            </summary>
        </member>
        <member name="F:SecurityDriven.Inferno.Kdf.PBKDF2.DefaultIterations">
            <summary>
            Default iteration count.
            </summary>
        </member>
        <member name="M:SecurityDriven.Inferno.Kdf.PBKDF2.#ctor(System.Func{System.Security.Cryptography.HMAC},System.String,System.Int32)">
            <summary>
            ctor
            </summary>
            <param name="password">password</param>
            <param name="saltSize">saltSize</param>
        </member>
        <member name="M:SecurityDriven.Inferno.Kdf.PBKDF2.#ctor(System.Func{System.Security.Cryptography.HMAC},System.String,System.Byte[])">
            <summary>
            ctor
            </summary>
            <param name="password">password</param>
            <param name="salt">salt</param>
        </member>
        <member name="M:SecurityDriven.Inferno.Kdf.PBKDF2.#ctor(System.Func{System.Security.Cryptography.HMAC},System.String,System.Byte[],System.Int32)">
            <summary>
            ctor
            </summary>
            <param name="password">password</param>
            <param name="salt">salt</param>
            <param name="iterations">iterations</param>
        </member>
        <member name="M:SecurityDriven.Inferno.Kdf.PBKDF2.#ctor(System.Func{System.Security.Cryptography.HMAC},System.String,System.Int32,System.Int32)">
            <summary>
            ctor
            </summary>
            <param name="password">password</param>
            <param name="saltSize">saltSize</param>
            <param name="iterations">iterations</param>
        </member>
        <member name="M:SecurityDriven.Inferno.Kdf.PBKDF2.#ctor(System.Func{System.Security.Cryptography.HMAC},System.Byte[],System.Byte[],System.Int32)">
            <summary>
            ctor
            </summary>
            <param name="password"></param>
            <param name="salt"></param>
            <param name="iterations"></param>
        </member>
        <member name="M:SecurityDriven.Inferno.Kdf.PBKDF2.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used, and optionally releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only managed resources.</param>
        </member>
        <member name="P:SecurityDriven.Inferno.Kdf.PBKDF2.IterationCount">
            <summary>
            Gets or sets the number of iterations for the operation.
            </summary>
        </member>
        <member name="P:SecurityDriven.Inferno.Kdf.PBKDF2.Salt">
            <summary>
            Gets or sets the key salt value for the operation.
            </summary>
        </member>
        <member name="M:SecurityDriven.Inferno.Kdf.PBKDF2.GetBytes(System.Int32)">
            <summary>
            Returns pseudo-random bytes.
            </summary>
            <param name="cb">The number of pseudo-random bytes to generate.</param>
            <returns></returns>
        </member>
        <member name="M:SecurityDriven.Inferno.Kdf.PBKDF2.Reset">
            <summary>
            Resets the state.
            </summary>
            <remarks>
            This method is automatically called if the salt or iteration count is modified.
            </remarks>
        </member>
        <member name="T:SecurityDriven.Inferno.Kdf.SP800_108_Ctr">
            <remarks>
            Concepts from:
            http://csrc.nist.gov/publications/nistpubs/800-108/sp800-108.pdf
            http://referencesource.microsoft.com/#System.Web/Security/Cryptography/SP800_108.cs
            </remarks>
        </member>
        <member name="M:SecurityDriven.Inferno.Utils.IntStruct.ToBEBytes(System.Byte[],System.Int32)">
            <summary>
            To Big-Endian
            </summary>
        </member>
        <member name="M:SecurityDriven.Inferno.Utils.LongStruct.ToBEBytes(System.Byte[],System.Int32)">
            <summary>
            To Big-Endian
            </summary>
        </member>
    </members>
</doc>
