<?xml version="1.0"?>
<doc>
    <assembly>
        <name>PCLCrypto</name>
    </assembly>
    <members>
        <member name="T:PCLCrypto.NotImplementedByReferenceAssemblyException">
            <summary>
            An exception thrown from the PCLCrypto reference assembly when it is called
            instead of a platform-specific assembly at runtime.
            </summary>
        </member>
        <member name="M:PCLCrypto.NotImplementedByReferenceAssemblyException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:PCLCrypto.NotImplementedByReferenceAssemblyException"/> class.
            </summary>
        </member>
        <member name="T:PCLCrypto.AsymmetricAlgorithm">
            <summary>
            Asymmetric algorithms supported by some or all platforms.
            </summary>
        </member>
        <member name="F:PCLCrypto.AsymmetricAlgorithm.DsaSha1">
            <summary>
            The DsaSha1 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.AsymmetricAlgorithm.DsaSha256">
            <summary>
            The DsaSha256 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.AsymmetricAlgorithm.EcdsaP256Sha256">
            <summary>
            The EcdsaP256Sha256 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.AsymmetricAlgorithm.EcdsaP384Sha384">
            <summary>
            The EcdsaP384Sha384 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.AsymmetricAlgorithm.EcdsaP521Sha512">
            <summary>
            The EcdsaP521Sha512 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.AsymmetricAlgorithm.RsaOaepSha1">
            <summary>
            The RsaOaepSha1 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.AsymmetricAlgorithm.RsaOaepSha256">
            <summary>
            The RsaOaepSha256 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.AsymmetricAlgorithm.RsaOaepSha384">
            <summary>
            The RsaOaepSha384 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.AsymmetricAlgorithm.RsaOaepSha512">
            <summary>
            The RsaOaepSha512 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.AsymmetricAlgorithm.RsaPkcs1">
            <summary>
            The RsaPkcs1 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.AsymmetricAlgorithm.RsaSignPkcs1Sha1">
            <summary>
            The RsaSignPkcs1Sha1 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.AsymmetricAlgorithm.RsaSignPkcs1Sha256">
            <summary>
            The RsaSignPkcs1Sha256 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.AsymmetricAlgorithm.RsaSignPkcs1Sha384">
            <summary>
            The RsaSignPkcs1Sha384 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.AsymmetricAlgorithm.RsaSignPkcs1Sha512">
            <summary>
            The RsaSignPkcs1Sha512 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.AsymmetricAlgorithm.RsaSignPssSha1">
            <summary>
            The RsaSignPssSha1 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.AsymmetricAlgorithm.RsaSignPssSha256">
            <summary>
            The RsaSignPssSha256 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.AsymmetricAlgorithm.RsaSignPssSha384">
            <summary>
            The RsaSignPssSha384 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.AsymmetricAlgorithm.RsaSignPssSha512">
            <summary>
            RsaSignPssSha512 algorithm.
            </summary>
        </member>
        <member name="T:PCLCrypto.AsymmetricAlgorithmExtensions">
            <summary>
            Extension methods for the <see cref="T:PCLCrypto.AsymmetricAlgorithm"/> type.
            </summary>
        </member>
        <member name="M:PCLCrypto.AsymmetricAlgorithmExtensions.GetName(PCLCrypto.AsymmetricAlgorithm)">
            <summary>
            Gets the simple name of an asymmetric algorithm.
            </summary>
            <param name="algorithm">The algorithm.</param>
            <returns>The name of the algorithm.</returns>
        </member>
        <member name="M:PCLCrypto.AsymmetricAlgorithmExtensions.GetSignaturePadding(PCLCrypto.AsymmetricAlgorithm)">
            <summary>
            Gets the padding used for the specified asymmetric signing algorithm.
            </summary>
            <param name="algorithm">The signing algorithm.</param>
            <returns>The signature padding used, if applicable.</returns>
        </member>
        <member name="M:PCLCrypto.AsymmetricAlgorithmExtensions.GetEncryptionPadding(PCLCrypto.AsymmetricAlgorithm)">
            <summary>
            Gets the padding used for the specified asymmetric encryption algorithm.
            </summary>
            <param name="algorithm">The encryption algorithm.</param>
            <returns>The encryption padding used, if applicable.</returns>
        </member>
        <member name="M:PCLCrypto.AsymmetricAlgorithmExtensions.GetHashAlgorithm(PCLCrypto.AsymmetricAlgorithm)">
            <summary>
            Gets the hash algorithm utilized by the specified asymmetric algorithm.
            </summary>
            <param name="algorithm">The asymmetric algorithm.</param>
            <returns>The hash algorithm, if applicable.</returns>
        </member>
        <member name="T:PCLCrypto.AsymmetricAlgorithmName">
            <summary>
            The simple names of asymmetric algorithms.
            </summary>
        </member>
        <member name="F:PCLCrypto.AsymmetricAlgorithmName.Dsa">
            <summary>
            Digital signing algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.AsymmetricAlgorithmName.Ecdsa">
            <summary>
            Elliptic curve digital signing algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.AsymmetricAlgorithmName.Rsa">
            <summary>
            RSA encryption.
            </summary>
        </member>
        <member name="F:PCLCrypto.AsymmetricAlgorithmName.RsaSign">
            <summary>
            RSA signature.
            </summary>
        </member>
        <member name="T:PCLCrypto.AsymmetricEncryptionPadding">
            <summary>
            A PCL-compatible enumeration describing asymmetric encryption padding options.
            </summary>
        </member>
        <member name="F:PCLCrypto.AsymmetricEncryptionPadding.None">
            <summary>
            No padding at all.
            </summary>
        </member>
        <member name="F:PCLCrypto.AsymmetricEncryptionPadding.Pkcs1">
            <summary>
            The data will be padded with a random number to round out the block size.
            </summary>
        </member>
        <member name="F:PCLCrypto.AsymmetricEncryptionPadding.Oaep">
            <summary>
            Use Optimal Asymmetric Encryption Padding (OAEP).
            </summary>
        </member>
        <member name="T:PCLCrypto.AsymmetricSignaturePadding">
            <summary>
            A PCL-compatible enumeration describing asymmetric signing padding options.
            </summary>
        </member>
        <member name="F:PCLCrypto.AsymmetricSignaturePadding.None">
            <summary>
            No padding at all.
            </summary>
        </member>
        <member name="F:PCLCrypto.AsymmetricSignaturePadding.Pkcs1">
            <summary>
            The data will be padded with a random number to round out the block size.
            </summary>
        </member>
        <member name="F:PCLCrypto.AsymmetricSignaturePadding.Pss">
            <summary>
            Probabilistic Signature Scheme (PSS)
            </summary>
        </member>
        <member name="T:PCLCrypto.CryptographicHash">
            <summary>
            Represents a reusable hashing object and contains the result of a hashing
            operation.
            </summary>
        </member>
        <member name="P:PCLCrypto.CryptographicHash.PCLCrypto#ICryptoTransform#CanReuseTransform">
            <inheritdoc />
        </member>
        <member name="P:PCLCrypto.CryptographicHash.PCLCrypto#ICryptoTransform#CanTransformMultipleBlocks">
            <inheritdoc />
        </member>
        <member name="P:PCLCrypto.CryptographicHash.PCLCrypto#ICryptoTransform#InputBlockSize">
            <inheritdoc />
        </member>
        <member name="P:PCLCrypto.CryptographicHash.PCLCrypto#ICryptoTransform#OutputBlockSize">
            <inheritdoc />
        </member>
        <member name="P:PCLCrypto.CryptographicHash.CanReuseTransform">
            <summary>
            Gets a value indicating whether the current transform can be reused.
            </summary>
        </member>
        <member name="P:PCLCrypto.CryptographicHash.CanTransformMultipleBlocks">
            <summary>
            Gets a value indicating whether multiple blocks can be transformed.
            </summary>
        </member>
        <member name="P:PCLCrypto.CryptographicHash.InputBlockSize">
            <summary>
            Gets the input block size.
            </summary>
        </member>
        <member name="P:PCLCrypto.CryptographicHash.OutputBlockSize">
            <summary>
            Gets the output block size.
            </summary>
        </member>
        <member name="M:PCLCrypto.CryptographicHash.PCLCrypto#ICryptoTransform#TransformBlock(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)">
            <inheritdoc />
        </member>
        <member name="M:PCLCrypto.CryptographicHash.PCLCrypto#ICryptoTransform#TransformFinalBlock(System.Byte[],System.Int32,System.Int32)">
            <inheritdoc />
        </member>
        <member name="M:PCLCrypto.CryptographicHash.Append(System.Byte[])">
            <summary>
            Appends a binary encoded string to the data stored in the CryptographicHash
            object.
            </summary>
            <param name="data">Data to append.</param>
        </member>
        <member name="M:PCLCrypto.CryptographicHash.GetValueAndReset">
            <summary>
            Gets hashed data from the CryptographicHash object and resets the object.
            </summary>
            <returns>Hashed data.</returns>
        </member>
        <member name="M:PCLCrypto.CryptographicHash.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
        </member>
        <member name="M:PCLCrypto.CryptographicHash.Dispose(System.Boolean)">
            <summary>
            Releases unmanaged and - optionally - managed resources.
            </summary>
            <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
        </member>
        <member name="M:PCLCrypto.CryptographicHash.TransformBlock(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)">
            <summary>
            Transforms the specified region of the input byte array and copies the resulting transform to the specified region of the output byte array.
            </summary>
            <param name="inputBuffer">The input for which to compute the transform.</param>
            <param name="inputOffset">The offset into the input byte array from which to begin using data.</param>
            <param name="inputCount">The number of bytes in the input byte array to use as data.</param>
            <param name="outputBuffer">The output to which to write the transform.</param>
            <param name="outputOffset">The offset into the output byte array from which to begin writing data.</param>
            <returns>
            The number of bytes written.
            </returns>
        </member>
        <member name="M:PCLCrypto.CryptographicHash.TransformFinalBlock(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Transforms the specified region of the specified byte array.
            </summary>
            <param name="inputBuffer">The input for which to compute the transform.</param>
            <param name="inputOffset">The offset into the input byte array from which to begin using data.</param>
            <param name="inputCount">The number of bytes in the input byte array to use as data.</param>
            <returns>
            The computed transform.
            </returns>
            <remarks>
            TransformFinalBlock is a special function for transforming the last block or a partial block in the stream. It returns a new array that contains the remaining transformed bytes. A new array is returned, because the amount of information returned at the end might be larger than a single block when padding is added.
            </remarks>
        </member>
        <member name="T:PCLCrypto.CryptographicPrivateKeyBlobType">
            <summary>
            Serialization formats for private keys.
            </summary>
        </member>
        <member name="F:PCLCrypto.CryptographicPrivateKeyBlobType.Pkcs8RawPrivateKeyInfo">
            <summary>
             The private key is encoded as an ASN.1 PrivateKeyInfo type defined in the PKCS#8 standard. The private key information syntax is defined as follows in RFC 5208.
            </summary>
        </member>
        <member name="F:PCLCrypto.CryptographicPrivateKeyBlobType.Pkcs1RsaPrivateKey">
            <summary>
            The key is an RSA private key defined in the PKCS #1 standard. For more information, see the RSA Cryptography Specification in RFC 3347.
            </summary>
        </member>
        <member name="F:PCLCrypto.CryptographicPrivateKeyBlobType.BCryptPrivateKey">
            <summary>
            Microsoft private key format defined by Cryptography API: Next Generation (CNG).
            </summary>
        </member>
        <member name="F:PCLCrypto.CryptographicPrivateKeyBlobType.BCryptFullPrivateKey">
            <summary>
            Microsoft full private key format defined by Cryptography API: Next Generation (CNG).
            </summary>
        </member>
        <member name="F:PCLCrypto.CryptographicPrivateKeyBlobType.Capi1PrivateKey">
            <summary>
            Microsoft private key format defined by the legacy Cryptography API (CAPI). For more information, see Base Provider Key BLOBs.
            </summary>
        </member>
        <member name="T:PCLCrypto.CryptographicPublicKeyBlobType">
            <summary>
            Serialization formats for public keys.
            </summary>
        </member>
        <member name="F:PCLCrypto.CryptographicPublicKeyBlobType.X509SubjectPublicKeyInfo">
            <summary>
            The public key is encoded as an ASN.1 SubjectPublicKeyInfo type defined in RFC 5280 and RFC 3280.
            </summary>
        </member>
        <member name="F:PCLCrypto.CryptographicPublicKeyBlobType.Pkcs1RsaPublicKey">
            <summary>
            The key is an RSA public key defined in the PKCS #1 standard. For more information, see the RSA Cryptography Specification in RFC 3347.
            </summary>
        </member>
        <member name="F:PCLCrypto.CryptographicPublicKeyBlobType.BCryptPublicKey">
            <summary>
            Microsoft public key format defined by Cryptography API: Next Generation (CNG).
            </summary>
        </member>
        <member name="F:PCLCrypto.CryptographicPublicKeyBlobType.Capi1PublicKey">
            <summary>
            Microsoft public key format defined by the legacy Cryptography API (CAPI).
            </summary>
        </member>
        <member name="T:PCLCrypto.CryptoStream">
            <summary>
            Defines a stream that links data streams to cryptographic transformations.
            </summary>
        </member>
        <member name="F:PCLCrypto.CryptoStream.chainedStream">
            <summary>
            The stream that is read from or written to with each I/O operation.
            </summary>
        </member>
        <member name="F:PCLCrypto.CryptoStream.transform">
            <summary>
            The crypto transform to use for each block.
            </summary>
        </member>
        <member name="F:PCLCrypto.CryptoStream.mode">
            <summary>
            The read/write mode of this stream.
            </summary>
        </member>
        <member name="F:PCLCrypto.CryptoStream.inputBuffer">
            <summary>
            Data that has not yet been transformed.
            </summary>
        </member>
        <member name="F:PCLCrypto.CryptoStream.outputBuffer">
            <summary>
            Data that has been transformed but not flushed.
            </summary>
        </member>
        <member name="F:PCLCrypto.CryptoStream.inputBufferSize">
            <summary>
            The number of valid bytes in <see cref="F:PCLCrypto.CryptoStream.inputBuffer"/>.
            </summary>
        </member>
        <member name="F:PCLCrypto.CryptoStream.outputBufferSize">
            <summary>
            The number of valid bytes in <see cref="F:PCLCrypto.CryptoStream.outputBuffer"/>.
            </summary>
        </member>
        <member name="F:PCLCrypto.CryptoStream.outputBufferIndex">
            <summary>
            The index of the first valid byte in <see cref="F:PCLCrypto.CryptoStream.outputBuffer"/>.
            This advances when Read is called with a smaller buffer than we have bytes available.
            </summary>
        </member>
        <member name="M:PCLCrypto.CryptoStream.#ctor(System.IO.Stream,PCLCrypto.ICryptoTransform,PCLCrypto.CryptoStreamMode)">
            <summary>
            Initializes a new instance of the <see cref="T:PCLCrypto.CryptoStream"/> class.
            </summary>
            <param name="stream">The stream to write to or read from.</param>
            <param name="transform">The cryptographic operation to use for transforming data.</param>
            <param name="mode">The mode of operation.</param>
        </member>
        <member name="P:PCLCrypto.CryptoStream.HasFlushedFinalBlock">
            <summary>
            Gets a value indicating whether the final buffer block has been written to the underlying stream.
            </summary>
        </member>
        <member name="P:PCLCrypto.CryptoStream.CanRead">
            <inheritdoc />
        </member>
        <member name="P:PCLCrypto.CryptoStream.CanSeek">
            <inheritdoc />
        </member>
        <member name="P:PCLCrypto.CryptoStream.CanWrite">
            <inheritdoc />
        </member>
        <member name="P:PCLCrypto.CryptoStream.Length">
            <inheritdoc />
        </member>
        <member name="P:PCLCrypto.CryptoStream.Position">
            <inheritdoc />
        </member>
        <member name="M:PCLCrypto.CryptoStream.WriteTo(System.IO.Stream,PCLCrypto.ICryptoTransform[])">
            <summary>
            Creates a CryptoStream that can be used to write to the specified stream
            after passing through a series of transforms.
            </summary>
            <param name="stream">The ultimate stream to be written to.</param>
            <param name="transforms">The transformations to apply to the data before writing to <paramref name="stream"/>.</param>
            <returns>A CryptoStream instance.</returns>
        </member>
        <member name="M:PCLCrypto.CryptoStream.ReadFrom(System.IO.Stream,PCLCrypto.ICryptoTransform[])">
            <summary>
            Creates a CryptoStream that can be used to read from the specified stream,
            passing the retrieved data through a series of transforms before being read
            from this stream.
            </summary>
            <param name="stream">The ultimate stream to be read from.</param>
            <param name="transforms">The transformations to apply to the data after reading from <paramref name="stream"/>.</param>
            <returns>A CryptoStream instance.</returns>
        </member>
        <member name="M:PCLCrypto.CryptoStream.FlushFinalBlock">
            <summary>
            Updates the underlying data source or repository with the current state of the buffer, then clears the buffer.
            </summary>
            <remarks>
            Calling the Close method will call FlushFinalBlock. If you do not call Close, call FlushFinalBlock to complete flushing the buffer. Call FlushFinalBlock only when all stream activity is complete.
            </remarks>
        </member>
        <member name="M:PCLCrypto.CryptoStream.Flush">
            <inheritdoc />
        </member>
        <member name="M:PCLCrypto.CryptoStream.Read(System.Byte[],System.Int32,System.Int32)">
            <inheritdoc />
        </member>
        <member name="M:PCLCrypto.CryptoStream.Seek(System.Int64,System.IO.SeekOrigin)">
            <inheritdoc />
        </member>
        <member name="M:PCLCrypto.CryptoStream.SetLength(System.Int64)">
            <inheritdoc />
        </member>
        <member name="M:PCLCrypto.CryptoStream.Write(System.Byte[],System.Int32,System.Int32)">
            <inheritdoc />
        </member>
        <member name="M:PCLCrypto.CryptoStream.Dispose(System.Boolean)">
            <inheritdoc />
        </member>
        <member name="M:PCLCrypto.CryptoStream.Chain(System.IO.Stream,PCLCrypto.CryptoStreamMode,PCLCrypto.ICryptoTransform[])">
            <summary>
            Creates a CryptoStream chain of transforms.
            </summary>
            <param name="stream">The ultimate stream to be read from or written to.</param>
            <param name="cryptoStreamMode">Whether to prepare for read or write operations to trigger the operations.</param>
            <param name="transforms">The transforms to apply.</param>
            <returns>The start of the chain of CryptoStreams.</returns>
        </member>
        <member name="M:PCLCrypto.CryptoStream.ChainWrite(System.IO.Stream,System.Collections.Generic.IEnumerator{PCLCrypto.ICryptoTransform})">
            <summary>
            Creates a CryptoStream chain of transforms for writing streams.
            </summary>
            <param name="stream">The ultimate stream to be read from or written to.</param>
            <param name="transforms">An enumerator positioned just before the transform to create for the outer-most stream.</param>
            <returns>
            The start of the chain of CryptoStreams.
            </returns>
        </member>
        <member name="T:PCLCrypto.CryptoStreamMode">
            <summary>
            Specifies the mode of a cryptographic stream.
            </summary>
        </member>
        <member name="F:PCLCrypto.CryptoStreamMode.Read">
            <summary>
            Read access to a cryptographic stream.
            </summary>
        </member>
        <member name="F:PCLCrypto.CryptoStreamMode.Write">
            <summary>
            Write access to a cryptographic stream.
            </summary>
        </member>
        <member name="T:PCLCrypto.HashAlgorithm">
            <summary>
            Hash algorithms.
            </summary>
        </member>
        <member name="F:PCLCrypto.HashAlgorithm.Md5">
            <summary>
            The MD5 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.HashAlgorithm.Sha1">
            <summary>
            The SHA1 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.HashAlgorithm.Sha256">
            <summary>
            The SHA256 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.HashAlgorithm.Sha384">
            <summary>
            The SHA384 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.HashAlgorithm.Sha512">
            <summary>
            The SHA512 algorithm.
            </summary>
        </member>
        <member name="T:PCLCrypto.IAsymmetricKeyAlgorithmProvider">
            <summary>
            Provides access to asymmetric cryptographic algorithms of the platform.
            </summary>
        </member>
        <member name="P:PCLCrypto.IAsymmetricKeyAlgorithmProvider.Algorithm">
            <summary>
            Gets the asymmetric algorithm this provider manages keys for.
            </summary>
        </member>
        <member name="P:PCLCrypto.IAsymmetricKeyAlgorithmProvider.LegalKeySizes">
            <summary>
            Gets the allowed key sizes.
            </summary>
        </member>
        <member name="M:PCLCrypto.IAsymmetricKeyAlgorithmProvider.CreateKeyPair(System.Int32)">
            <summary>
            Creates a new cryptographic key.
            </summary>
            <param name="keySize">The size of the key (in bits).</param>
            <returns>The cryptographic key.</returns>
        </member>
        <member name="M:PCLCrypto.IAsymmetricKeyAlgorithmProvider.ImportKeyPair(System.Byte[],PCLCrypto.CryptographicPrivateKeyBlobType)">
            <summary>
            Creates a cryptographic key based on the specified key material.
            </summary>
            <param name="keyBlob">The blob to deserialize.</param>
            <param name="blobType">Type of the blob.</param>
            <returns>The cryptographic key.</returns>
        </member>
        <member name="M:PCLCrypto.IAsymmetricKeyAlgorithmProvider.ImportPublicKey(System.Byte[],PCLCrypto.CryptographicPublicKeyBlobType)">
            <summary>
            Creates a cryptographic key based on the specified key material.
            </summary>
            <param name="keyBlob">The blob to deserialize.</param>
            <param name="blobType">Type of the blob.</param>
            <returns>The cryptographic key.</returns>
        </member>
        <member name="T:PCLCrypto.IAsymmetricKeyAlgorithmProviderFactory">
            <summary>
            A factory for instances of <see cref="T:PCLCrypto.IAsymmetricKeyAlgorithmProvider"/>
            that serve a specific algorithm.
            </summary>
        </member>
        <member name="M:PCLCrypto.IAsymmetricKeyAlgorithmProviderFactory.OpenAlgorithm(PCLCrypto.AsymmetricAlgorithm)">
            <summary>
            Returns a crypto key management for a specified algorithm.
            </summary>
            <param name="algorithm">The algorithm.</param>
            <returns>An instance of <see cref="T:PCLCrypto.IAsymmetricKeyAlgorithmProvider"/>.</returns>
        </member>
        <member name="T:PCLCrypto.ICryptographicBuffer">
            <summary>
            Contains static methods that implement data management functionality common
            to cryptographic operations.
            </summary>
        </member>
        <member name="M:PCLCrypto.ICryptographicBuffer.Compare(System.Byte[],System.Byte[])">
            <summary>
            Compares two byte[] objects.
            </summary>
            <param name="object1">First buffer to be used for comparison.</param>
            <param name="object2">Second buffer to be used for comparison.</param>
            <returns>
            True specifies that the buffers are equal. Two buffers are equal if each
            code point in one matches the corresponding code point in the other.
            </returns>
        </member>
        <member name="M:PCLCrypto.ICryptographicBuffer.ConvertBinaryToString(System.Text.Encoding,System.Byte[])">
            <summary>
            Converts a buffer to an encoded string.
            </summary>
            <param name="encoding">Encoding format.</param>
            <param name="buffer">Data to be encoded.</param>
            <returns>
            A string that contains the encoded data.
            </returns>
        </member>
        <member name="M:PCLCrypto.ICryptographicBuffer.ConvertStringToBinary(System.String,System.Text.Encoding)">
            <summary>
            Converts a string to an encoded buffer.
            </summary>
            <param name="value">String to be encoded.</param>
            <param name="encoding">Encoding format.</param>
            <returns>
            Encoded buffer.
            </returns>
        </member>
        <member name="M:PCLCrypto.ICryptographicBuffer.CopyToByteArray(System.Byte[],System.Byte[]@)">
            <summary>
            Copies a buffer to an array of bytes.
            </summary>
            <param name="buffer">Input buffer.</param>
            <param name="value">An array of bytes that contains the values copied from the input buffer.
            You must declare the array before calling this method and pass it by using
            the ref keyword.</param>
        </member>
        <member name="M:PCLCrypto.ICryptographicBuffer.CreateFromByteArray(System.Byte[])">
            <summary>
            Creates a buffer from an input byte array.
            </summary>
            <param name="value">An array of bytes used to create the buffer.</param>
            <returns>
            Output buffer.
            </returns>
        </member>
        <member name="M:PCLCrypto.ICryptographicBuffer.DecodeFromBase64String(System.String)">
            <summary>
            Decodes a string that has been base64 encoded.
            </summary>
            <param name="value">Base64 encoded input string.</param>
            <returns>
            Output buffer that contains the decoded string.
            </returns>
        </member>
        <member name="M:PCLCrypto.ICryptographicBuffer.DecodeFromHexString(System.String)">
            <summary>
            Decodes a string that has been hexadecimal encoded.
            </summary>
            <param name="value">Encoded input string.</param>
            <returns>
            Output buffer that contains the decoded string.
            </returns>
        </member>
        <member name="M:PCLCrypto.ICryptographicBuffer.EncodeToBase64String(System.Byte[])">
            <summary>
            Encodes a buffer to a base64 string.
            </summary>
            <param name="buffer">Input buffer.</param>
            <returns>
            Base64-encoded output string.
            </returns>
        </member>
        <member name="M:PCLCrypto.ICryptographicBuffer.EncodeToHexString(System.Byte[])">
            <summary>
            Encodes a buffer to a hexadecimal string.
            </summary>
            <param name="buffer">Input buffer.</param>
            <returns>
            Hexadecimal encoded output string.
            </returns>
        </member>
        <member name="M:PCLCrypto.ICryptographicBuffer.GenerateRandom(System.Int32)">
            <summary>
            Creates a buffer that contains random data.
            </summary>
            <param name="length">Length, in bytes, of the buffer to create.</param>
            <returns>
            Output buffer that contains the random data.
            </returns>
        </member>
        <member name="M:PCLCrypto.ICryptographicBuffer.GenerateRandomNumber">
            <summary>
            Creates a random number.
            </summary>
            <returns>
            Integer that contains the random data.
            </returns>
        </member>
        <member name="T:PCLCrypto.ICryptographicEngine">
            <summary>
            Offers functionality similar to CryptographicEngine in WinRT.
            </summary>
        </member>
        <member name="M:PCLCrypto.ICryptographicEngine.Encrypt(PCLCrypto.ICryptographicKey,System.Byte[],System.Byte[])">
            <summary>
            Encrypts data by using a symmetric or asymmetric algorithm.
            </summary>
            <param name="key">
            Cryptographic key to use for encryption. This can be an asymmetric or a symmetric
            key. For more information, see AsymmetricKeyAlgorithmProvider and SymmetricKeyAlgorithmProvider.
            </param>
            <param name="data">Data to encrypt.</param>
            <param name="iv">
            Buffer that contains the initialization vector. This can be null for a symmetric
            algorithm and should always be null for an asymmetric algorithm. If an initialization
            vector (IV) was used to encrypt the data, you must use the same IV to decrypt
            the data. You can use the GenerateRandom method to create an IV that contains
            random data. Other IVs, such as nonce-generated vectors, require custom implementation.
            For more information, see Symmetric Key Encryption.Cipher block chaining
            (CBC) block cipher mode algorithms require an initialization vector. For
            more information, see Remarks.
            </param>
            <returns>Encrypted data.</returns>
        </member>
        <member name="M:PCLCrypto.ICryptographicEngine.CreateEncryptor(PCLCrypto.ICryptographicKey,System.Byte[])">
            <summary>
            Creates a cryptographic transform for use in a CryptoStream
            that encrypts data.
            </summary>
            <param name="key">The encryption key to use.</param>
            <param name="iv">The initialization vector, if applicable and nonzero.</param>
            <returns>The transform.</returns>
        </member>
        <member name="M:PCLCrypto.ICryptographicEngine.Decrypt(PCLCrypto.ICryptographicKey,System.Byte[],System.Byte[])">
            <summary>
            Decrypts content that was previously encrypted by using a symmetric or asymmetric
            algorithm.
            </summary>
            <param name="key">
            Cryptographic key to use for decryption. This can be an asymmetric or a symmetric
            key. For more information, see AsymmetricKeyAlgorithmProvider and SymmetricKeyAlgorithmProvider.
            </param>
            <param name="data">
            Buffer that contains the encrypted data.
            </param>
            <param name="iv">
            Buffer that contains the initialization vector. If an initialization vector
            (IV) was used to encrypt the data, you must use the same IV to decrypt the
            data. For more information, see Encrypt.
            </param>
            <returns>Decrypted data.</returns>
        </member>
        <member name="M:PCLCrypto.ICryptographicEngine.CreateDecryptor(PCLCrypto.ICryptographicKey,System.Byte[])">
            <summary>
            Creates a cryptographic transform for use in a CryptoStream
            that decrypts data.
            </summary>
            <param name="key">The decryption key to use.</param>
            <param name="iv">The initialization vector, if applicable and nonzero.</param>
            <returns>The transform.</returns>
        </member>
        <member name="M:PCLCrypto.ICryptographicEngine.Sign(PCLCrypto.ICryptographicKey,System.Byte[])">
            <summary>
            Signs digital content.
            </summary>
            <param name="key">Key used for signing.</param>
            <param name="data">Data to be signed.</param>
            <returns>The signature.</returns>
        </member>
        <member name="M:PCLCrypto.ICryptographicEngine.SignHashedData(PCLCrypto.ICryptographicKey,System.Byte[])">
            <summary>
            Signs the hashed input data using the specified key.
            </summary>
            <param name="key">The key to use to sign the hash.</param>
            <param name="data">
            The input data to sign. The data is a hashed value which can be obtained
            through incremental hash.
            </param>
            <returns>The signature.</returns>
        </member>
        <member name="M:PCLCrypto.ICryptographicEngine.VerifySignature(PCLCrypto.ICryptographicKey,System.Byte[],System.Byte[])">
            <summary>
            Verifies a message signature.
            </summary>
            <param name="key">
            Key used for verification. This must be the same key previously used to sign
            the message.
            </param>
            <param name="data">Message to be verified.</param>
            <param name="signature">Signature previously computed over the message to be verified.</param>
            <returns>true if the message is verified.</returns>
        </member>
        <member name="M:PCLCrypto.ICryptographicEngine.VerifySignatureWithHashInput(PCLCrypto.ICryptographicKey,System.Byte[],System.Byte[])">
            <summary>
            Verifies the signature of the specified input data against a known signature.
            </summary>
            <param name="key">
            The key to use to retrieve the signature from the input data.
            </param>
            <param name="data">The data to be verified. The data is a hashed value of raw data.</param>
            <param name="signature">The known signature to use to verify the signature of the input data.</param>
            <returns>True if the signature is verified; otherwise false.</returns>
        </member>
        <member name="M:PCLCrypto.ICryptographicEngine.DeriveKeyMaterial(PCLCrypto.ICryptographicKey,PCLCrypto.IKeyDerivationParameters,System.Int32)">
            <summary>
            Derives a key from another key by using a key derivation function.
            </summary>
            <param name="key">The symmetric or secret key used for derivation.</param>
            <param name="parameters">Derivation parameters. The parameters vary depending on the type of KDF algorithm
            used.</param>
            <param name="desiredKeySize">Requested size, in bytes, of the derived key.</param>
            <returns>
            Buffer that contains the derived key.
            </returns>
        </member>
        <member name="T:PCLCrypto.ICryptographicKey">
            <summary>
            Represents a symmetric key or an asymmetric key pair.
            </summary>
        </member>
        <member name="P:PCLCrypto.ICryptographicKey.KeySize">
            <summary>
            Gets the size, in bits, of the key.
            </summary>
            <value>
            Integer that contains the number of bits in the key.
            </value>
        </member>
        <member name="M:PCLCrypto.ICryptographicKey.Export(PCLCrypto.CryptographicPrivateKeyBlobType)">
            <summary>
            Exports the key pair to a buffer given a specified format.
            </summary>
            <param name="blobType">A CryptographicPrivateKeyBlobType enumeration value that specifies the format
            of the key in the buffer. The default value is Pkcs8RawPrivateKeyInfo.</param>
            <returns>
            Buffer that contains the key pair.
            </returns>
        </member>
        <member name="M:PCLCrypto.ICryptographicKey.ExportPublicKey(PCLCrypto.CryptographicPublicKeyBlobType)">
            <summary>
            Exports a public key to a buffer given a specified format.
            </summary>
            <param name="blobType">A CryptographicPublicKeyBlobType enumeration value that specifies the format
            of the key in the buffer. The default value is X509SubjectPublicKeyInfo.</param>
            <returns>
            Buffer that contains the public key.
            </returns>
        </member>
        <member name="T:PCLCrypto.ICryptoTransform">
            <summary>
            Defines the basic operations of cryptographic transformations.
            </summary>
        </member>
        <member name="P:PCLCrypto.ICryptoTransform.CanReuseTransform">
            <summary>
            Gets a value indicating whether the current transform can be reused.
            </summary>
        </member>
        <member name="P:PCLCrypto.ICryptoTransform.CanTransformMultipleBlocks">
            <summary>
            Gets a value indicating whether multiple blocks can be transformed.
            </summary>
        </member>
        <member name="P:PCLCrypto.ICryptoTransform.InputBlockSize">
            <summary>
            Gets the input block size.
            </summary>
        </member>
        <member name="P:PCLCrypto.ICryptoTransform.OutputBlockSize">
            <summary>
            Gets the output block size.
            </summary>
        </member>
        <member name="M:PCLCrypto.ICryptoTransform.TransformBlock(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)">
            <summary>
            Transforms the specified region of the input byte array and copies the resulting transform to the specified region of the output byte array.
            </summary>
            <param name="inputBuffer">The input for which to compute the transform.</param>
            <param name="inputOffset">The offset into the input byte array from which to begin using data.</param>
            <param name="inputCount">The number of bytes in the input byte array to use as data. </param>
            <param name="outputBuffer">The output to which to write the transform. </param>
            <param name="outputOffset">The offset into the output byte array from which to begin writing data. </param>
            <returns>The number of bytes written.</returns>
        </member>
        <member name="M:PCLCrypto.ICryptoTransform.TransformFinalBlock(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Transforms the specified region of the specified byte array.
            </summary>
            <param name="inputBuffer">The input for which to compute the transform.</param>
            <param name="inputOffset">The offset into the input byte array from which to begin using data.</param>
            <param name="inputCount">The number of bytes in the input byte array to use as data. </param>
            <returns>The computed transform.</returns>
            <remarks>
            TransformFinalBlock is a special function for transforming the last block or a partial block in the stream. It returns a new array that contains the remaining transformed bytes. A new array is returned, because the amount of information returned at the end might be larger than a single block when padding is added.
            </remarks>
        </member>
        <member name="T:PCLCrypto.IDeriveBytes">
            <summary>
            Provides fixed-length key derivation from passwords or byte buffers of arbitrary size.
            </summary>
        </member>
        <member name="M:PCLCrypto.IDeriveBytes.GetBytes(System.String,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Derives a cryptographically strong key from the specified password.
            </summary>
            <param name="keyMaterial">The user-supplied password.</param>
            <param name="salt">The salt.</param>
            <param name="iterations">The rounds of computation to use in deriving a stronger key. The larger this is, the longer attacks will take.</param>
            <param name="countBytes">The desired key size in bytes.</param>
            <returns>The generated key.</returns>byte[] GetBytes(string keyMaterial, byte[] salt, int iterations, int countBytes);
        </member>
        <member name="M:PCLCrypto.IDeriveBytes.GetBytes(System.Byte[],System.Byte[],System.Int32,System.Int32)">
            <summary>
            Derives a cryptographically strong key from the specified bytes.
            </summary>
            <param name="keyMaterial">The user-supplied password.</param>
            <param name="salt">The salt.</param>
            <param name="iterations">The rounds of computation to use in deriving a stronger key. The larger this is, the longer attacks will take.</param>
            <param name="countBytes">The desired key size in bytes.</param>
            <returns>The generated key.</returns>
        </member>
        <member name="T:PCLCrypto.IECDiffieHellman">
            <summary>
            Provides functionality for the ECDiffieHellman algorithm.
            </summary>
        </member>
        <member name="P:PCLCrypto.IECDiffieHellman.KeySize">
            <summary>
            Gets or sets the size, in bits, of the key modulus used by the asymmetric algorithm.
            </summary>
            <value>The size, in bits, of the key modulus used by the asymmetric algorithm.</value>
        </member>
        <member name="P:PCLCrypto.IECDiffieHellman.PublicKey">
            <summary>
            Gets the public key to share with the other party in order to establish a shared secret.
            </summary>
        </member>
        <member name="M:PCLCrypto.IECDiffieHellman.DeriveKeyMaterial(PCLCrypto.IECDiffieHellmanPublicKey)">
            <summary>
            Derives bytes that can be used as a key, given another party's public key.
            </summary>
            <param name="otherParty">The other party's public key.</param>
            <returns>The key material from the key exchange with the other party’s public key.</returns>
        </member>
        <member name="T:PCLCrypto.IECDiffieHellmanCngPublicKeyFactory">
            <summary>
            A factory for <see cref="T:PCLCrypto.IECDiffieHellmanPublicKey"/> instances.
            </summary>
        </member>
        <member name="M:PCLCrypto.IECDiffieHellmanCngPublicKeyFactory.FromByteArray(System.Byte[])">
            <summary>
            Deserializes an <see cref="T:PCLCrypto.IECDiffieHellmanPublicKey"/> from a byte array.
            </summary>
            <param name="publicKey">A public key (presumably from the other party).</param>
            <returns>An instance of <see cref="T:PCLCrypto.IECDiffieHellmanPublicKey"/>.</returns>
        </member>
        <member name="T:PCLCrypto.IECDiffieHellmanFactory">
            <summary>
            A factory for instances of <see cref="T:PCLCrypto.IECDiffieHellman"/>.
            </summary>
        </member>
        <member name="M:PCLCrypto.IECDiffieHellmanFactory.Create">
            <summary>
            Creates an instance of an <see cref="T:PCLCrypto.IECDiffieHellman"/>
            with a new key.
            </summary>
            <returns>An instance of <see cref="T:PCLCrypto.IECDiffieHellman"/>.</returns>
        </member>
        <member name="T:PCLCrypto.IECDiffieHellmanPublicKey">
            <summary>
            Provides access to the public key used as part of an instance
            of <see cref="T:PCLCrypto.IECDiffieHellman"/>.
            </summary>
        </member>
        <member name="M:PCLCrypto.IECDiffieHellmanPublicKey.ToByteArray">
            <summary>
            Serializes the ECDiffieHellmanPublicKey key BLOB to a byte array.
            </summary>
            <returns>A byte array.</returns>
        </member>
        <member name="T:PCLCrypto.IHashAlgorithmProvider">
            <summary>
            Represents a cryptographic hash provider.
            </summary>
        </member>
        <member name="P:PCLCrypto.IHashAlgorithmProvider.Algorithm">
            <summary>
            Gets the algorithm this instance is configured to use.
            </summary>
        </member>
        <member name="P:PCLCrypto.IHashAlgorithmProvider.HashLength">
            <summary>
            Gets the length, in bytes, of the hash.
            </summary>
            <value>
            Number of bytes in the hash.
            </value>
        </member>
        <member name="M:PCLCrypto.IHashAlgorithmProvider.CreateHash">
            <summary>
            Creates a reusable ICryptographicHash object.
            </summary>
            <returns>Reusable hash object.</returns>
        </member>
        <member name="M:PCLCrypto.IHashAlgorithmProvider.HashData(System.Byte[])">
            <summary>
            Hashes binary data.
            </summary>
            <param name="data">Data to be hashed.</param>
            <returns>Hashed data.</returns>
        </member>
        <member name="T:PCLCrypto.IHashAlgorithmProviderFactory">
            <summary>
            Constructs instances of <see cref="T:PCLCrypto.IHashAlgorithmProvider"/>.
            </summary>
        </member>
        <member name="M:PCLCrypto.IHashAlgorithmProviderFactory.OpenAlgorithm(PCLCrypto.HashAlgorithm)">
            <summary>
            Returns an instance of <see cref="T:PCLCrypto.IHashAlgorithmProvider"/>
            configured for a specific algorithm.
            </summary>
            <param name="algorithm">The algorithm to use.</param>
            <returns>The hash algorithm provider.</returns>
        </member>
        <member name="T:PCLCrypto.IKeyDerivationAlgorithmProvider">
            <summary>
            Provides key derivation functions.
            </summary>
        </member>
        <member name="P:PCLCrypto.IKeyDerivationAlgorithmProvider.Algorithm">
            <summary>
            Gets the algorithm used by this instance.
            </summary>
        </member>
        <member name="M:PCLCrypto.IKeyDerivationAlgorithmProvider.CreateKey(System.Byte[])">
            <summary>
            Returns a key that may be used to derive another key.
            </summary>
            <param name="keyMaterial">The key material to use for the cryptographic key.</param>
            <returns>A cryptographic key.</returns>
        </member>
        <member name="T:PCLCrypto.IKeyDerivationAlgorithmProviderFactory">
            <summary>
            Provides access to key derivation algorithms.
            </summary>
        </member>
        <member name="M:PCLCrypto.IKeyDerivationAlgorithmProviderFactory.OpenAlgorithm(PCLCrypto.KeyDerivationAlgorithm)">
            <summary>
            Acquires a key derivation algorithm.
            </summary>
            <param name="algorithm">The algorithm to obtain.</param>
            <returns>An instance of <see cref="T:PCLCrypto.IKeyDerivationAlgorithmProvider"/>.</returns>
        </member>
        <member name="T:PCLCrypto.IKeyDerivationParameters">
            <summary>
            Represents parameters used when deriving a key.
            </summary>
        </member>
        <member name="P:PCLCrypto.IKeyDerivationParameters.IterationCount">
            <summary>
            Gets the number of iterations used to derive the key.
            </summary>
            <value>Iteration count.</value>
        </member>
        <member name="P:PCLCrypto.IKeyDerivationParameters.KdfGenericBinary">
            <summary>
            Gets or sets the parameters used by the key derivation algorithm.
            </summary>
            <value>Buffer that contains the parameters.</value>
        </member>
        <member name="T:PCLCrypto.IKeyDerivationParametersFactory">
            <summary>
            A factory for constructing parameters for deriving a key.
            </summary>
        </member>
        <member name="M:PCLCrypto.IKeyDerivationParametersFactory.BuildForPbkdf2(System.Byte[],System.Int32)">
            <summary>
            Creates a KeyDerivationParameters object for use in the password-based key
            derivation function 2 (PBKDF2).
            </summary>
            <param name="pbkdf2Salt">The salt, a random or pseudorandom value to be combined with the password
            in multiple iterations. A salt is used to increase entropy above what can
            be obtained from using a password alone.</param>
            <param name="iterationCount">Number of iterations to be used to derive a key.</param>
            <returns>
            Refers to the parameters used during key derivation.
            </returns>
        </member>
        <member name="M:PCLCrypto.IKeyDerivationParametersFactory.BuildForSP800108(System.Byte[],System.Byte[])">
            <summary>
            Creates a KeyDerivationParameters object for use in a counter mode, hash-based
            message authentication code (HMAC) key derivation function.
            </summary>
            <param name="label">Buffer that specifies the purpose for the derived keying material.</param>
            <param name="context">Buffer that specifies information related to the derived keying material.
            For example, the context can identify the parties who are deriving the keying
            material and, optionally, a nonce known by the parties.</param>
            <returns>
            Refers to the parameters used during key derivation.
            </returns>
        </member>
        <member name="M:PCLCrypto.IKeyDerivationParametersFactory.BuildForSP80056a(System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[])">
            <summary>
            Creates a KeyDerivationParameters object for use in the SP800-56A key derivation
            function.
            </summary>
            <param name="algorithmId">Specifies the intended purpose of the derived key.</param>
            <param name="partyUInfo">Contains public information contributed by the initiator.</param>
            <param name="partyVInfo">Contains public information contributed by the responder.</param>
            <param name="suppPubInfo">Contains public information known to both initiator and responder.</param>
            <param name="suppPrivInfo">Contains private information known to both initiator and responder, such
            as a shared secret.</param>
            <returns>
            Refers to the parameters used during key derivation.
            </returns>
        </member>
        <member name="T:PCLCrypto.IMacAlgorithmProvider">
            <summary>
            A MAC algorithm provider.
            </summary>
        </member>
        <member name="P:PCLCrypto.IMacAlgorithmProvider.Algorithm">
            <summary>
            Gets the name of the open MAC algorithm.
            </summary>
            <value>
            The algorithm.
            </value>
        </member>
        <member name="P:PCLCrypto.IMacAlgorithmProvider.MacLength">
            <summary>
            Gets the length, in bytes, of the message authentication code.
            </summary>
            <value>
            Number of bytes in the MAC.
            </value>
        </member>
        <member name="M:PCLCrypto.IMacAlgorithmProvider.CreateHash(System.Byte[])">
            <summary>
            Creates a CryptographicHash object that supports incremental hash operations.
            </summary>
            <param name="keyMaterial">Random data used to help generate the hash. You can call the GenerateRandom
            method to create the random data.</param>
            <returns>
            A CryptographicHash object that supports incremental hash operations.
            </returns>
        </member>
        <member name="M:PCLCrypto.IMacAlgorithmProvider.CreateKey(System.Byte[])">
            <summary>
            Creates a symmetric key that can be used to create the MAC value.
            </summary>
            <param name="keyMaterial">Random data used to help generate the key. You can call the GenerateRandom
            method to create the random data.</param>
            <returns>Symmetric key.</returns>
        </member>
        <member name="T:PCLCrypto.IMacAlgorithmProviderFactory">
            <summary>
            A factory for <see cref="T:PCLCrypto.IMacAlgorithmProvider"/> instances.
            </summary>
        </member>
        <member name="M:PCLCrypto.IMacAlgorithmProviderFactory.OpenAlgorithm(PCLCrypto.MacAlgorithm)">
            <summary>
            Gets a MAC provider for the given algorithm.
            </summary>
            <param name="algorithm">The algorithm.</param>
            <returns>An instance of <see cref="T:PCLCrypto.IMacAlgorithmProvider"/>.</returns>
        </member>
        <member name="T:PCLCrypto.IRandomNumberGenerator">
            <summary>
            Provides cryptographically strong random number generation.
            </summary>
        </member>
        <member name="M:PCLCrypto.IRandomNumberGenerator.GetBytes(System.Byte[])">
            <summary>
            Fills a buffer with random data.
            </summary>
            <param name="buffer">The buffer to fill.</param>
        </member>
        <member name="T:PCLCrypto.ISymmetricKeyAlgorithmProvider">
            <summary>
            Represents a provider of symmetric key algorithms.
            </summary>
        </member>
        <member name="P:PCLCrypto.ISymmetricKeyAlgorithmProvider.BlockLength">
            <summary>
            Gets the size, in bytes, of the cipher block for the open algorithm.
            </summary>
            <value>Block size.</value>
        </member>
        <member name="P:PCLCrypto.ISymmetricKeyAlgorithmProvider.LegalKeySizes">
            <summary>
            Gets the allowed key sizes.
            </summary>
        </member>
        <member name="P:PCLCrypto.ISymmetricKeyAlgorithmProvider.Name">
            <summary>
            Gets the algorithm used in this algorithm.
            </summary>
        </member>
        <member name="P:PCLCrypto.ISymmetricKeyAlgorithmProvider.Mode">
            <summary>
            Gets the mode used in this algorithm.
            </summary>
        </member>
        <member name="P:PCLCrypto.ISymmetricKeyAlgorithmProvider.Padding">
            <summary>
            Gets the padding used in this algorithm.
            </summary>
        </member>
        <member name="M:PCLCrypto.ISymmetricKeyAlgorithmProvider.CreateSymmetricKey(System.Byte[])">
            <summary>
            Creates a symmetric key.
            </summary>
            <param name="keyMaterial">
            Data used to generate the key. You can call the GenerateRandom method to
            create random key material.
            </param>
            <returns>Symmetric key.</returns>
        </member>
        <member name="T:PCLCrypto.ISymmetricKeyAlgorithmProviderFactory">
            <summary>
            A factory for instances of <see cref="T:PCLCrypto.ISymmetricKeyAlgorithmProvider"/>
            that serve a specific algorithm.
            </summary>
        </member>
        <member name="M:PCLCrypto.ISymmetricKeyAlgorithmProviderFactory.OpenAlgorithm(PCLCrypto.SymmetricAlgorithmName,PCLCrypto.SymmetricAlgorithmMode,PCLCrypto.SymmetricAlgorithmPadding)">
            <summary>
            Returns a crypto key management for a specified algorithm.
            </summary>
            <param name="name">The name of the base algorithm to use.</param>
            <param name="mode">The algorithm's mode (i.e. streaming or some block mode).</param>
            <param name="padding">The padding to use.</param>
            <returns>An instance of <see cref="T:PCLCrypto.ISymmetricKeyAlgorithmProvider"/>.</returns>
        </member>
        <member name="T:PCLCrypto.KeyDerivationAlgorithm">
            <summary>
            Key derivation algorithms.
            </summary>
        </member>
        <member name="F:PCLCrypto.KeyDerivationAlgorithm.Pbkdf2Md5">
            <summary>
            The Pbkdf2Md5 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.KeyDerivationAlgorithm.Pbkdf2Sha1">
            <summary>
            The Pbkdf2Sha1 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.KeyDerivationAlgorithm.Pbkdf2Sha256">
            <summary>
            The Pbkdf2Sha256 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.KeyDerivationAlgorithm.Pbkdf2Sha384">
            <summary>
            The Pbkdf2Sha384 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.KeyDerivationAlgorithm.Pbkdf2Sha512">
            <summary>
            The Pbkdf2Sha512 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.KeyDerivationAlgorithm.Sp800108CtrHmacMd5">
            <summary>
            The Sp800108CtrHmacMd5 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.KeyDerivationAlgorithm.Sp800108CtrHmacSha1">
            <summary>
            The Sp800108CtrHmacSha1 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.KeyDerivationAlgorithm.Sp800108CtrHmacSha256">
            <summary>
            The Sp800108CtrHmacSha256 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.KeyDerivationAlgorithm.Sp800108CtrHmacSha384">
            <summary>
            The Sp800108CtrHmacSha384 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.KeyDerivationAlgorithm.Sp800108CtrHmacSha512">
            <summary>
            The Sp800108CtrHmacSha512 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.KeyDerivationAlgorithm.Sp80056aConcatMd5">
            <summary>
            The Sp80056aConcatMd5 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.KeyDerivationAlgorithm.Sp80056aConcatSha1">
            <summary>
            The Sp80056aConcatSha1 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.KeyDerivationAlgorithm.Sp80056aConcatSha256">
            <summary>
            The Sp80056aConcatSha256 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.KeyDerivationAlgorithm.Sp80056aConcatSha384">
            <summary>
            The Sp80056aConcatSha384 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.KeyDerivationAlgorithm.Sp80056aConcatSha512">
            <summary>
            The Sp80056aConcatSha512 algorithm.
            </summary>
        </member>
        <member name="T:PCLCrypto.KeySizes">
            <summary>
            Describes a range of valid key sizes.
            </summary>
        </member>
        <member name="M:PCLCrypto.KeySizes.#ctor(System.Int32,System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:PCLCrypto.KeySizes"/> struct.
            </summary>
            <param name="minSize">The minimum key size (in bits).</param>
            <param name="maxSize">The maximum key size (in bits).</param>
            <param name="stepSize">The increment (in bits) between valid key sizes between <paramref name="minSize"/> and <paramref name="maxSize"/>.</param>
        </member>
        <member name="P:PCLCrypto.KeySizes.MaxSize">
            <summary>
            Gets the maximum key size (in bits).
            </summary>
        </member>
        <member name="P:PCLCrypto.KeySizes.MinSize">
            <summary>
            Gets the minimum key size (in bits).
            </summary>
        </member>
        <member name="P:PCLCrypto.KeySizes.StepSize">
            <summary>
            Gets the step interval (in bits) between valid key sizes in the range of
            <see cref="P:PCLCrypto.KeySizes.MinSize"/> to <see cref="P:PCLCrypto.KeySizes.MaxSize"/>.
            </summary>
        </member>
        <member name="M:PCLCrypto.KeySizes.GetEnumerator">
            <inheritdoc />
        </member>
        <member name="M:PCLCrypto.KeySizes.System#Collections#IEnumerable#GetEnumerator">
            <inheritdoc />
        </member>
        <member name="T:PCLCrypto.MacAlgorithm">
            <summary>
            MAC algorithms available on the various platforms.
            </summary>
        </member>
        <member name="F:PCLCrypto.MacAlgorithm.AesCmac">
            <summary>
            The AesCmac algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.MacAlgorithm.HmacMd5">
            <summary>
            The HmacMd5 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.MacAlgorithm.HmacSha1">
            <summary>
            The HmacSha1 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.MacAlgorithm.HmacSha256">
            <summary>
            The HmacSha256 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.MacAlgorithm.HmacSha384">
            <summary>
            The HmacSha384 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.MacAlgorithm.HmacSha512">
            <summary>
            The HmacSha512 algorithm.
            </summary>
        </member>
        <member name="T:PCLCrypto.NetFxCrypto">
            <summary>
            Exposes cryptography using API familiar to .NET Framework developers.
            </summary>
        </member>
        <member name="P:PCLCrypto.NetFxCrypto.RandomNumberGenerator">
            <summary>
            Gets a cryptographically strong random number generator.
            </summary>
        </member>
        <member name="P:PCLCrypto.NetFxCrypto.DeriveBytes">
            <summary>
            Gets tools to derive a key from a password for buffer.
            </summary>
        </member>
        <member name="P:PCLCrypto.NetFxCrypto.ECDiffieHellman">
            <summary>
            Gets the factory for <see cref="T:PCLCrypto.IECDiffieHellman"/> instances.
            </summary>
        </member>
        <member name="P:PCLCrypto.NetFxCrypto.ECDiffieHellmanCngPublicKey">
            <summary>
            Gets the factory for <see cref="T:PCLCrypto.IECDiffieHellmanPublicKey"/> instances.
            </summary>
        </member>
        <member name="T:PCLCrypto.RSAParameters">
            <summary>
            Represents the standard parameters for the RSA algorithm.
            </summary>
            <remarks>
            All integers are encoded in big endian.
            </remarks>
        </member>
        <member name="F:PCLCrypto.RSAParameters.D">
            <summary>
            Represents the private exponent parameter for the System.Security.Cryptography.RSA algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.RSAParameters.DP">
            <summary>
            Represents the exponent1 parameter for the System.Security.Cryptography.RSA algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.RSAParameters.DQ">
            <summary>
            Represents the exponent2 parameter for the System.Security.Cryptography.RSA algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.RSAParameters.Exponent">
            <summary>
            Represents the publicExponent parameter for the System.Security.Cryptography.RSA
            algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.RSAParameters.InverseQ">
            <summary>
            Represents the coefficient parameter for the System.Security.Cryptography.RSA
            algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.RSAParameters.Modulus">
            <summary>
            Represents the modulus parameter for the System.Security.Cryptography.RSA
            algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.RSAParameters.P">
            <summary>
            Represents the prime1 parameter for the System.Security.Cryptography.RSA algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.RSAParameters.Q">
            <summary>
            Represents the prime2 parameter for the System.Security.Cryptography.RSA algorithm.
            </summary>
        </member>
        <member name="T:PCLCrypto.SymmetricAlgorithm">
            <summary>
            Symmetric algorithms supported by some or all platforms.
            </summary>
        </member>
        <member name="F:PCLCrypto.SymmetricAlgorithm.AesCbc">
            <summary>
            The AesCbc algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.SymmetricAlgorithm.AesCbcPkcs7">
            <summary>
            The AesCbcPkcs7 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.SymmetricAlgorithm.AesCcm">
            <summary>
            The AesCcm algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.SymmetricAlgorithm.AesEcb">
            <summary>
            The AesEcb algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.SymmetricAlgorithm.AesEcbPkcs7">
            <summary>
            The AesEcbPkcs7 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.SymmetricAlgorithm.AesGcm">
            <summary>
            The AesGcm algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.SymmetricAlgorithm.DesCbc">
            <summary>
            The DesCbc algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.SymmetricAlgorithm.DesCbcPkcs7">
            <summary>
            The DesCbcPkcs7 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.SymmetricAlgorithm.DesEcb">
            <summary>
            The DesEcb algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.SymmetricAlgorithm.DesEcbPkcs7">
            <summary>
            The DesEcbPkcs7 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.SymmetricAlgorithm.Rc2Cbc">
            <summary>
            The Rc2Cbc algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.SymmetricAlgorithm.Rc2CbcPkcs7">
            <summary>
            The Rc2CbcPkcs7 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.SymmetricAlgorithm.Rc2Ecb">
            <summary>
            The Rc2Ecb algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.SymmetricAlgorithm.Rc2EcbPkcs7">
            <summary>
            The Rc2EcbPkcs7 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.SymmetricAlgorithm.Rc4">
            <summary>
            The Rc4 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.SymmetricAlgorithm.TripleDesCbc">
            <summary>
            The TripleDesCbc algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.SymmetricAlgorithm.TripleDesCbcPkcs7">
            <summary>
            The TripleDesCbcPkcs7 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.SymmetricAlgorithm.TripleDesEcb">
            <summary>
            The TripleDesEcb algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.SymmetricAlgorithm.TripleDesEcbPkcs7">
            <summary>
            The TripleDesEcbPkcs7 algorithm.
            </summary>
        </member>
        <member name="T:PCLCrypto.SymmetricAlgorithmExtensions">
            <summary>
            Extension methods for the <see cref="T:PCLCrypto.SymmetricAlgorithm"/> enum and related types.
            </summary>
        </member>
        <member name="M:PCLCrypto.SymmetricAlgorithmExtensions.IsBlockCipher(PCLCrypto.SymmetricAlgorithm)">
            <summary>
            Gets a value indicating whether the specified algorithm is implemented by a block cipher.
            </summary>
            <param name="algorithm">The algorithm to check.</param>
            <returns><c>true</c> if the cipher is a block cipher; <c>false</c> otherwise.</returns>
        </member>
        <member name="M:PCLCrypto.SymmetricAlgorithmExtensions.IsBlockCipher(PCLCrypto.SymmetricAlgorithmName)">
            <summary>
            Gets a value indicating whether the specified algorithm is implemented by a block cipher.
            </summary>
            <param name="algorithm">The algorithm to check.</param>
            <returns><c>true</c> if the cipher is a block cipher; <c>false</c> otherwise.</returns>
        </member>
        <member name="M:PCLCrypto.SymmetricAlgorithmExtensions.IsBlockCipher(PCLCrypto.SymmetricAlgorithmMode)">
            <summary>
            Gets a value indicating whether the specified mode is implemented by a block cipher.
            </summary>
            <param name="mode">The mode to check.</param>
            <returns><c>true</c> if the cipher is a block cipher; <c>false</c> otherwise.</returns>
        </member>
        <member name="M:PCLCrypto.SymmetricAlgorithmExtensions.IsAuthenticated(PCLCrypto.SymmetricAlgorithmMode)">
            <summary>
            Gets a value indicating whether the specified mode offers authentication.
            </summary>
            <param name="mode">The mode to check.</param>
            <returns><c>true</c> if the cipher is an authenticating block mode cipher; <c>false</c> otherwise.</returns>
        </member>
        <member name="M:PCLCrypto.SymmetricAlgorithmExtensions.GetName(PCLCrypto.SymmetricAlgorithm)">
            <summary>
            Returns a platform-specific algorithm that conforms to the prescribed platform-neutral algorithm.
            </summary>
            <param name="algorithm">The PCL algorithm.</param>
            <returns>
            The platform-specific algorithm.
            </returns>
        </member>
        <member name="M:PCLCrypto.SymmetricAlgorithmExtensions.GetMode(PCLCrypto.SymmetricAlgorithm)">
            <summary>
            Gets the block mode for an algorithm.
            </summary>
            <param name="algorithm">The algorithm.</param>
            <returns>The block mode.</returns>
        </member>
        <member name="M:PCLCrypto.SymmetricAlgorithmExtensions.GetPadding(PCLCrypto.SymmetricAlgorithm)">
            <summary>
            Gets the padding.
            </summary>
            <param name="algorithm">The algorithm.</param>
            <returns>The padding.</returns>
        </member>
        <member name="M:PCLCrypto.SymmetricAlgorithmExtensions.TryAssemblyAlgorithm(PCLCrypto.SymmetricAlgorithmName,PCLCrypto.SymmetricAlgorithmMode,PCLCrypto.SymmetricAlgorithmPadding,PCLCrypto.SymmetricAlgorithm@)">
            <summary>
            Finds a composite <see cref="T:PCLCrypto.SymmetricAlgorithm"/> for the specified unit parts, if one exists.
            </summary>
            <param name="name">The name of the base algorithm to use.</param>
            <param name="mode">The algorithm's mode (i.e. streaming or some block mode).</param>
            <param name="padding">The padding to use.</param>
            <param name="algorithm">Receives the composite algorithm enum value, if one exists.</param>
            <returns><c>true</c> if a match was found; otherwise <c>false</c>.</returns>
        </member>
        <member name="M:PCLCrypto.SymmetricAlgorithmExtensions.UsesIV(PCLCrypto.SymmetricAlgorithmMode)">
            <summary>
            Gets a value indicating whether the specified block mode requires an initialization vector.
            </summary>
            <param name="mode">The block mode to check.</param>
            <returns><c>true</c> if the block mode uses an initialization vector; <c>false</c> otherwise.</returns>
        </member>
        <member name="M:PCLCrypto.SymmetricAlgorithmExtensions.UsesIV(PCLCrypto.SymmetricAlgorithm)">
            <summary>
            Gets a value indicating whether the specified algorithm requires an initialization vector.
            </summary>
            <param name="algorithm">The algorithm to check.</param>
            <returns><c>true</c> if the block mode uses an initialization vector; <c>false</c> otherwise.</returns>
        </member>
        <member name="M:PCLCrypto.SymmetricAlgorithmExtensions.GetString(PCLCrypto.SymmetricAlgorithmName)">
            <summary>
            Gets the string representation of an algorithm name.
            </summary>
            <param name="algorithm">The algorithm.</param>
            <returns>A non-empty string, such as "AES".</returns>
        </member>
        <member name="T:PCLCrypto.SymmetricAlgorithmMode">
            <summary>
            A PCL-compatible enumeration describing symmetric cipher modes.
            </summary>
        </member>
        <member name="F:PCLCrypto.SymmetricAlgorithmMode.Streaming">
            <summary>
            The algorithm is a streaming cipher rather than a block cipher.
            </summary>
        </member>
        <member name="F:PCLCrypto.SymmetricAlgorithmMode.Cbc">
            <summary>
            The CBC mode.
            </summary>
        </member>
        <member name="F:PCLCrypto.SymmetricAlgorithmMode.Ecb">
            <summary>
            The ECB mode.
            </summary>
        </member>
        <member name="F:PCLCrypto.SymmetricAlgorithmMode.Ccm">
            <summary>
            Counter with CBC-MAC.
            It is an authenticated encryption algorithm designed to provide both authentication and confidentiality. CCM mode is only defined for block ciphers with a block length of 128 bits.
            </summary>
        </member>
        <member name="F:PCLCrypto.SymmetricAlgorithmMode.Gcm">
            <summary>
            Galois/Counter Mode.
            An authenticated encryption algorithm designed to provide both data authenticity (integrity) and confidentiality. GCM is defined for block ciphers with a block size of 128 bits.
            </summary>
        </member>
        <member name="T:PCLCrypto.SymmetricAlgorithmName">
            <summary>
            A PCL-compatible enumeration describing symmetric algorithms.
            </summary>
        </member>
        <member name="F:PCLCrypto.SymmetricAlgorithmName.Aes">
            <summary>
            The AES algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.SymmetricAlgorithmName.Des">
            <summary>
            The DES algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.SymmetricAlgorithmName.TripleDes">
            <summary>
            The TRIPLEDES algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.SymmetricAlgorithmName.Rc2">
            <summary>
            The RC2 algorithm.
            </summary>
        </member>
        <member name="F:PCLCrypto.SymmetricAlgorithmName.Rc4">
            <summary>
            The RC4 algorithm.
            </summary>
        </member>
        <member name="T:PCLCrypto.SymmetricAlgorithmPadding">
            <summary>
            A PCL-compatible enumeration describing cipher block padding options.
            </summary>
        </member>
        <member name="F:PCLCrypto.SymmetricAlgorithmPadding.None">
            <summary>
            Use no padding at all.
            </summary>
        </member>
        <member name="F:PCLCrypto.SymmetricAlgorithmPadding.PKCS7">
            <summary>
            The PKCS #7 padding string consists of a sequence of bytes, each of which is equal to the total number of padding bytes added.
            </summary>
        </member>
        <member name="F:PCLCrypto.SymmetricAlgorithmPadding.Zeros">
            <summary>
            The padding string consists of bytes set to zero.
            </summary>
        </member>
        <member name="T:PCLCrypto.WinRTCrypto">
            <summary>
            Exposes cryptography using API familiar to WinRT developers.
            </summary>
        </member>
        <member name="P:PCLCrypto.WinRTCrypto.AsymmetricKeyAlgorithmProvider">
            <summary>
            Gets the asymmetric key algorithm provider factory.
            </summary>
        </member>
        <member name="P:PCLCrypto.WinRTCrypto.SymmetricKeyAlgorithmProvider">
            <summary>
            Gets the symmetric key algorithm provider factory.
            </summary>
        </member>
        <member name="P:PCLCrypto.WinRTCrypto.HashAlgorithmProvider">
            <summary>
            Gets the hash algorithm provider factory.
            </summary>
        </member>
        <member name="P:PCLCrypto.WinRTCrypto.MacAlgorithmProvider">
            <summary>
            Gets the MAC algorithm provider factory.
            </summary>
        </member>
        <member name="P:PCLCrypto.WinRTCrypto.KeyDerivationAlgorithmProvider">
            <summary>
            Gets the key derivation algorithm provider factory.
            </summary>
        </member>
        <member name="P:PCLCrypto.WinRTCrypto.KeyDerivationParameters">
            <summary>
            Gets the key derivation parameters factory.
            </summary>
        </member>
        <member name="P:PCLCrypto.WinRTCrypto.CryptographicEngine">
            <summary>
            Gets the service for signatures and encryption.
            </summary>
        </member>
        <member name="P:PCLCrypto.WinRTCrypto.CryptographicBuffer">
            <summary>
            Gets the service for buffers.
            </summary>
        </member>
        <member name="T:PCLCrypto.WinRTExtensions">
            <summary>
            Extension methods that add functionality to the WinRT crypto API.
            </summary>
        </member>
        <member name="M:PCLCrypto.WinRTExtensions.ImportParameters(PCLCrypto.IAsymmetricKeyAlgorithmProvider,PCLCrypto.RSAParameters)">
            <summary>
            Creates a cryptographic key based on the specified RSA parameters.
            </summary>
            <param name="provider">The asymmetric algorithm provider.</param>
            <param name="parameters">The RSA parameters from which to initialize the key.</param>
            <returns>The cryptographic key.</returns>
        </member>
        <member name="M:PCLCrypto.WinRTExtensions.ExportParameters(PCLCrypto.ICryptographicKey,System.Boolean)">
            <summary>
            Exports the RSA parameters of a cryptographic key.
            </summary>
            <param name="key">The cryptographic key.</param>
            <param name="includePrivateParameters"><c>true</c> to include the private key in the exported parameters; <c>false</c> to only include the public key.</param>
            <returns>The RSA parameters for the key.</returns>
        </member>
        <member name="M:PCLCrypto.WinRTExtensions.OpenAlgorithm(PCLCrypto.ISymmetricKeyAlgorithmProviderFactory,PCLCrypto.SymmetricAlgorithm)">
            <summary>
            Returns a crypto key management for a specified algorithm.
            </summary>
            <param name="factory">The factory.</param>
            <param name="algorithm">The algorithm.</param>
            <returns>An instance of <see cref="T:PCLCrypto.ISymmetricKeyAlgorithmProvider"/>.</returns>
        </member>
    </members>
</doc>
