1 <?xml version="1.0" encoding="utf-8"?>
4 <name>System.Security.Cryptography.Algorithms</name>
7 <member name="T:System.Security.Cryptography.Aes">
8 <summary>Represents the abstract base class from which all implementations of the Advanced Encryption Standard (AES) must inherit.</summary>
10 <member name="M:System.Security.Cryptography.Aes.#ctor">
11 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.Aes" /> class.</summary>
13 <member name="M:System.Security.Cryptography.Aes.Create">
14 <summary>Creates a cryptographic object that is used to perform the symmetric algorithm.</summary>
15 <returns>A cryptographic object that is used to perform the symmetric algorithm.</returns>
17 <member name="M:System.Security.Cryptography.Aes.Create(System.String)">
18 <summary>Creates a cryptographic object that specifies the implementation of AES to use to perform the symmetric algorithm.</summary>
19 <param name="algorithmName">The name of the specific implementation of AES to use.</param>
20 <returns>A cryptographic object that is used to perform the symmetric algorithm.</returns>
21 <exception cref="T:System.ArgumentNullException">The <paramref name="algorithmName" /> parameter is <see langword="null" />.</exception>
23 <member name="T:System.Security.Cryptography.AesCcm">
24 <summary>Represents an Advanced Encryption Standard (AES) key to be used with the Counter with CBC-MAC (CCM) mode of operation.</summary>
26 <member name="M:System.Security.Cryptography.AesCcm.#ctor(System.Byte[])">
27 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.AesCcm" /> class with a provided key.</summary>
28 <param name="key">The secret key to use for this instance.</param>
29 <exception cref="T:System.ArgumentNullException">The <paramref name="key" /> parameter is <see langword="null" />.</exception>
30 <exception cref="T:System.Security.Cryptography.CryptographicException">The <paramref name="key" /> parameter length is other than 16, 24, or 32 bytes (128, 192, or 256 bits).</exception>
32 <member name="M:System.Security.Cryptography.AesCcm.#ctor(System.ReadOnlySpan{System.Byte})">
33 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.AesCcm" /> class with a provided key.</summary>
34 <param name="key">The secret key to use for this instance.</param>
35 <exception cref="T:System.Security.Cryptography.CryptographicException">The <paramref name="key" /> parameter length is other than 16, 24, or 32 bytes (128, 192, or 256 bits).</exception>
37 <member name="M:System.Security.Cryptography.AesCcm.Decrypt(System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[])">
38 <summary>Decrypts the ciphertext into the provided destination buffer if the authentication tag can be validated.</summary>
39 <param name="nonce">The nonce associated with this message, which must match the value provided during encryption.</param>
40 <param name="ciphertext">The encrypted content to decrypt.</param>
41 <param name="tag">The authentication tag produced for this message during encryption.</param>
42 <param name="plaintext">The byte array to receive the decrypted contents.</param>
43 <param name="associatedData">Extra data associated with this message, which must match the value provided during encryption.</param>
44 <exception cref="T:System.ArgumentException">The <paramref name="plaintext" /> parameter and the <paramref name="ciphertext" /> do not have the same length.
46 The <paramref name="nonce" /> parameter length is not permitted by <see cref="P:System.Security.Cryptography.AesCcm.NonceByteSizes" />.
48 The <paramref name="tag" /> parameter length is not permitted by <see cref="P:System.Security.Cryptography.AesCcm.TagByteSizes" />.</exception>
49 <exception cref="T:System.ArgumentNullException">The <paramref name="nonce" />, <paramref name="ciphertext" />, <paramref name="tag" />, or <paramref name="plaintext" /> parameter is <see langword="null" />.</exception>
50 <exception cref="T:System.Security.Cryptography.CryptographicException">The tag value could not be verified, or the decryption operation otherwise failed.</exception>
52 <member name="M:System.Security.Cryptography.AesCcm.Decrypt(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.ReadOnlySpan{System.Byte})">
53 <summary>Decrypts the ciphertext into the provided destination buffer if the authentication tag can be validated.</summary>
54 <param name="nonce">The nonce associated with this message, which must match the value provided during encryption.</param>
55 <param name="ciphertext">The encrypted content to decrypt.</param>
56 <param name="tag">The authentication tag produced for this message during encryption.</param>
57 <param name="plaintext">The byte span to receive the decrypted contents.</param>
58 <param name="associatedData">Extra data associated with this message, which must match the value provided during encryption.</param>
59 <exception cref="T:System.ArgumentException">The <paramref name="plaintext" /> parameter and the <paramref name="ciphertext" /> do not have the same length.
61 The <paramref name="nonce" /> parameter length is not permitted by <see cref="P:System.Security.Cryptography.AesCcm.NonceByteSizes" />.
63 The <paramref name="tag" /> parameter length is not permitted by <see cref="P:System.Security.Cryptography.AesCcm.TagByteSizes" />.</exception>
64 <exception cref="T:System.Security.Cryptography.CryptographicException">The tag value could not be verified, or the decryption operation otherwise failed.</exception>
66 <member name="M:System.Security.Cryptography.AesCcm.Dispose">
67 <summary>Releases the resources used by the current instance of the <see cref="T:System.Security.Cryptography.AesCcm" /> class.</summary>
69 <member name="M:System.Security.Cryptography.AesCcm.Encrypt(System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[])">
70 <summary>Encrypts the plaintext into the ciphertext destination buffer and generates the authentication tag into a separate buffer.</summary>
71 <param name="nonce">The nonce associated with this message, which should be a unique value for every operation with the same key.</param>
72 <param name="plaintext">The content to encrypt.</param>
73 <param name="ciphertext">The byte array to receive the encrypted contents.</param>
74 <param name="tag">The byte array to receive the generated authentication tag.</param>
75 <param name="associatedData">Extra data associated with this message, which must also be provided during decryption.</param>
76 <exception cref="T:System.ArgumentException">The <paramref name="plaintext" /> parameter and the <paramref name="ciphertext" /> do not have the same length.
78 The <paramref name="nonce" /> parameter length is not permitted by <see cref="P:System.Security.Cryptography.AesCcm.NonceByteSizes" />.
80 The <paramref name="tag" /> parameter length is not permitted by <see cref="P:System.Security.Cryptography.AesCcm.TagByteSizes" />.</exception>
81 <exception cref="T:System.ArgumentNullException">The <paramref name="nonce" />, <paramref name="ciphertext" />, <paramref name="tag" />, or <paramref name="plaintext" /> parameter is <see langword="null" />.</exception>
82 <exception cref="T:System.Security.Cryptography.CryptographicException">The encryption operation failed.</exception>
84 <member name="M:System.Security.Cryptography.AesCcm.Encrypt(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Span{System.Byte},System.ReadOnlySpan{System.Byte})">
85 <summary>Encrypts the plaintext into the ciphertext destination buffer and generates the authentication tag into a separate buffer.</summary>
86 <param name="nonce">The nonce associated with this message, which should be a unique value for every operation with the same key.</param>
87 <param name="plaintext">The content to encrypt.</param>
88 <param name="ciphertext">The byte span to receive the encrypted contents.</param>
89 <param name="tag">The byte span to receive the generated authentication tag.</param>
90 <param name="associatedData">Extra data associated with this message, which must also be provided during decryption.</param>
91 <exception cref="T:System.ArgumentException">The <paramref name="plaintext" /> parameter and the <paramref name="ciphertext" /> do not have the same length.
93 The <paramref name="nonce" /> parameter length is not permitted by <see cref="P:System.Security.Cryptography.AesCcm.NonceByteSizes" />.
95 The <paramref name="tag" /> parameter length is not permitted by <see cref="P:System.Security.Cryptography.AesCcm.TagByteSizes" />.</exception>
96 <exception cref="T:System.Security.Cryptography.CryptographicException">The encryption operation failed.</exception>
98 <member name="P:System.Security.Cryptography.AesCcm.NonceByteSizes">
99 <summary>Gets the nonce sizes, in bytes, supported by this instance.</summary>
100 <returns>The nonce sizes supported by this instance: 7, 8, 9, 10, 11, 12, or 13 bytes (56, 64, 72, 80, 88, 96, or 104 bits).</returns>
102 <member name="P:System.Security.Cryptography.AesCcm.TagByteSizes">
103 <summary>Gets the tag sizes, in bytes, supported by this instance.</summary>
104 <returns>The tag sizes supported by this instance: 4, 6, 8, 10, 12, 14, or 16 bytes (32, 48, 64, 80, 96, 112, or 128 bits).</returns>
106 <member name="T:System.Security.Cryptography.AesGcm">
107 <summary>Represents an Advanced Encryption Standard (AES) key to be used with the Galois/Counter Mode (GCM) mode of operation.</summary>
109 <member name="M:System.Security.Cryptography.AesGcm.#ctor(System.Byte[])">
110 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.AesGcm" /> class with a provided key.</summary>
111 <param name="key">The secret key to use for this instance.</param>
112 <exception cref="T:System.ArgumentNullException">The <paramref name="key" /> parameter is <see langword="null" />.</exception>
113 <exception cref="T:System.Security.Cryptography.CryptographicException">The <paramref name="key" /> parameter length is other than 16, 24, or 32 bytes (128, 192, or 256 bits).</exception>
115 <member name="M:System.Security.Cryptography.AesGcm.#ctor(System.ReadOnlySpan{System.Byte})">
116 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.AesGcm" /> class with a provided key.</summary>
117 <param name="key">The secret key to use for this instance.</param>
118 <exception cref="T:System.Security.Cryptography.CryptographicException">The <paramref name="key" /> parameter length is other than 16, 24, or 32 bytes (128, 192, or 256 bits).</exception>
120 <member name="M:System.Security.Cryptography.AesGcm.Decrypt(System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[])">
121 <summary>Decrypts the ciphertext into the provided destination buffer if the authentication tag can be validated.</summary>
122 <param name="nonce">The nonce associated with this message, which must match the value provided during encryption.</param>
123 <param name="ciphertext">The encrypted content to decrypt.</param>
124 <param name="tag">The authentication tag produced for this message during encryption.</param>
125 <param name="plaintext">The byte array to receive the decrypted contents.</param>
126 <param name="associatedData">Extra data associated with this message, which must match the value provided during encryption.</param>
127 <exception cref="T:System.ArgumentException">The <paramref name="plaintext" /> parameter and the <paramref name="ciphertext" /> do not have the same length.
129 The <paramref name="nonce" /> parameter length is not permitted by <see cref="P:System.Security.Cryptography.AesGcm.NonceByteSizes" />.
131 The <paramref name="tag" /> parameter length is not permitted by <see cref="P:System.Security.Cryptography.AesGcm.TagByteSizes" />.</exception>
132 <exception cref="T:System.ArgumentNullException">The <paramref name="nonce" />, <paramref name="ciphertext" />, <paramref name="tag" />, or <paramref name="plaintext" /> parameter is <see langword="null" />.</exception>
133 <exception cref="T:System.Security.Cryptography.CryptographicException">The tag value could not be verified, or the decryption operation otherwise failed.</exception>
135 <member name="M:System.Security.Cryptography.AesGcm.Decrypt(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.ReadOnlySpan{System.Byte})">
136 <summary>Decrypts the ciphertext into the provided destination buffer if the authentication tag can be validated.</summary>
137 <param name="nonce">The nonce associated with this message, which must match the value provided during encryption.</param>
138 <param name="ciphertext">The encrypted content to decrypt.</param>
139 <param name="tag">The authentication tag produced for this message during encryption.</param>
140 <param name="plaintext">The byte span to receive the decrypted contents.</param>
141 <param name="associatedData">Extra data associated with this message, which must match the value provided during encryption.</param>
142 <exception cref="T:System.ArgumentException">The <paramref name="plaintext" /> parameter and the <paramref name="ciphertext" /> do not have the same length.
144 The <paramref name="nonce" /> parameter length is not permitted by <see cref="P:System.Security.Cryptography.AesGcm.NonceByteSizes" />.
146 The <paramref name="tag" /> parameter length is not permitted by <see cref="P:System.Security.Cryptography.AesGcm.TagByteSizes" />.</exception>
147 <exception cref="T:System.Security.Cryptography.CryptographicException">The tag value could not be verified, or the decryption operation otherwise failed.</exception>
149 <member name="M:System.Security.Cryptography.AesGcm.Dispose">
150 <summary>Releases the resources used by the current instance of the <see cref="T:System.Security.Cryptography.AesGcm" /> class.</summary>
152 <member name="M:System.Security.Cryptography.AesGcm.Encrypt(System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[])">
153 <summary>Encrypts the plaintext into the ciphertext destination buffer and generates the authentication tag into a separate buffer.</summary>
154 <param name="nonce">The nonce associated with this message, which should be a unique value for every operation with the same key.</param>
155 <param name="plaintext">The content to encrypt.</param>
156 <param name="ciphertext">The byte array to receive the encrypted contents.</param>
157 <param name="tag">The byte array to receive the generated authentication tag.</param>
158 <param name="associatedData">Extra data associated with this message, which must also be provided during decryption.</param>
159 <exception cref="T:System.ArgumentException">The <paramref name="plaintext" /> parameter and the <paramref name="ciphertext" /> do not have the same length.
161 The <paramref name="nonce" /> parameter length is not permitted by <see cref="P:System.Security.Cryptography.AesGcm.NonceByteSizes" />.
163 The <paramref name="tag" /> parameter length is not permitted by <see cref="P:System.Security.Cryptography.AesGcm.TagByteSizes" />.</exception>
164 <exception cref="T:System.ArgumentNullException">The <paramref name="nonce" />, <paramref name="ciphertext" />, <paramref name="tag" />, or <paramref name="plaintext" /> parameter is <see langword="null" />.</exception>
165 <exception cref="T:System.Security.Cryptography.CryptographicException">The encryption operation failed.</exception>
167 <member name="M:System.Security.Cryptography.AesGcm.Encrypt(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Span{System.Byte},System.ReadOnlySpan{System.Byte})">
168 <summary>Encrypts the plaintext into the ciphertext destination buffer and generates the authentication tag into a separate buffer.</summary>
169 <param name="nonce">The nonce associated with this message, which should be a unique value for every operation with the same key.</param>
170 <param name="plaintext">The content to encrypt.</param>
171 <param name="ciphertext">The byte array to receive the encrypted contents.</param>
172 <param name="tag">The byte array to receive the generated authentication tag.</param>
173 <param name="associatedData">Extra data associated with this message, which must also be provided during decryption.</param>
174 <exception cref="T:System.ArgumentException">The <paramref name="plaintext" /> parameter and the <paramref name="ciphertext" /> do not have the same length.
176 The <paramref name="nonce" /> parameter length is not permitted by <see cref="P:System.Security.Cryptography.AesGcm.NonceByteSizes" />.
178 The <paramref name="tag" /> parameter length is not permitted by <see cref="P:System.Security.Cryptography.AesGcm.TagByteSizes" />.</exception>
179 <exception cref="T:System.Security.Cryptography.CryptographicException">The encryption operation failed.</exception>
181 <member name="P:System.Security.Cryptography.AesGcm.NonceByteSizes">
182 <summary>Gets the nonce sizes, in bytes, supported by this instance.</summary>
183 <returns>The nonce sizes supported by this instance: 12 bytes (96 bits).</returns>
185 <member name="P:System.Security.Cryptography.AesGcm.TagByteSizes">
186 <summary>Gets the tag sizes, in bytes, supported by this instance.</summary>
187 <returns>The tag sizes supported by this instance: 12, 13, 14, 15, or 16 bytes (96, 104, 112, 120, or 128 bits).</returns>
189 <member name="T:System.Security.Cryptography.AesManaged">
190 <summary>Provides a managed implementation of the Advanced Encryption Standard (AES) symmetric algorithm.</summary>
192 <member name="M:System.Security.Cryptography.AesManaged.#ctor">
193 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.AesManaged" /> class.</summary>
194 <exception cref="T:System.Security.Cryptography.CryptographicException">The Windows security policy setting for FIPS is enabled.</exception>
195 <exception cref="T:System.InvalidOperationException">This implementation is not part of the Windows Platform FIPS-validated cryptographic algorithms.</exception>
197 <member name="P:System.Security.Cryptography.AesManaged.BlockSize">
198 <summary>Gets or sets the block size, in bits, of the cryptographic operation.</summary>
199 <returns>The block size, in bits, of the cryptographic operation. The default is 128 bits.</returns>
201 <member name="M:System.Security.Cryptography.AesManaged.CreateDecryptor">
202 <summary>Creates a symmetric decryptor object using the current key and initialization vector (IV).</summary>
203 <returns>A symmetric decryptor object.</returns>
205 <member name="M:System.Security.Cryptography.AesManaged.CreateDecryptor(System.Byte[],System.Byte[])">
206 <summary>Creates a symmetric decryptor object using the specified key and initialization vector (IV).</summary>
207 <param name="rgbKey">The secret key to use for the symmetric algorithm.</param>
208 <param name="rgbIV">The initialization vector to use for the symmetric algorithm.</param>
209 <returns>A symmetric decryptor object.</returns>
210 <exception cref="T:System.ArgumentNullException">
211 <paramref name="key" /> or <paramref name="iv" /> is <see langword="null" />.</exception>
212 <exception cref="T:System.ArgumentException">
213 <paramref name="key" /> is invalid.</exception>
215 <member name="M:System.Security.Cryptography.AesManaged.CreateEncryptor">
216 <summary>Creates a symmetric encryptor object using the current key and initialization vector (IV).</summary>
217 <returns>A symmetric encryptor object.</returns>
219 <member name="M:System.Security.Cryptography.AesManaged.CreateEncryptor(System.Byte[],System.Byte[])">
220 <summary>Creates a symmetric encryptor object using the specified key and initialization vector (IV).</summary>
221 <param name="rgbKey">The secret key to use for the symmetric algorithm.</param>
222 <param name="rgbIV">The initialization vector to use for the symmetric algorithm.</param>
223 <returns>A symmetric encryptor object.</returns>
224 <exception cref="T:System.ArgumentNullException">
225 <paramref name="key" /> or <paramref name="iv" /> is <see langword="null" />.</exception>
226 <exception cref="T:System.ArgumentException">
227 <paramref name="key" /> is invalid.</exception>
229 <member name="P:System.Security.Cryptography.AesManaged.FeedbackSize">
230 <summary>Gets or sets the number of bits to use as feedback.</summary>
231 <returns>The feedback size, in bits.</returns>
233 <member name="M:System.Security.Cryptography.AesManaged.GenerateIV">
234 <summary>Generates a random initialization vector (IV) to use for the symmetric algorithm.</summary>
236 <member name="M:System.Security.Cryptography.AesManaged.GenerateKey">
237 <summary>Generates a random key to use for the symmetric algorithm.</summary>
239 <member name="P:System.Security.Cryptography.AesManaged.IV">
240 <summary>Gets or sets the initialization vector (IV) to use for the symmetric algorithm.</summary>
241 <returns>The initialization vector to use for the symmetric algorithm</returns>
243 <member name="P:System.Security.Cryptography.AesManaged.Key">
244 <summary>Gets or sets the secret key used for the symmetric algorithm.</summary>
245 <returns>The key for the symmetric algorithm.</returns>
247 <member name="P:System.Security.Cryptography.AesManaged.KeySize">
248 <summary>Gets or sets the size, in bits, of the secret key used for the symmetric algorithm.</summary>
249 <returns>The size, in bits, of the key used by the symmetric algorithm.</returns>
251 <member name="P:System.Security.Cryptography.AesManaged.LegalBlockSizes">
252 <summary>Gets the block sizes, in bits, that are supported by the symmetric algorithm.</summary>
253 <returns>The block sizes, in bits, that are supported by the symmetric algorithm.</returns>
255 <member name="P:System.Security.Cryptography.AesManaged.LegalKeySizes">
256 <summary>Gets the key sizes, in bits, that are supported by the symmetric algorithm.</summary>
257 <returns>The key sizes, in bits, that are supported by the symmetric algorithm.</returns>
259 <member name="P:System.Security.Cryptography.AesManaged.Mode">
260 <summary>Gets or sets the mode for operation of the symmetric algorithm.</summary>
261 <returns>One of the enumeration values that specifies the block cipher mode to use for encryption. The default is <see cref="F:System.Security.Cryptography.CipherMode.CBC" />.</returns>
262 <exception cref="T:System.Security.Cryptography.CryptographicException">
263 <see cref="P:System.Security.Cryptography.AesManaged.Mode" /> is set to <see cref="F:System.Security.Cryptography.CipherMode.CFB" /> or <see cref="F:System.Security.Cryptography.CipherMode.OFB" />.</exception>
265 <member name="P:System.Security.Cryptography.AesManaged.Padding">
266 <summary>Gets or sets the padding mode used in the symmetric algorithm.</summary>
267 <returns>One of the enumeration values that specifies the type of padding to apply. The default is <see cref="F:System.Security.Cryptography.PaddingMode.PKCS7" />.</returns>
269 <member name="T:System.Security.Cryptography.AsymmetricKeyExchangeDeformatter">
270 <summary>Represents the base class from which all asymmetric key exchange deformatters derive.</summary>
272 <member name="M:System.Security.Cryptography.AsymmetricKeyExchangeDeformatter.#ctor">
273 <summary>Initializes a new instance of <see cref="T:System.Security.Cryptography.AsymmetricKeyExchangeDeformatter" />.</summary>
275 <member name="M:System.Security.Cryptography.AsymmetricKeyExchangeDeformatter.DecryptKeyExchange(System.Byte[])">
276 <summary>When overridden in a derived class, extracts secret information from the encrypted key exchange data.</summary>
277 <param name="rgb">The key exchange data within which the secret information is hidden.</param>
278 <returns>The secret information derived from the key exchange data.</returns>
280 <member name="P:System.Security.Cryptography.AsymmetricKeyExchangeDeformatter.Parameters">
281 <summary>When overridden in a derived class, gets or sets the parameters for the asymmetric key exchange.</summary>
282 <returns>A string in XML format containing the parameters of the asymmetric key exchange operation.</returns>
284 <member name="M:System.Security.Cryptography.AsymmetricKeyExchangeDeformatter.SetKey(System.Security.Cryptography.AsymmetricAlgorithm)">
285 <summary>When overridden in a derived class, sets the private key to use for decrypting the secret information.</summary>
286 <param name="key">The instance of the implementation of <see cref="T:System.Security.Cryptography.AsymmetricAlgorithm" /> that holds the private key.</param>
288 <member name="T:System.Security.Cryptography.AsymmetricKeyExchangeFormatter">
289 <summary>Represents the base class from which all asymmetric key exchange formatters derive.</summary>
291 <member name="M:System.Security.Cryptography.AsymmetricKeyExchangeFormatter.#ctor">
292 <summary>Initializes a new instance of <see cref="T:System.Security.Cryptography.AsymmetricKeyExchangeFormatter" />.</summary>
294 <member name="M:System.Security.Cryptography.AsymmetricKeyExchangeFormatter.CreateKeyExchange(System.Byte[])">
295 <summary>When overridden in a derived class, creates the encrypted key exchange data from the specified input data.</summary>
296 <param name="data">The secret information to be passed in the key exchange.</param>
297 <returns>The encrypted key exchange data to be sent to the intended recipient.</returns>
299 <member name="M:System.Security.Cryptography.AsymmetricKeyExchangeFormatter.CreateKeyExchange(System.Byte[],System.Type)">
300 <summary>When overridden in a derived class, creates the encrypted key exchange data from the specified input data.</summary>
301 <param name="data">The secret information to be passed in the key exchange.</param>
302 <param name="symAlgType">This parameter is not used in the current version.</param>
303 <returns>The encrypted key exchange data to be sent to the intended recipient.</returns>
305 <member name="P:System.Security.Cryptography.AsymmetricKeyExchangeFormatter.Parameters">
306 <summary>When overridden in a derived class, gets the parameters for the asymmetric key exchange.</summary>
307 <returns>A string in XML format containing the parameters of the asymmetric key exchange operation.</returns>
309 <member name="M:System.Security.Cryptography.AsymmetricKeyExchangeFormatter.SetKey(System.Security.Cryptography.AsymmetricAlgorithm)">
310 <summary>When overridden in a derived class, sets the public key to use for encrypting the secret information.</summary>
311 <param name="key">The instance of the implementation of <see cref="T:System.Security.Cryptography.AsymmetricAlgorithm" /> that holds the public key.</param>
313 <member name="T:System.Security.Cryptography.AsymmetricSignatureDeformatter">
314 <summary>Represents the abstract base class from which all implementations of asymmetric signature deformatters derive.</summary>
316 <member name="M:System.Security.Cryptography.AsymmetricSignatureDeformatter.#ctor">
317 <summary>Initializes a new instance of <see cref="T:System.Security.Cryptography.AsymmetricSignatureDeformatter" />.</summary>
319 <member name="M:System.Security.Cryptography.AsymmetricSignatureDeformatter.SetHashAlgorithm(System.String)">
320 <summary>When overridden in a derived class, sets the hash algorithm to use for verifying the signature.</summary>
321 <param name="strName">The name of the hash algorithm to use for verifying the signature.</param>
323 <member name="M:System.Security.Cryptography.AsymmetricSignatureDeformatter.SetKey(System.Security.Cryptography.AsymmetricAlgorithm)">
324 <summary>When overridden in a derived class, sets the public key to use for verifying the signature.</summary>
325 <param name="key">The instance of an implementation of <see cref="T:System.Security.Cryptography.AsymmetricAlgorithm" /> that holds the public key.</param>
327 <member name="M:System.Security.Cryptography.AsymmetricSignatureDeformatter.VerifySignature(System.Byte[],System.Byte[])">
328 <summary>When overridden in a derived class, verifies the signature for the specified data.</summary>
329 <param name="rgbHash">The data signed with <paramref name="rgbSignature" />.</param>
330 <param name="rgbSignature">The signature to be verified for <paramref name="rgbHash" />.</param>
332 <see langword="true" /> if <paramref name="rgbSignature" /> matches the signature computed using the specified hash algorithm and key on <paramref name="rgbHash" />; otherwise, <see langword="false" />.</returns>
334 <member name="M:System.Security.Cryptography.AsymmetricSignatureDeformatter.VerifySignature(System.Security.Cryptography.HashAlgorithm,System.Byte[])">
335 <summary>Verifies the signature from the specified hash value.</summary>
336 <param name="hash">The hash algorithm to use to verify the signature.</param>
337 <param name="rgbSignature">The signature to be verified.</param>
339 <see langword="true" /> if the signature is valid for the hash; otherwise, <see langword="false" />.</returns>
340 <exception cref="T:System.ArgumentNullException">The <paramref name="hash" /> parameter is <see langword="null" />.</exception>
342 <member name="T:System.Security.Cryptography.AsymmetricSignatureFormatter">
343 <summary>Represents the base class from which all implementations of asymmetric signature formatters derive.</summary>
345 <member name="M:System.Security.Cryptography.AsymmetricSignatureFormatter.#ctor">
346 <summary>Initializes a new instance of <see cref="T:System.Security.Cryptography.AsymmetricSignatureFormatter" />.</summary>
348 <member name="M:System.Security.Cryptography.AsymmetricSignatureFormatter.CreateSignature(System.Byte[])">
349 <summary>When overridden in a derived class, creates the signature for the specified data.</summary>
350 <param name="rgbHash">The data to be signed.</param>
351 <returns>The digital signature for the <paramref name="rgbHash" /> parameter.</returns>
353 <member name="M:System.Security.Cryptography.AsymmetricSignatureFormatter.CreateSignature(System.Security.Cryptography.HashAlgorithm)">
354 <summary>Creates the signature from the specified hash value.</summary>
355 <param name="hash">The hash algorithm to use to create the signature.</param>
356 <returns>The signature for the specified hash value.</returns>
357 <exception cref="T:System.ArgumentNullException">The <paramref name="hash" /> parameter is <see langword="null" />.</exception>
359 <member name="M:System.Security.Cryptography.AsymmetricSignatureFormatter.SetHashAlgorithm(System.String)">
360 <summary>When overridden in a derived class, sets the hash algorithm to use for creating the signature.</summary>
361 <param name="strName">The name of the hash algorithm to use for creating the signature.</param>
363 <member name="M:System.Security.Cryptography.AsymmetricSignatureFormatter.SetKey(System.Security.Cryptography.AsymmetricAlgorithm)">
364 <summary>When overridden in a derived class, sets the asymmetric algorithm to use to create the signature.</summary>
365 <param name="key">The instance of the implementation of <see cref="T:System.Security.Cryptography.AsymmetricAlgorithm" /> to use to create the signature.</param>
367 <member name="T:System.Security.Cryptography.CryptoConfig">
368 <summary>Accesses the cryptography configuration information.</summary>
370 <member name="M:System.Security.Cryptography.CryptoConfig.#ctor">
371 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.CryptoConfig" /> class.</summary>
373 <member name="M:System.Security.Cryptography.CryptoConfig.AddAlgorithm(System.Type,System.String[])">
374 <summary>Adds a set of names to algorithm mappings to be used for the current application domain.</summary>
375 <param name="algorithm">The algorithm to map to.</param>
376 <param name="names">An array of names to map to the algorithm.</param>
377 <exception cref="T:System.ArgumentNullException">The <paramref name="algorithm" /> or <paramref name="names" /> parameter is <see langword="null" />.</exception>
378 <exception cref="T:System.ArgumentException">
379 <paramref name="algorithm" /> cannot be accessed from outside the assembly.
381 One of the entries in the <paramref name="names" /> parameter is empty or <see langword="null" />.</exception>
383 <member name="M:System.Security.Cryptography.CryptoConfig.AddOID(System.String,System.String[])">
384 <summary>Adds a set of names to object identifier (OID) mappings to be used for the current application domain.</summary>
385 <param name="oid">The object identifier (OID) to map to.</param>
386 <param name="names">An array of names to map to the OID.</param>
387 <exception cref="T:System.ArgumentNullException">The <paramref name="oid" /> or <paramref name="names" /> parameter is <see langword="null" />.</exception>
388 <exception cref="T:System.ArgumentException">One of the entries in the <paramref name="names" /> parameter is empty or <see langword="null" />.</exception>
390 <member name="P:System.Security.Cryptography.CryptoConfig.AllowOnlyFipsAlgorithms">
391 <summary>Indicates whether the runtime should enforce the policy to create only Federal Information Processing Standard (FIPS) certified algorithms.</summary>
393 <see langword="true" /> to enforce the policy; otherwise, <see langword="false" />.</returns>
395 <member name="M:System.Security.Cryptography.CryptoConfig.CreateFromName(System.String)">
396 <summary>Creates a new instance of the specified cryptographic object.</summary>
397 <param name="name">The simple name of the cryptographic object of which to create an instance.</param>
398 <returns>A new instance of the specified cryptographic object.</returns>
399 <exception cref="T:System.ArgumentNullException">The <paramref name="name" /> parameter is <see langword="null" />.</exception>
400 <exception cref="T:System.Reflection.TargetInvocationException">The algorithm described by the <paramref name="name" /> parameter was used with Federal Information Processing Standards (FIPS) mode enabled, but is not FIPS compatible.</exception>
402 <member name="M:System.Security.Cryptography.CryptoConfig.CreateFromName(System.String,System.Object[])">
403 <summary>Creates a new instance of the specified cryptographic object with the specified arguments.</summary>
404 <param name="name">The simple name of the cryptographic object of which to create an instance.</param>
405 <param name="args">The arguments used to create the specified cryptographic object.</param>
406 <returns>A new instance of the specified cryptographic object.</returns>
407 <exception cref="T:System.ArgumentNullException">The <paramref name="name" /> parameter is <see langword="null" />.</exception>
408 <exception cref="T:System.Reflection.TargetInvocationException">The algorithm described by the <paramref name="name" /> parameter was used with Federal Information Processing Standards (FIPS) mode enabled, but is not FIPS compatible.</exception>
410 <member name="M:System.Security.Cryptography.CryptoConfig.EncodeOID(System.String)">
411 <summary>Encodes the specified object identifier (OID).</summary>
412 <param name="str">The OID to encode.</param>
413 <returns>A byte array containing the encoded OID.</returns>
414 <exception cref="T:System.ArgumentNullException">The <paramref name="str" /> parameter is <see langword="null" />.</exception>
415 <exception cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException">An error occurred while encoding the OID.</exception>
417 <member name="M:System.Security.Cryptography.CryptoConfig.MapNameToOID(System.String)">
418 <summary>Gets the object identifier (OID) of the algorithm corresponding to the specified simple name.</summary>
419 <param name="name">The simple name of the algorithm for which to get the OID.</param>
420 <returns>The OID of the specified algorithm.</returns>
421 <exception cref="T:System.ArgumentNullException">The <paramref name="name" /> parameter is <see langword="null" />.</exception>
423 <member name="T:System.Security.Cryptography.DeriveBytes">
424 <summary>Represents the abstract base class from which all classes that derive byte sequences of a specified length inherit.</summary>
426 <member name="M:System.Security.Cryptography.DeriveBytes.#ctor">
427 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.DeriveBytes" /> class.</summary>
429 <member name="M:System.Security.Cryptography.DeriveBytes.Dispose">
430 <summary>When overridden in a derived class, releases all resources used by the current instance of the <see cref="T:System.Security.Cryptography.DeriveBytes" /> class.</summary>
432 <member name="M:System.Security.Cryptography.DeriveBytes.Dispose(System.Boolean)">
433 <summary>When overridden in a derived class, releases the unmanaged resources used by the <see cref="T:System.Security.Cryptography.DeriveBytes" /> class and optionally releases the managed resources.</summary>
434 <param name="disposing">
435 <see langword="true" /> to release both managed and unmanaged resources; <see langword="false" /> to release only unmanaged resources.</param>
437 <member name="M:System.Security.Cryptography.DeriveBytes.GetBytes(System.Int32)">
438 <summary>When overridden in a derived class, returns pseudo-random key bytes.</summary>
439 <param name="cb">The number of pseudo-random key bytes to generate.</param>
440 <returns>A byte array filled with pseudo-random key bytes.</returns>
442 <member name="M:System.Security.Cryptography.DeriveBytes.Reset">
443 <summary>When overridden in a derived class, resets the state of the operation.</summary>
445 <member name="T:System.Security.Cryptography.DES">
446 <summary>Represents the base class for the Data Encryption Standard (DES) algorithm from which all <see cref="T:System.Security.Cryptography.DES" /> implementations must derive.</summary>
448 <member name="M:System.Security.Cryptography.DES.#ctor">
449 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.DES" /> class.</summary>
451 <member name="M:System.Security.Cryptography.DES.Create">
452 <summary>Creates an instance of a cryptographic object to perform the Data Encryption Standard (<see cref="T:System.Security.Cryptography.DES" />) algorithm.</summary>
453 <returns>A cryptographic object.</returns>
455 <member name="M:System.Security.Cryptography.DES.Create(System.String)">
456 <summary>Creates an instance of a cryptographic object to perform the specified implementation of the Data Encryption Standard (<see cref="T:System.Security.Cryptography.DES" />) algorithm.</summary>
457 <param name="algName">The name of the specific implementation of <see cref="T:System.Security.Cryptography.DES" /> to use.</param>
458 <returns>A cryptographic object.</returns>
460 <member name="M:System.Security.Cryptography.DES.IsSemiWeakKey(System.Byte[])">
461 <summary>Determines whether the specified key is semi-weak.</summary>
462 <param name="rgbKey">The secret key to test for semi-weakness.</param>
464 <see langword="true" /> if the key is semi-weak; otherwise, <see langword="false" />.</returns>
465 <exception cref="T:System.Security.Cryptography.CryptographicException">The size of the <paramref name="rgbKey" /> parameter is not valid.</exception>
467 <member name="M:System.Security.Cryptography.DES.IsWeakKey(System.Byte[])">
468 <summary>Determines whether the specified key is weak.</summary>
469 <param name="rgbKey">The secret key to test for weakness.</param>
471 <see langword="true" /> if the key is weak; otherwise, <see langword="false" />.</returns>
472 <exception cref="T:System.Security.Cryptography.CryptographicException">The size of the <paramref name="rgbKey" /> parameter is not valid.</exception>
474 <member name="P:System.Security.Cryptography.DES.Key">
475 <summary>Gets or sets the secret key for the Data Encryption Standard (<see cref="T:System.Security.Cryptography.DES" />) algorithm.</summary>
476 <returns>The secret key for the <see cref="T:System.Security.Cryptography.DES" /> algorithm.</returns>
477 <exception cref="T:System.ArgumentNullException">An attempt was made to set the key to <see langword="null" />.</exception>
478 <exception cref="T:System.ArgumentException">An attempt was made to set a key whose length is not equal to <see cref="F:System.Security.Cryptography.SymmetricAlgorithm.BlockSizeValue" />.</exception>
479 <exception cref="T:System.Security.Cryptography.CryptographicException">An attempt was made to set a weak key (see <see cref="M:System.Security.Cryptography.DES.IsWeakKey(System.Byte[])" />) or a semi-weak key (see <see cref="M:System.Security.Cryptography.DES.IsSemiWeakKey(System.Byte[])" />).</exception>
481 <member name="T:System.Security.Cryptography.DSA">
482 <summary>Represents the abstract base class from which all implementations of the Digital Signature Algorithm (<see cref="T:System.Security.Cryptography.DSA" />) must inherit.</summary>
484 <member name="M:System.Security.Cryptography.DSA.#ctor">
485 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.DSA" /> class.</summary>
487 <member name="M:System.Security.Cryptography.DSA.Create">
488 <summary>Creates the default cryptographic object used to perform the asymmetric algorithm.</summary>
489 <returns>A cryptographic object used to perform the asymmetric algorithm.</returns>
491 <member name="M:System.Security.Cryptography.DSA.Create(System.Int32)">
492 <summary>Creates a new ephemeral DSA key with the specified key size.</summary>
493 <param name="keySizeInBits">The key size, in bits.</param>
494 <returns>A new ephemeral DSA key with the specified key size.</returns>
495 <exception cref="T:System.Security.Cryptography.CryptographicException">
496 <paramref name="keySizeInBits" /> is not permitted by <see cref="P:System.Security.Cryptography.AsymmetricAlgorithm.LegalKeySizes" />.</exception>
498 <member name="M:System.Security.Cryptography.DSA.Create(System.Security.Cryptography.DSAParameters)">
499 <summary>Creates a new ephemeral DSA key with the specified DSA key parameters.</summary>
500 <param name="parameters">The parameters for the <see cref="T:System.Security.Cryptography.DSA" /> algorithm.</param>
501 <returns>A new ephemeral DSA key.</returns>
503 <member name="M:System.Security.Cryptography.DSA.Create(System.String)">
504 <summary>Creates the specified cryptographic object used to perform the asymmetric algorithm.</summary>
505 <param name="algName">The name of the specific implementation of <see cref="T:System.Security.Cryptography.DSA" /> to use.</param>
506 <returns>A cryptographic object used to perform the asymmetric algorithm.</returns>
508 <member name="M:System.Security.Cryptography.DSA.CreateSignature(System.Byte[])">
509 <summary>When overridden in a derived class, creates the <see cref="T:System.Security.Cryptography.DSA" /> signature for the specified data.</summary>
510 <param name="rgbHash">The data to be signed.</param>
511 <returns>The digital signature for the specified data.</returns>
513 <member name="M:System.Security.Cryptography.DSA.ExportParameters(System.Boolean)">
514 <summary>When overridden in a derived class, exports the <see cref="T:System.Security.Cryptography.DSAParameters" />.</summary>
515 <param name="includePrivateParameters">
516 <see langword="true" /> to include private parameters; otherwise, <see langword="false" />.</param>
517 <returns>The parameters for <see cref="T:System.Security.Cryptography.DSA" />.</returns>
519 <member name="M:System.Security.Cryptography.DSA.FromXmlString(System.String)">
520 <summary>Reconstructs a <see cref="T:System.Security.Cryptography.DSA" /> object from an XML string.</summary>
521 <param name="xmlString">The XML string to use to reconstruct the <see cref="T:System.Security.Cryptography.DSA" /> object.</param>
522 <exception cref="T:System.ArgumentNullException">The <paramref name="xmlString" /> parameter is <see langword="null" />.</exception>
523 <exception cref="T:System.Security.Cryptography.CryptographicException">The format of the <paramref name="xmlString" /> parameter is not valid.</exception>
525 <member name="M:System.Security.Cryptography.DSA.HashData(System.Byte[],System.Int32,System.Int32,System.Security.Cryptography.HashAlgorithmName)">
526 <summary>When overridden in a derived class, computes the hash value of a specified portion of a byte array by using a specified hashing algorithm.</summary>
527 <param name="data">The data to be hashed.</param>
528 <param name="offset">The index of the first byte in <paramref name="data" /> that is to be hashed.</param>
529 <param name="count">The number of bytes to hash.</param>
530 <param name="hashAlgorithm">The algorithm to use to hash the data.</param>
531 <returns>The hashed data.</returns>
532 <exception cref="T:System.NotImplementedException">A derived class must override this method.</exception>
534 <member name="M:System.Security.Cryptography.DSA.HashData(System.IO.Stream,System.Security.Cryptography.HashAlgorithmName)">
535 <summary>When overridden in a derived class, computes the hash value of a specified binary stream by using a specified hashing algorithm.</summary>
536 <param name="data">The binary stream to hash.</param>
537 <param name="hashAlgorithm">The algorithm to use to hash the data.</param>
538 <returns>The hashed data.</returns>
539 <exception cref="T:System.NotImplementedException">A derived class must override this method.</exception>
541 <member name="M:System.Security.Cryptography.DSA.ImportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Int32@)">
542 <summary>Imports the public/private keypair from a PKCS#8 EncryptedPrivateKeyInfo structure after decrypting with a byte-based password, replacing the keys for this object.</summary>
543 <param name="passwordBytes">The bytes to use as a password when decrypting the key material.</param>
544 <param name="source">The bytes of a PKCS#8 EncryptedPrivateKeyInfo structure in the ASN.1-BER encoding.</param>
545 <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
546 <exception cref="T:System.Security.Cryptography.CryptographicException">The password is incorrect.
548 The contents of <paramref name="source" /> indicate the Key Derivation Function (KDF) to apply is the legacy PKCS#12 KDF, which requires <see cref="T:System.Char" />-based passwords.
550 The contents of <paramref name="source" /> do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
552 The contents of <paramref name="source" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
554 The contents of <paramref name="source" /> represent the key in a format that is not supported.
556 The algorithm-specific key import failed.</exception>
558 <member name="M:System.Security.Cryptography.DSA.ImportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Byte},System.Int32@)">
559 <summary>Imports the public/private keypair from a PKCS#8 EncryptedPrivateKeyInfo structure after decrypting with a char-based password, replacing the keys for this object.</summary>
560 <param name="password">The password to use for decrypting the key material.</param>
561 <param name="source">The bytes of a PKCS#8 EncryptedPrivateKeyInfo structure in the ASN.1-BER encoding.</param>
562 <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
563 <exception cref="T:System.Security.Cryptography.CryptographicException">The password is incorrect.
565 The contents of <paramref name="source" /> do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
567 The contents of <paramref name="source" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
569 The contents of <paramref name="source" /> represent the key in a format that is not supported.
571 The algorithm-specific key import failed.</exception>
573 <member name="M:System.Security.Cryptography.DSA.ImportParameters(System.Security.Cryptography.DSAParameters)">
574 <summary>When overridden in a derived class, imports the specified <see cref="T:System.Security.Cryptography.DSAParameters" />.</summary>
575 <param name="parameters">The parameters for <see cref="T:System.Security.Cryptography.DSA" />.</param>
577 <member name="M:System.Security.Cryptography.DSA.ImportPkcs8PrivateKey(System.ReadOnlySpan{System.Byte},System.Int32@)">
578 <summary>Imports the public/private keypair from a PKCS#8 PrivateKeyInfo structure after decryption, replacing the keys for this object.</summary>
579 <param name="source">The bytes of a PKCS#8 PrivateKeyInfo structure in the ASN.1-BER encoding.</param>
580 <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
581 <exception cref="T:System.Security.Cryptography.CryptographicException">The contents of <paramref name="source" /> do not represent an ASN.1-BER-encoded PKCS#8 PrivateKeyInfo structure.
583 The contents of <paramref name="source" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
585 The contents of <paramref name="source" /> represent the key in a format that is not supported.
587 The algorithm-specific key import failed.</exception>
589 <member name="M:System.Security.Cryptography.DSA.ImportSubjectPublicKeyInfo(System.ReadOnlySpan{System.Byte},System.Int32@)">
590 <summary>Imports the public key from an X.509 SubjectPublicKeyInfo structure after decryption, replacing the keys for this object.</summary>
591 <param name="source">The bytes of an X.509 SubjectPublicKeyInfo structure in the ASN.1-DER encoding.</param>
592 <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
593 <exception cref="T:System.Security.Cryptography.CryptographicException">The contents of <paramref name="source" /> do not represent an ASN.1-DER-encoded X.509 SubjectPublicKeyInfo structure.
595 The contents of <paramref name="source" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
597 The contents of <paramref name="source" /> represent the key in a format that is not supported.
599 The algorithm-specific key import failed.</exception>
601 <member name="M:System.Security.Cryptography.DSA.SignData(System.Byte[],System.Int32,System.Int32,System.Security.Cryptography.HashAlgorithmName)">
602 <summary>Computes the hash value of a portion of the specified byte array using the specified hash algorithm and signs the resulting hash value.</summary>
603 <param name="data">The input data for which to compute the hash.</param>
604 <param name="offset">The offset into the array at which to begin using data.</param>
605 <param name="count">The number of bytes in the array to use as data.</param>
606 <param name="hashAlgorithm">The hash algorithm to use to create the hash value.</param>
607 <returns>The DSA signature for the specified data.</returns>
608 <exception cref="T:System.ArgumentNullException">
609 <paramref name="data" /> is <see langword="null" />.</exception>
610 <exception cref="T:System.ArgumentException">
611 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
612 <exception cref="T:System.ArgumentOutOfRangeException">
613 <paramref name="offset" /> is less than zero.
615 <paramref name="count" /> is less than zero.
617 <paramref name="offset" /> + <paramref name="count" /> - 1 results in an index that is beyond the upper bound of <paramref name="data" />.</exception>
619 <member name="M:System.Security.Cryptography.DSA.SignData(System.Byte[],System.Security.Cryptography.HashAlgorithmName)">
620 <summary>Computes the hash value of the specified byte array using the specified hash algorithm and signs the resulting hash value.</summary>
621 <param name="data">The input data for which to compute the hash.</param>
622 <param name="hashAlgorithm">The hash algorithm to use to create the hash value.</param>
623 <returns>The DSA signature for the specified data.</returns>
624 <exception cref="T:System.ArgumentNullException">
625 <paramref name="data" /> is <see langword="null" />.</exception>
626 <exception cref="T:System.ArgumentException">
627 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
629 <member name="M:System.Security.Cryptography.DSA.SignData(System.IO.Stream,System.Security.Cryptography.HashAlgorithmName)">
630 <summary>Computes the hash value of the specified stream using the specified hash algorithm and signs the resulting hash value.</summary>
631 <param name="data">The input stream for which to compute the hash.</param>
632 <param name="hashAlgorithm">The hash algorithm to use to create the hash value.</param>
633 <returns>The DSA signature for the specified data.</returns>
634 <exception cref="T:System.ArgumentNullException">
635 <paramref name="data" /> is <see langword="null" />.</exception>
636 <exception cref="T:System.ArgumentException">
637 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
639 <member name="M:System.Security.Cryptography.DSA.ToXmlString(System.Boolean)">
640 <summary>Creates and returns an XML string representation of the current <see cref="T:System.Security.Cryptography.DSA" /> object.</summary>
641 <param name="includePrivateParameters">
642 <see langword="true" /> to include private parameters; otherwise, <see langword="false" />.</param>
643 <returns>An XML string encoding of the current <see cref="T:System.Security.Cryptography.DSA" /> object.</returns>
645 <member name="M:System.Security.Cryptography.DSA.TryCreateSignature(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Int32@)">
646 <summary>Attempts to create the DSA signature for the specified hash into the provided buffer.</summary>
647 <param name="hash">The hash to sign.</param>
648 <param name="destination">The byte span to receive the signature.</param>
649 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />.</param>
651 <see langword="true" /> if <paramref name="destination" /> is large enough to receive the result; otherwise, <see langword="false" />.</returns>
652 <exception cref="T:System.Security.Cryptography.CryptographicException">This instance represents only a public key.
654 The implementation type only supports legacy DSA (FIPS 186-2), and <paramref name="hash" /> is not a 20-byte value.
656 Creating the signature otherwise failed.</exception>
658 <member name="M:System.Security.Cryptography.DSA.TryExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Byte},System.Security.Cryptography.PbeParameters,System.Span{System.Byte},System.Int32@)">
659 <summary>Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer, using a byte-based password.</summary>
660 <param name="passwordBytes">The bytes to use as a password when encrypting the key material.</param>
661 <param name="pbeParameters">The password-based encryption (PBE) parameters to use when encrypting the key material.</param>
662 <param name="destination">The byte span to receive the PKCS#8 EncryptedPrivateKeyInfo data.</param>
663 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
665 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
666 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.
668 <paramref name="pbeParameters" /> indicates that <see cref="F:System.Security.Cryptography.PbeEncryptionAlgorithm.TripleDes3KeyPkcs12" /> should be used, which requires <see cref="T:System.Char" />-based passwords.</exception>
670 <member name="M:System.Security.Cryptography.DSA.TryExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Char},System.Security.Cryptography.PbeParameters,System.Span{System.Byte},System.Int32@)">
671 <summary>Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer, using a char-based password.</summary>
672 <param name="password">The password to use when encrypting the key material.</param>
673 <param name="pbeParameters">The password-based encryption (PBE) parameters to use when encrypting the key material.</param>
674 <param name="destination">The byte span to receive the PKCS#8 EncryptedPrivateKeyInfo data.</param>
675 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
677 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
678 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
680 <member name="M:System.Security.Cryptography.DSA.TryExportPkcs8PrivateKey(System.Span{System.Byte},System.Int32@)">
681 <summary>Attempts to export the current key in the PKCS#8 PrivateKeyInfo format into a provided buffer.</summary>
682 <param name="destination">The byte span to receive the PKCS#8 PrivateKeyInfo data.</param>
683 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
685 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
686 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
688 <member name="M:System.Security.Cryptography.DSA.TryExportSubjectPublicKeyInfo(System.Span{System.Byte},System.Int32@)">
689 <summary>Attempts to export the current key in the X.509 SubjectPublicKeyInfo format into a provided buffer.</summary>
690 <param name="destination">The byte span to receive the X.509 SubjectPublicKeyInfo data.</param>
691 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
693 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
694 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
696 <member name="M:System.Security.Cryptography.DSA.TryHashData(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Security.Cryptography.HashAlgorithmName,System.Int32@)">
697 <summary>Attempts to compute the hash value of the provided data into a provided buffer.</summary>
698 <param name="data">The data to be hashed.</param>
699 <param name="destination">The byte span to receive the hash value.</param>
700 <param name="hashAlgorithm">The name of the hash algorithm to use.</param>
701 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />.</param>
703 <see langword="true" /> if <paramref name="destination" /> is large enough to receive the result; otherwise, <see langword="false" />.</returns>
705 <member name="M:System.Security.Cryptography.DSA.TrySignData(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Security.Cryptography.HashAlgorithmName,System.Int32@)">
706 <summary>Attempts to create the DSA signature for the specified data into the provided buffer.</summary>
707 <param name="data">The data to hash and sign.</param>
708 <param name="destination">The byte span to receive the signature.</param>
709 <param name="hashAlgorithm">The name of the hash algorithm to use.</param>
710 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />.</param>
712 <see langword="true" /> if <paramref name="destination" /> is large enough to receive the result; otherwise, <see langword="false" />.</returns>
714 <member name="M:System.Security.Cryptography.DSA.VerifyData(System.Byte[],System.Byte[],System.Security.Cryptography.HashAlgorithmName)">
715 <summary>Verifies that a digital signature is valid by calculating the hash value of the specified data using the specified hash algorithm and comparing it to the provided signature.</summary>
716 <param name="data">The signed data.</param>
717 <param name="signature">The signature data to be verified.</param>
718 <param name="hashAlgorithm">The hash algorithm used to create the hash value of the data.</param>
720 <see langword="true" /> if the digital signature is valid; otherwise, <see langword="false" />.</returns>
721 <exception cref="T:System.ArgumentNullException">
722 <paramref name="data" /> is <see langword="null" />.
724 <paramref name="signature" /> is <see langword="null" />.</exception>
725 <exception cref="T:System.Security.Cryptography.CryptographicException">The implementation type only supports legacy DSA (FIPS 186-2), and the hash algorithm is not SHA-1.
727 Verifying the signature otherwise failed.</exception>
728 <exception cref="T:System.ArgumentException">
729 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
731 <member name="M:System.Security.Cryptography.DSA.VerifyData(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Security.Cryptography.HashAlgorithmName)">
732 <summary>Verifies that a digital signature is valid by calculating the hash value of the data in a portion of a byte array using the specified hash algorithm and comparing it to the provided signature.</summary>
733 <param name="data">The signed data.</param>
734 <param name="offset">The starting index at which to compute the hash.</param>
735 <param name="count">The number of bytes to hash.</param>
736 <param name="signature">The signature data to be verified.</param>
737 <param name="hashAlgorithm">The hash algorithm used to create the hash value of the data.</param>
739 <see langword="true" /> if the digital signature is valid; otherwise, <see langword="false" />.</returns>
740 <exception cref="T:System.ArgumentNullException">
741 <paramref name="data" /> is <see langword="null" />.
743 <paramref name="signature" /> is <see langword="null" />.</exception>
744 <exception cref="T:System.ArgumentException">
745 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
746 <exception cref="T:System.ArgumentOutOfRangeException">
747 <paramref name="offset" /> is less than zero.
749 <paramref name="count" /> is less than zero.
751 <paramref name="offset" /> + <paramref name="count" /> - 1 results in an index that is beyond the upper bound of <paramref name="data" />.</exception>
752 <exception cref="T:System.Security.Cryptography.CryptographicException">The implementation type only supports legacy DSA (FIPS 186-2), and the hash algorithm is not SHA-1.
754 Verifying the signature otherwise failed.</exception>
756 <member name="M:System.Security.Cryptography.DSA.VerifyData(System.IO.Stream,System.Byte[],System.Security.Cryptography.HashAlgorithmName)">
757 <summary>Verifies that a digital signature is valid by calculating the hash value of the specified stream using the specified hash algorithm and comparing it to the provided signature.</summary>
758 <param name="data">The signed data.</param>
759 <param name="signature">The signature data to be verified.</param>
760 <param name="hashAlgorithm">The hash algorithm used to create the hash value of the data.</param>
762 <see langword="true" /> if the digital signature is valid; otherwise, <see langword="false" />.</returns>
763 <exception cref="T:System.ArgumentNullException">
764 <paramref name="data" /> is <see langword="null" />.
766 <paramref name="signature" /> is <see langword="null" />.</exception>
767 <exception cref="T:System.ArgumentException">
768 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
769 <exception cref="T:System.Security.Cryptography.CryptographicException">The implementation type only supports legacy DSA (FIPS 186-2), and the hash algorithm is not SHA-1.
771 Verifying the signature otherwise failed.</exception>
773 <member name="M:System.Security.Cryptography.DSA.VerifyData(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Security.Cryptography.HashAlgorithmName)">
774 <summary>Verifies that a digital signature is valid by calculating the hash value of the data in a byte span using the specified hash algorithm and comparing it to the provided signature.</summary>
775 <param name="data">The signed data.</param>
776 <param name="signature">The signature to be verified.</param>
777 <param name="hashAlgorithm">The hash algorithm used to create the hash value of the data.</param>
779 <see langword="true" /> if the digital signature is valid; otherwise, <see langword="false" />.</returns>
780 <exception cref="T:System.ArgumentException">
781 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
782 <exception cref="T:System.Security.Cryptography.CryptographicException">The implementation type only supports legacy DSA (FIPS 186-2), and the hash algorithm is not SHA-1.
784 Verifying the signature otherwise failed.</exception>
786 <member name="M:System.Security.Cryptography.DSA.VerifySignature(System.Byte[],System.Byte[])">
787 <summary>When overridden in a derived class, verifies the <see cref="T:System.Security.Cryptography.DSA" /> signature for the specified data.</summary>
788 <param name="rgbHash">The hash of the data signed with <paramref name="rgbSignature" />.</param>
789 <param name="rgbSignature">The signature to be verified for <c>rgbData</c>.</param>
791 <see langword="true" /> if <paramref name="rgbSignature" /> matches the signature computed using the specified hash algorithm and key on <paramref name="rgbHash" />; otherwise, <see langword="false" />.</returns>
792 <exception cref="T:System.Security.Cryptography.CryptographicException">The implementation type only supports legacy DSA (FIPS 186-2), and the hash value is not 20 bytes long.
794 Verifying the signature otherwise failed.</exception>
796 <member name="M:System.Security.Cryptography.DSA.VerifySignature(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
797 <summary>Verifies that a digital signature is valid for a provided data hash.</summary>
798 <param name="hash">The data hash to verify.</param>
799 <param name="signature">The signature to be verify.</param>
801 <see langword="true" /> if the digital signature is valid for the hash; otherwise, <see langword="false" />.</returns>
802 <exception cref="T:System.Security.Cryptography.CryptographicException">The implementation type only supports legacy DSA (FIPS 186-2), and the hash value is not 20 bytes long.
804 Verifying the signature otherwise failed.</exception>
806 <member name="T:System.Security.Cryptography.DSAParameters">
807 <summary>Contains the typical parameters for the <see cref="T:System.Security.Cryptography.DSA" /> algorithm.</summary>
809 <member name="F:System.Security.Cryptography.DSAParameters.Counter">
810 <summary>Specifies the counter for the <see cref="T:System.Security.Cryptography.DSA" /> algorithm.</summary>
812 <member name="F:System.Security.Cryptography.DSAParameters.G">
813 <summary>Specifies the <see langword="G" /> parameter for the <see cref="T:System.Security.Cryptography.DSA" /> algorithm.</summary>
815 <member name="F:System.Security.Cryptography.DSAParameters.J">
816 <summary>Specifies the <see langword="J" /> parameter for the <see cref="T:System.Security.Cryptography.DSA" /> algorithm.</summary>
818 <member name="F:System.Security.Cryptography.DSAParameters.P">
819 <summary>Specifies the <see langword="P" /> parameter for the <see cref="T:System.Security.Cryptography.DSA" /> algorithm.</summary>
821 <member name="F:System.Security.Cryptography.DSAParameters.Q">
822 <summary>Specifies the <see langword="Q" /> parameter for the <see cref="T:System.Security.Cryptography.DSA" /> algorithm.</summary>
824 <member name="F:System.Security.Cryptography.DSAParameters.Seed">
825 <summary>Specifies the seed for the <see cref="T:System.Security.Cryptography.DSA" /> algorithm.</summary>
827 <member name="F:System.Security.Cryptography.DSAParameters.X">
828 <summary>Specifies the <see langword="X" /> parameter for the <see cref="T:System.Security.Cryptography.DSA" /> algorithm.</summary>
830 <member name="F:System.Security.Cryptography.DSAParameters.Y">
831 <summary>Specifies the <see langword="Y" /> parameter for the <see cref="T:System.Security.Cryptography.DSA" /> algorithm.</summary>
833 <member name="T:System.Security.Cryptography.DSASignatureDeformatter">
834 <summary>Verifies a Digital Signature Algorithm (<see cref="T:System.Security.Cryptography.DSA" />) PKCS#1 v1.5 signature.</summary>
836 <member name="M:System.Security.Cryptography.DSASignatureDeformatter.#ctor">
837 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.DSASignatureDeformatter" /> class.</summary>
839 <member name="M:System.Security.Cryptography.DSASignatureDeformatter.#ctor(System.Security.Cryptography.AsymmetricAlgorithm)">
840 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.DSASignatureDeformatter" /> class with the specified key.</summary>
841 <param name="key">The instance of Digital Signature Algorithm (<see cref="T:System.Security.Cryptography.DSA" />) that holds the key.</param>
842 <exception cref="T:System.ArgumentNullException">
843 <paramref name="key" /> is <see langword="null" />.</exception>
845 <member name="M:System.Security.Cryptography.DSASignatureDeformatter.SetHashAlgorithm(System.String)">
846 <summary>Specifies the hash algorithm for the Digital Signature Algorithm (<see cref="T:System.Security.Cryptography.DSA" />) signature deformatter.</summary>
847 <param name="strName">The name of the hash algorithm to use for the signature deformatter.</param>
848 <exception cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException">The <paramref name="strName" /> parameter does not map to the <see cref="T:System.Security.Cryptography.SHA1" /> hash algorithm.</exception>
850 <member name="M:System.Security.Cryptography.DSASignatureDeformatter.SetKey(System.Security.Cryptography.AsymmetricAlgorithm)">
851 <summary>Specifies the key to be used for the Digital Signature Algorithm (<see cref="T:System.Security.Cryptography.DSA" />) signature deformatter.</summary>
852 <param name="key">The instance of <see cref="T:System.Security.Cryptography.DSA" /> that holds the key.</param>
853 <exception cref="T:System.ArgumentNullException">
854 <paramref name="key" /> is <see langword="null" />.</exception>
856 <member name="M:System.Security.Cryptography.DSASignatureDeformatter.VerifySignature(System.Byte[],System.Byte[])">
857 <summary>Verifies the Digital Signature Algorithm (<see cref="T:System.Security.Cryptography.DSA" />) signature on the data.</summary>
858 <param name="rgbHash">The data signed with <paramref name="rgbSignature" />.</param>
859 <param name="rgbSignature">The signature to be verified for <paramref name="rgbHash" />.</param>
861 <see langword="true" /> if the signature is valid for the data; otherwise, <see langword="false" />.</returns>
862 <exception cref="T:System.ArgumentNullException">
863 <paramref name="rgbHash" /> is <see langword="null" />.
865 <paramref name="rgbSignature" /> is <see langword="null" />.</exception>
866 <exception cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException">The DSA key is missing.</exception>
868 <member name="T:System.Security.Cryptography.DSASignatureFormatter">
869 <summary>Creates a Digital Signature Algorithm (<see cref="T:System.Security.Cryptography.DSA" />) signature.</summary>
871 <member name="M:System.Security.Cryptography.DSASignatureFormatter.#ctor">
872 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.DSASignatureFormatter" /> class.</summary>
874 <member name="M:System.Security.Cryptography.DSASignatureFormatter.#ctor(System.Security.Cryptography.AsymmetricAlgorithm)">
875 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.DSASignatureFormatter" /> class with the specified key.</summary>
876 <param name="key">The instance of the Digital Signature Algorithm (<see cref="T:System.Security.Cryptography.DSA" />) that holds the key.</param>
877 <exception cref="T:System.ArgumentNullException">
878 <paramref name="key" /> is <see langword="null" />.</exception>
880 <member name="M:System.Security.Cryptography.DSASignatureFormatter.CreateSignature(System.Byte[])">
881 <summary>Creates the Digital Signature Algorithm (<see cref="T:System.Security.Cryptography.DSA" />) PKCS #1 signature for the specified data.</summary>
882 <param name="rgbHash">The data to be signed.</param>
883 <returns>The digital signature for the specified data.</returns>
884 <exception cref="T:System.ArgumentNullException">
885 <paramref name="rgbHash" /> is <see langword="null" />.</exception>
886 <exception cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException">The OID is <see langword="null" />.
888 The DSA key is <see langword="null" />.</exception>
890 <member name="M:System.Security.Cryptography.DSASignatureFormatter.SetHashAlgorithm(System.String)">
891 <summary>Specifies the hash algorithm for the Digital Signature Algorithm (<see cref="T:System.Security.Cryptography.DSA" />) signature formatter.</summary>
892 <param name="strName">The name of the hash algorithm to use for the signature formatter.</param>
893 <exception cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException">The <paramref name="strName" /> parameter does not map to the <see cref="T:System.Security.Cryptography.SHA1" /> hash algorithm.</exception>
895 <member name="M:System.Security.Cryptography.DSASignatureFormatter.SetKey(System.Security.Cryptography.AsymmetricAlgorithm)">
896 <summary>Specifies the key to be used for the Digital Signature Algorithm (<see cref="T:System.Security.Cryptography.DSA" />) signature formatter.</summary>
897 <param name="key">The instance of <see cref="T:System.Security.Cryptography.DSA" /> that holds the key.</param>
898 <exception cref="T:System.ArgumentNullException">
899 <paramref name="key" /> is <see langword="null" />.</exception>
901 <member name="T:System.Security.Cryptography.ECCurve">
902 <summary>Represents an elliptic curve.</summary>
904 <member name="F:System.Security.Cryptography.ECCurve.A">
905 <summary>The first coefficient for an explicit curve. <c>A</c> for short Weierstrass, Montgomery, and Twisted Edwards curves.</summary>
907 <member name="F:System.Security.Cryptography.ECCurve.B">
908 <summary>The second coefficient for an explicit curve. <c>B</c> for short Weierstrass and <c>d</c> for Twisted Edwards curves.</summary>
910 <member name="F:System.Security.Cryptography.ECCurve.Cofactor">
911 <summary>The cofactor of the curve.</summary>
913 <member name="M:System.Security.Cryptography.ECCurve.CreateFromFriendlyName(System.String)">
914 <summary>Creates a named curve using the specified friendly name of the identifier.</summary>
915 <param name="oidFriendlyName">The friendly name of the identifier.</param>
916 <returns>An object representing the named curve.</returns>
917 <exception cref="T:System.ArgumentNullException">
918 <paramref name="oidFriendlyName" /> is <see langword="null" />.</exception>
920 <member name="M:System.Security.Cryptography.ECCurve.CreateFromOid(System.Security.Cryptography.Oid)">
921 <summary>Creates a named curve using the specified <see cref="T:System.Security.Cryptography.Oid" /> object.</summary>
922 <param name="curveOid">The object identifier to use.</param>
923 <returns>An object representing the named curve.</returns>
925 <member name="M:System.Security.Cryptography.ECCurve.CreateFromValue(System.String)">
926 <summary>Creates a named curve using the specified dotted-decimal representation of the identifier.</summary>
927 <param name="oidValue">The dotted number of the identifier.</param>
928 <returns>An object representing the named curve.</returns>
929 <exception cref="T:System.ArgumentNullException">
930 <paramref name="oidValue" /> is <see langword="null" />.</exception>
932 <member name="F:System.Security.Cryptography.ECCurve.CurveType">
933 <summary>Identifies the composition of the <see cref="T:System.Security.Cryptography.ECCurve" /> object.</summary>
935 <member name="T:System.Security.Cryptography.ECCurve.ECCurveType">
936 <summary>Indicates how to interpret the data contained in an <see cref="T:System.Security.Cryptography.ECCurve" /> object.</summary>
938 <member name="F:System.Security.Cryptography.ECCurve.ECCurveType.Characteristic2">
939 <summary>The curve parameters represent a characteristic 2 curve.</summary>
941 <member name="F:System.Security.Cryptography.ECCurve.ECCurveType.Implicit">
942 <summary>No curve data is interpreted. The caller is assumed to know what the curve is.</summary>
944 <member name="F:System.Security.Cryptography.ECCurve.ECCurveType.Named">
945 <summary>The curve parameters represent a named curve.</summary>
947 <member name="F:System.Security.Cryptography.ECCurve.ECCurveType.PrimeMontgomery">
948 <summary>The curve parameters represent a prime curve with the formula B*y^2 = x^3 + A*x^2 + x.</summary>
950 <member name="F:System.Security.Cryptography.ECCurve.ECCurveType.PrimeShortWeierstrass">
951 <summary>The curve parameters represent a prime curve with the formula y^2 = x^3 + A*x + B in the prime field P.</summary>
953 <member name="F:System.Security.Cryptography.ECCurve.ECCurveType.PrimeTwistedEdwards">
954 <summary>The curve parameters represent a prime curve with the formula A*x^2 + y^2 = 1 + B*x^2*y^2 in the prime field P.</summary>
956 <member name="F:System.Security.Cryptography.ECCurve.G">
957 <summary>The generator, or base point, for operations on the curve.</summary>
959 <member name="F:System.Security.Cryptography.ECCurve.Hash">
960 <summary>The name of the hash algorithm which was used to generate the curve coefficients (<see cref="F:System.Security.Cryptography.ECCurve.A" /> and <see cref="F:System.Security.Cryptography.ECCurve.B" />) from the <see cref="F:System.Security.Cryptography.ECCurve.Seed" /> under the ANSI X9.62 generation algorithm. Applies only to explicit curves.</summary>
962 <member name="P:System.Security.Cryptography.ECCurve.IsCharacteristic2">
963 <summary>Gets a value that indicates whether the curve type indicates an explicit characteristic 2 curve.</summary>
965 <see langword="true" /> if the curve is an explicit characteristic 2 curve; <see langword="false" /> if the curve is a named characteristic 2, prime, or implicit curve.</returns>
967 <member name="P:System.Security.Cryptography.ECCurve.IsExplicit">
968 <summary>Gets a value that indicates whether the curve type indicates an explicit curve (either prime or characteristic 2).</summary>
970 <see langword="true" /> if the curve is an explicit curve (either prime or characteristic 2); <see langword="false" /> if the curve is a named or implicit curve.</returns>
972 <member name="P:System.Security.Cryptography.ECCurve.IsNamed">
973 <summary>Gets a value that indicates whether the curve type indicates a named curve.</summary>
975 <see langword="true" /> if the curve is a named curve; <see langword="false" /> if the curve is an implicit or an explicit curve (either prime or characteristic 2).</returns>
977 <member name="P:System.Security.Cryptography.ECCurve.IsPrime">
978 <summary>Gets a value that indicates whether the curve type indicates an explicit prime curve.</summary>
980 <see langword="true" /> if the curve is an explicit prime curve; <see langword="false" /> if the curve is a named prime, characteristic 2 or implicit curves.</returns>
982 <member name="T:System.Security.Cryptography.ECCurve.NamedCurves">
983 <summary>Represents a factory class for creating named curves.</summary>
985 <member name="P:System.Security.Cryptography.ECCurve.NamedCurves.brainpoolP160r1">
986 <summary>Gets a brainpoolP160r1 named curve.</summary>
987 <returns>A brainpoolP160r1 named curve.</returns>
989 <member name="P:System.Security.Cryptography.ECCurve.NamedCurves.brainpoolP160t1">
990 <summary>Gets a brainpoolP160t1 named curve.</summary>
991 <returns>A brainpoolP160t1 named curve.</returns>
993 <member name="P:System.Security.Cryptography.ECCurve.NamedCurves.brainpoolP192r1">
994 <summary>Gets a brainpoolP192r1 named curve.</summary>
995 <returns>A brainpoolP192r1 named curve.</returns>
997 <member name="P:System.Security.Cryptography.ECCurve.NamedCurves.brainpoolP192t1">
998 <summary>Gets a brainpoolP192t1 named curve.</summary>
999 <returns>A brainpoolP192t1 named curve.</returns>
1001 <member name="P:System.Security.Cryptography.ECCurve.NamedCurves.brainpoolP224r1">
1002 <summary>Gets a brainpoolP224r1 named curve.</summary>
1003 <returns>A brainpoolP224r1 named curve.</returns>
1005 <member name="P:System.Security.Cryptography.ECCurve.NamedCurves.brainpoolP224t1">
1006 <summary>Gets a brainpoolP224t1 named curve.</summary>
1007 <returns>A brainpoolP224t1 named curve.</returns>
1009 <member name="P:System.Security.Cryptography.ECCurve.NamedCurves.brainpoolP256r1">
1010 <summary>Gets a brainpoolP256r1 named curve.</summary>
1011 <returns>A brainpoolP256r1 named curve.</returns>
1013 <member name="P:System.Security.Cryptography.ECCurve.NamedCurves.brainpoolP256t1">
1014 <summary>Gets a brainpoolP256t1 named curve.</summary>
1015 <returns>A brainpoolP256t1 named curve.</returns>
1017 <member name="P:System.Security.Cryptography.ECCurve.NamedCurves.brainpoolP320r1">
1018 <summary>Gets a brainpoolP320r1 named curve.</summary>
1019 <returns>A brainpoolP320r1 named curve.</returns>
1021 <member name="P:System.Security.Cryptography.ECCurve.NamedCurves.brainpoolP320t1">
1022 <summary>Gets a brainpoolP320t1 named curve.</summary>
1023 <returns>A brainpoolP320t1 named curve.</returns>
1025 <member name="P:System.Security.Cryptography.ECCurve.NamedCurves.brainpoolP384r1">
1026 <summary>Gets a brainpoolP384r1 named curve.</summary>
1027 <returns>A brainpoolP384r1 named curve.</returns>
1029 <member name="P:System.Security.Cryptography.ECCurve.NamedCurves.brainpoolP384t1">
1030 <summary>Gets a brainpoolP384t1 named curve.</summary>
1031 <returns>A brainpoolP384t1 named curve.</returns>
1033 <member name="P:System.Security.Cryptography.ECCurve.NamedCurves.brainpoolP512r1">
1034 <summary>Gets a brainpoolP512r1 named curve.</summary>
1035 <returns>A brainpoolP512r1 named curve.</returns>
1037 <member name="P:System.Security.Cryptography.ECCurve.NamedCurves.brainpoolP512t1">
1038 <summary>Gets a brainpoolP512t1 named curve.</summary>
1039 <returns>A brainpoolP512t1 named curve.</returns>
1041 <member name="P:System.Security.Cryptography.ECCurve.NamedCurves.nistP256">
1042 <summary>Gets a nistP256 named curve.</summary>
1043 <returns>A nistP256 named curve.</returns>
1045 <member name="P:System.Security.Cryptography.ECCurve.NamedCurves.nistP384">
1046 <summary>Gets a nistP384 named curve.</summary>
1047 <returns>A nistP384 named curve.</returns>
1049 <member name="P:System.Security.Cryptography.ECCurve.NamedCurves.nistP521">
1050 <summary>Gets a nistP521 named curve.</summary>
1051 <returns>A nistP521 named curve.</returns>
1053 <member name="P:System.Security.Cryptography.ECCurve.Oid">
1054 <summary>Gets the identifier of a named curve.</summary>
1055 <returns>The identifier of a named curve.</returns>
1057 <member name="F:System.Security.Cryptography.ECCurve.Order">
1058 <summary>The order of the curve. Applies only to explicit curves.</summary>
1060 <member name="F:System.Security.Cryptography.ECCurve.Polynomial">
1061 <summary>The curve polynomial. Applies only to characteristic 2 curves.</summary>
1063 <member name="F:System.Security.Cryptography.ECCurve.Prime">
1064 <summary>The prime specifying the base field. Applies only to prime curves.</summary>
1066 <member name="F:System.Security.Cryptography.ECCurve.Seed">
1067 <summary>The seed value for coefficient generation under the ANSI X9.62 generation algorithm. Applies only to explicit curves.</summary>
1069 <member name="M:System.Security.Cryptography.ECCurve.Validate">
1070 <summary>Validates the integrity of the current curve. Throws a <see cref="T:System.Security.Cryptography.CryptographicException" /> exception if the structure is not valid.</summary>
1071 <exception cref="T:System.Security.Cryptography.CryptographicException">The curve parameters are not valid for the current curve type.</exception>
1073 <member name="T:System.Security.Cryptography.ECDiffieHellman">
1074 <summary>Provides an abstract base class that Elliptic Curve Diffie-Hellman (ECDH) algorithm implementations can derive from. This class provides the basic set of operations that all ECDH implementations must support.</summary>
1076 <member name="M:System.Security.Cryptography.ECDiffieHellman.#ctor">
1077 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.ECDiffieHellman" /> class.</summary>
1079 <member name="M:System.Security.Cryptography.ECDiffieHellman.Create">
1080 <summary>Creates a new instance of the default implementation of the Elliptic Curve Diffie-Hellman (ECDH) algorithm.</summary>
1081 <returns>A new instance of the default implementation of this class.</returns>
1083 <member name="M:System.Security.Cryptography.ECDiffieHellman.Create(System.Security.Cryptography.ECCurve)">
1084 <summary>Creates a new instance of the default implementation of the Elliptic Curve Diffie-Hellman (ECDH) algorithm with a new public/private key-pair generated over the specified curve.</summary>
1085 <param name="curve">The curve to use to generate a new public/private key-pair.</param>
1086 <returns>A new instance of the default implementation of the Elliptic Curve Diffie-Hellman (ECDH) algorithm.</returns>
1087 <exception cref="T:System.Security.Cryptography.CryptographicException">
1088 <paramref name="curve" /> does not validate.</exception>
1090 <member name="M:System.Security.Cryptography.ECDiffieHellman.Create(System.Security.Cryptography.ECParameters)">
1091 <summary>Creates a new instance of the default implementation of the Elliptic Curve Diffie-Hellman (ECDH) algorithm with the key described by the specified <see cref="T:System.Security.Cryptography.ECParameters" /> object.</summary>
1092 <param name="parameters">The parameters for the elliptic curve cryptography (ECC) algorithm.</param>
1093 <returns>A new instance of the default implementation of the Elliptic Curve Diffie-Hellman (ECDH) algorithm.</returns>
1094 <exception cref="T:System.Security.Cryptography.CryptographicException">
1095 <paramref name="parameters" /> does not validate.</exception>
1097 <member name="M:System.Security.Cryptography.ECDiffieHellman.Create(System.String)">
1098 <summary>Creates a new instance of the specified implementation of the Elliptic Curve Diffie-Hellman (ECDH) algorithm.</summary>
1099 <param name="algorithm">The name of an implementation of the ECDH algorithm.</param>
1100 <returns>A new instance of the specified implementation of this class. If the specified algorithm name does not map to an ECDH implementation, this method returns <see langword="null" />.</returns>
1101 <exception cref="T:System.ArgumentNullException">The <paramref name="algorithm" /> parameter is <see langword="null" />.</exception>
1103 <member name="M:System.Security.Cryptography.ECDiffieHellman.DeriveKeyFromHash(System.Security.Cryptography.ECDiffieHellmanPublicKey,System.Security.Cryptography.HashAlgorithmName)">
1104 <summary>Derives bytes that can be used as a key using a hash function, given another party's public key and hash algorithm's name.</summary>
1105 <param name="otherPartyPublicKey">The other party's public key.</param>
1106 <param name="hashAlgorithm">The hash algorithm to use to derive the key material.</param>
1107 <returns>The key material from the key exchange with the other party's public key.</returns>
1108 <exception cref="T:System.ArgumentException">
1109 <paramref name="otherPartyPublicKey" /> is over a different curve than this key.</exception>
1111 <member name="M:System.Security.Cryptography.ECDiffieHellman.DeriveKeyFromHash(System.Security.Cryptography.ECDiffieHellmanPublicKey,System.Security.Cryptography.HashAlgorithmName,System.Byte[],System.Byte[])">
1112 <summary>When implemented in a derived class, derives bytes that can be used as a key using a hash function, given another party's public key, hash algorithm's name, a prepend value and an append value.</summary>
1113 <param name="otherPartyPublicKey">The other party's public key.</param>
1114 <param name="hashAlgorithm">The hash algorithm to use to derive the key material.</param>
1115 <param name="secretPrepend">A value to prepend to the derived secret before hashing.</param>
1116 <param name="secretAppend">A value to append to the derived secret before hashing.</param>
1117 <returns>The key material from the key exchange with the other party's public key.</returns>
1118 <exception cref="T:System.NotImplementedException">A derived class must override this method.</exception>
1119 <exception cref="T:System.ArgumentException">
1120 <paramref name="otherPartyPublicKey" /> is over a different curve than this key.</exception>
1122 <member name="M:System.Security.Cryptography.ECDiffieHellman.DeriveKeyFromHmac(System.Security.Cryptography.ECDiffieHellmanPublicKey,System.Security.Cryptography.HashAlgorithmName,System.Byte[])">
1123 <summary>Derives bytes that can be used as a key using a Hash-based Message Authentication Code (HMAC).</summary>
1124 <param name="otherPartyPublicKey">The other party's public key.</param>
1125 <param name="hashAlgorithm">The hash algorithm to use to derive the key material.</param>
1126 <param name="hmacKey">The key for the HMAC.</param>
1127 <returns>The key material from the key exchange with the other party's public key.</returns>
1128 <exception cref="T:System.ArgumentException">
1129 <paramref name="otherPartyPublicKey" /> is over a different curve than this key.</exception>
1131 <member name="M:System.Security.Cryptography.ECDiffieHellman.DeriveKeyFromHmac(System.Security.Cryptography.ECDiffieHellmanPublicKey,System.Security.Cryptography.HashAlgorithmName,System.Byte[],System.Byte[],System.Byte[])">
1132 <summary>When implemented in a derived class, derives bytes that can be used as a key using a Hash-based Message Authentication Code (HMAC).</summary>
1133 <param name="otherPartyPublicKey">The other party's public key.</param>
1134 <param name="hashAlgorithm">The hash algorithm to use to derive the key material.</param>
1135 <param name="hmacKey">The key for the HMAC.</param>
1136 <param name="secretPrepend">A value to prepend to the derived secret before hashing.</param>
1137 <param name="secretAppend">A value to append to the derived secret before hashing.</param>
1138 <returns>The key material from the key exchange with the other party's public key.</returns>
1139 <exception cref="T:System.NotImplementedException">A derived class must override this method.</exception>
1140 <exception cref="T:System.ArgumentException">
1141 <paramref name="otherPartyPublicKey" /> is over a different curve than this key.</exception>
1143 <member name="M:System.Security.Cryptography.ECDiffieHellman.DeriveKeyMaterial(System.Security.Cryptography.ECDiffieHellmanPublicKey)">
1144 <summary>Derives bytes that can be used as a key, given another party's public key.</summary>
1145 <param name="otherPartyPublicKey">The other party's public key.</param>
1146 <returns>The key material from the key exchange with the other party's public key.</returns>
1148 <member name="M:System.Security.Cryptography.ECDiffieHellman.DeriveKeyTls(System.Security.Cryptography.ECDiffieHellmanPublicKey,System.Byte[],System.Byte[])">
1149 <summary>When implemented in a derived class, derives bytes that can be used as a key using a Transport Layer Security (TLS) Pseudo-Random Function (PRF) derivation algorithm.</summary>
1150 <param name="otherPartyPublicKey">The other party's public key.</param>
1151 <param name="prfLabel">The ASCII-encoded PRF label.</param>
1152 <param name="prfSeed">The 64-byte PRF seed.</param>
1153 <returns>The key material from the key exchange with the other party's public key.</returns>
1154 <exception cref="T:System.NotImplementedException">A derived class must override this method.</exception>
1155 <exception cref="T:System.ArgumentException">
1156 <paramref name="otherPartyPublicKey" /> is over a different curve than this key.</exception>
1157 <exception cref="T:System.ArgumentNullException">
1158 <paramref name="prfLabel" /> or <paramref name="prfSeed" /> is <see langword="null" />.</exception>
1159 <exception cref="T:System.Security.Cryptography.CryptographicException">
1160 <paramref name="prfSeed" /> is not exactly 64 bytes in length.</exception>
1162 <member name="M:System.Security.Cryptography.ECDiffieHellman.ExportECPrivateKey">
1163 <summary>Exports the current key in the ECPrivateKey format.</summary>
1164 <returns>A byte array containing the ECPrivateKey representation of this key.</returns>
1165 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
1167 <member name="M:System.Security.Cryptography.ECDiffieHellman.ExportExplicitParameters(System.Boolean)">
1168 <summary>When overridden in a derived class, exports either the public or the public and private key information using the explicit curve form from a working <see cref="T:System.Security.Cryptography.ECDiffieHellman" /> key to an <see cref="T:System.Security.Cryptography.ECParameters" /> structure so that it can be passed to the <see cref="M:System.Security.Cryptography.ECDiffieHellman.ImportParameters(System.Security.Cryptography.ECParameters)" /> method.</summary>
1169 <param name="includePrivateParameters">
1170 <see langword="true" /> to include private parameters; otherwise, <see langword="false" />.</param>
1171 <returns>An object that represents the point on the curve for this key, using the explicit curve format.</returns>
1172 <exception cref="T:System.NotImplementedException">A derived class must override this method.</exception>
1174 <member name="M:System.Security.Cryptography.ECDiffieHellman.ExportParameters(System.Boolean)">
1175 <summary>When overridden in a derived class, exports either the public or the public and private key information from a working <see cref="T:System.Security.Cryptography.ECDiffieHellman" /> key to an <see cref="T:System.Security.Cryptography.ECParameters" /> structure so that it can be passed to the <see cref="M:System.Security.Cryptography.ECDiffieHellman.ImportParameters(System.Security.Cryptography.ECParameters)" /> method.</summary>
1176 <param name="includePrivateParameters">
1177 <see langword="true" /> to include private parameters; otherwise, <see langword="false" /> to include public parameters only.</param>
1178 <returns>An object that represents the point on the curve for this key. It can be passed to the <see cref="M:System.Security.Cryptography.ECDiffieHellman.ImportParameters(System.Security.Cryptography.ECParameters)" /> method.</returns>
1179 <exception cref="T:System.NotImplementedException">A derived class must override this method.</exception>
1181 <member name="M:System.Security.Cryptography.ECDiffieHellman.FromXmlString(System.String)">
1182 <summary>This method throws in all cases.</summary>
1183 <param name="xmlString">The XML string to use to reconstruct the <see cref="T:System.Security.Cryptography.AsymmetricAlgorithm" /> object.</param>
1184 <exception cref="T:System.NotImplementedException">In all cases.</exception>
1186 <member name="M:System.Security.Cryptography.ECDiffieHellman.GenerateKey(System.Security.Cryptography.ECCurve)">
1187 <summary>When overridden in a derived class, generates a new ephemeral public/private key pair for the specified curve.</summary>
1188 <param name="curve">The curve used to generate an ephemeral public/private key pair.</param>
1189 <exception cref="T:System.Security.Cryptography.CryptographicException">
1190 <paramref name="curve" /> does not validate.</exception>
1191 <exception cref="T:System.NotImplementedException">A derived class must override this method.</exception>
1193 <member name="M:System.Security.Cryptography.ECDiffieHellman.ImportECPrivateKey(System.ReadOnlySpan{System.Byte},System.Int32@)">
1194 <summary>Imports the public/private keypair from an ECPrivateKey structure, replacing the keys for this object.</summary>
1195 <param name="source">The bytes of an ECPrivateKey structure in the ASN.1-BER encoding.</param>
1196 <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
1197 <exception cref="T:System.Security.Cryptography.CryptographicException">The contents of <paramref name="source" /> do not represent an ASN.1-BER-encoded PKCS#8 ECPrivateKey structure.
1199 The key import failed.</exception>
1201 <member name="M:System.Security.Cryptography.ECDiffieHellman.ImportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Int32@)">
1202 <summary>Imports the public/private keypair from a PKCS#8 EncryptedPrivateKeyInfo structure after decrypting with a byte-based password, replacing the keys for this object.</summary>
1203 <param name="passwordBytes">The bytes to use as a password when decrypting the key material.</param>
1204 <param name="source">The bytes of a PKCS#8 EncryptedPrivateKeyInfo structure in the ASN.1-BER encoding.</param>
1205 <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
1206 <exception cref="T:System.Security.Cryptography.CryptographicException">The password is incorrect.
1208 The contents of <paramref name="source" /> indicate the Key Derivation Function (KDF) to apply is the legacy PKCS#12 KDF, which requires <see cref="T:System.Char" />-based passwords.
1210 The contents of <paramref name="source" /> do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
1212 The contents of <paramref name="source" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
1214 The contents of <paramref name="source" /> represent the key in a format that is not supported.
1216 The algorithm-specific key import failed.</exception>
1218 <member name="M:System.Security.Cryptography.ECDiffieHellman.ImportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Byte},System.Int32@)">
1219 <summary>Imports the public/private keypair from a PKCS#8 EncryptedPrivateKeyInfo structure after decrypting with a char-based password, replacing the keys for this object.</summary>
1220 <param name="password">The password to use for decrypting the key material.</param>
1221 <param name="source">The bytes of a PKCS#8 EncryptedPrivateKeyInfo structure in the ASN.1-BER encoding.</param>
1222 <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
1223 <exception cref="T:System.Security.Cryptography.CryptographicException">The password is incorrect.
1225 The contents of <paramref name="source" /> do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
1227 The contents of <paramref name="source" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
1229 The contents of <paramref name="source" /> represent the key in a format that is not supported.
1231 The algorithm-specific key import failed.</exception>
1233 <member name="M:System.Security.Cryptography.ECDiffieHellman.ImportParameters(System.Security.Cryptography.ECParameters)">
1234 <summary>When overridden in a derived class, imports the specified parameters for an <see cref="T:System.Security.Cryptography.ECCurve" /> as an ephemeral key into the current <see cref="T:System.Security.Cryptography.ECDiffieHellman" /> object.</summary>
1235 <param name="parameters">The curve's parameters to import.</param>
1236 <exception cref="T:System.Security.Cryptography.CryptographicException">
1237 <paramref name="parameters" /> does not validate.</exception>
1238 <exception cref="T:System.NotImplementedException">A derived class must override this method.</exception>
1240 <member name="M:System.Security.Cryptography.ECDiffieHellman.ImportPkcs8PrivateKey(System.ReadOnlySpan{System.Byte},System.Int32@)">
1241 <summary>Imports the public/private keypair from a PKCS#8 PrivateKeyInfo structure after decryption, replacing the keys for this object.</summary>
1242 <param name="source">The bytes of a PKCS#8 PrivateKeyInfo structure in the ASN.1-BER encoding.</param>
1243 <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
1244 <exception cref="T:System.Security.Cryptography.CryptographicException">The contents of <paramref name="source" /> do not represent an ASN.1-BER-encoded PKCS#8 PrivateKeyInfo structure.
1246 The contents of <paramref name="source" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
1248 The contents of <paramref name="source" /> represent the key in a format that is not supported.
1250 The algorithm-specific key import failed.</exception>
1252 <member name="M:System.Security.Cryptography.ECDiffieHellman.ImportSubjectPublicKeyInfo(System.ReadOnlySpan{System.Byte},System.Int32@)">
1253 <summary>Imports the public key from an X.509 SubjectPublicKeyInfo structure after decryption, replacing the keys for this object.</summary>
1254 <param name="source">The bytes of an X.509 SubjectPublicKeyInfo structure in the ASN.1-DER encoding.</param>
1255 <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
1256 <exception cref="T:System.Security.Cryptography.CryptographicException">The contents of <paramref name="source" /> do not represent an ASN.1-DER-encoded X.509 SubjectPublicKeyInfo structure.
1258 The contents of <paramref name="source" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
1260 The contents of <paramref name="source" /> represent the key in a format that is not supported.
1262 The algorithm-specific key import failed.</exception>
1264 <member name="P:System.Security.Cryptography.ECDiffieHellman.KeyExchangeAlgorithm">
1265 <summary>Gets the name of the key exchange algorithm.</summary>
1266 <returns>The name of the key exchange algorithm.</returns>
1268 <member name="P:System.Security.Cryptography.ECDiffieHellman.PublicKey">
1269 <summary>Gets the public key that is being used by the current Elliptic Curve Diffie-Hellman (ECDH) instance.</summary>
1270 <returns>The public part of the ECDH key pair that is being used by this <see cref="T:System.Security.Cryptography.ECDiffieHellman" /> instance.</returns>
1272 <member name="P:System.Security.Cryptography.ECDiffieHellman.SignatureAlgorithm">
1273 <summary>Gets the name of the signature algorithm.</summary>
1274 <returns>Always <see langword="null" />.</returns>
1276 <member name="M:System.Security.Cryptography.ECDiffieHellman.ToXmlString(System.Boolean)">
1277 <summary>This method throws in all cases.</summary>
1278 <param name="includePrivateParameters">
1279 <see langword="true" /> to include private parameters; otherwise, <see langword="false" />.</param>
1280 <returns>This method does not return a value.</returns>
1281 <exception cref="T:System.NotImplementedException">In all cases.</exception>
1283 <member name="M:System.Security.Cryptography.ECDiffieHellman.TryExportECPrivateKey(System.Span{System.Byte},System.Int32@)">
1284 <summary>Attempts to export the current key in the ECPrivateKey format into a provided buffer.</summary>
1285 <param name="destination">The byte span to receive the ECPrivateKey data.</param>
1286 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
1288 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
1289 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
1291 <member name="M:System.Security.Cryptography.ECDiffieHellman.TryExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Byte},System.Security.Cryptography.PbeParameters,System.Span{System.Byte},System.Int32@)">
1292 <summary>Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer, using a byte-based password.</summary>
1293 <param name="passwordBytes">The bytes to use as a password when encrypting the key material.</param>
1294 <param name="pbeParameters">The password-based encryption (PBE) parameters to use when encrypting the key material.</param>
1295 <param name="destination">The byte span to receive the PKCS#8 EncryptedPrivateKeyInfo data.</param>
1296 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
1298 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
1299 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.
1301 <paramref name="pbeParameters" /> indicates that <see cref="F:System.Security.Cryptography.PbeEncryptionAlgorithm.TripleDes3KeyPkcs12" /> should be used, which requires <see cref="T:System.Char" />-based passwords.</exception>
1303 <member name="M:System.Security.Cryptography.ECDiffieHellman.TryExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Char},System.Security.Cryptography.PbeParameters,System.Span{System.Byte},System.Int32@)">
1304 <summary>Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer, using a char-based password.</summary>
1305 <param name="password">The password to use when encrypting the key material.</param>
1306 <param name="pbeParameters">The password-based encryption (PBE) parameters to use when encrypting the key material.</param>
1307 <param name="destination">The byte span to receive the PKCS#8 EncryptedPrivateKeyInfo data.</param>
1308 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
1310 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
1311 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
1313 <member name="M:System.Security.Cryptography.ECDiffieHellman.TryExportPkcs8PrivateKey(System.Span{System.Byte},System.Int32@)">
1314 <summary>Attempts to export the current key in the PKCS#8 PrivateKeyInfo format into a provided buffer.</summary>
1315 <param name="destination">The byte span to receive the PKCS#8 PrivateKeyInfo data.</param>
1316 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
1318 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
1319 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
1321 <member name="M:System.Security.Cryptography.ECDiffieHellman.TryExportSubjectPublicKeyInfo(System.Span{System.Byte},System.Int32@)">
1322 <summary>Attempts to export the current key in the X.509 SubjectPublicKeyInfo format into a provided buffer.</summary>
1323 <param name="destination">The byte span to receive the X.509 SubjectPublicKeyInfo data.</param>
1324 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
1326 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
1327 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
1329 <member name="T:System.Security.Cryptography.ECDiffieHellmanPublicKey">
1330 <summary>Provides an abstract base class from which all <see cref="T:System.Security.Cryptography.ECDiffieHellmanCngPublicKey" /> implementations must inherit.</summary>
1332 <member name="M:System.Security.Cryptography.ECDiffieHellmanPublicKey.#ctor">
1333 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.ECDiffieHellmanPublicKey" /> class.</summary>
1335 <member name="M:System.Security.Cryptography.ECDiffieHellmanPublicKey.#ctor(System.Byte[])">
1336 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.ECDiffieHellmanPublicKey" /> class.</summary>
1337 <param name="keyBlob">A byte array that represents an <see cref="T:System.Security.Cryptography.ECDiffieHellmanPublicKey" /> object.</param>
1338 <exception cref="T:System.ArgumentNullException">
1339 <paramref name="keyBlob" /> is <see langword="null" />.</exception>
1341 <member name="M:System.Security.Cryptography.ECDiffieHellmanPublicKey.Dispose">
1342 <summary>Releases all resources used by the current instance of the <see cref="T:System.Security.Cryptography.ECDiffieHellman" /> class.</summary>
1344 <member name="M:System.Security.Cryptography.ECDiffieHellmanPublicKey.Dispose(System.Boolean)">
1345 <summary>Releases the unmanaged resources used by the <see cref="T:System.Security.Cryptography.ECDiffieHellman" /> class and optionally releases the managed resources.</summary>
1346 <param name="disposing">
1347 <see langword="true" /> to release both managed and unmanaged resources; <see langword="false" /> to release only unmanaged resources.</param>
1349 <member name="M:System.Security.Cryptography.ECDiffieHellmanPublicKey.ExportExplicitParameters">
1350 <summary>When overridden in a derived class, exports the explicit <see cref="T:System.Security.Cryptography.ECParameters" /> for an <see cref="T:System.Security.Cryptography.ECCurve" /> object.</summary>
1351 <returns>An object that represents the point on the curve for this key, using the explicit curve format.</returns>
1352 <exception cref="T:System.NotSupportedException">A derived class must override this method.</exception>
1354 <member name="M:System.Security.Cryptography.ECDiffieHellmanPublicKey.ExportParameters">
1355 <summary>When overridden in a derived class, exports the named or explicit <see cref="T:System.Security.Cryptography.ECParameters" /> for an <see cref="T:System.Security.Cryptography.ECCurve" /> object.</summary>
1356 <returns>An object that represents the point on the curve for this key.</returns>
1357 <exception cref="T:System.NotSupportedException">A derived class must override this method.</exception>
1359 <member name="M:System.Security.Cryptography.ECDiffieHellmanPublicKey.ToByteArray">
1360 <summary>Serializes the <see cref="T:System.Security.Cryptography.ECDiffieHellmanPublicKey" /> key BLOB to a byte array.</summary>
1361 <returns>A byte array that contains the serialized Elliptic Curve Diffie-Hellman (ECDH) public key.</returns>
1363 <member name="M:System.Security.Cryptography.ECDiffieHellmanPublicKey.ToXmlString">
1364 <summary>Serializes the <see cref="T:System.Security.Cryptography.ECDiffieHellmanPublicKey" /> public key to an XML string.</summary>
1365 <returns>An XML string that contains the serialized Elliptic Curve Diffie-Hellman (ECDH) public key.</returns>
1367 <member name="T:System.Security.Cryptography.ECDsa">
1368 <summary>Provides an abstract base class that encapsulates the Elliptic Curve Digital Signature Algorithm (ECDSA).</summary>
1370 <member name="M:System.Security.Cryptography.ECDsa.#ctor">
1371 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.ECDsa" /> class.</summary>
1373 <member name="M:System.Security.Cryptography.ECDsa.Create">
1374 <summary>Creates a new instance of the default implementation of the Elliptic Curve Digital Signature Algorithm (ECDSA).</summary>
1375 <returns>A new instance of the default implementation (<see cref="T:System.Security.Cryptography.ECDsaCng" />) of this class.</returns>
1377 <member name="M:System.Security.Cryptography.ECDsa.Create(System.Security.Cryptography.ECCurve)">
1378 <summary>Creates a new instance of the default implementation of the Elliptic Curve Digital Signature Algorithm (ECDSA) with a newly generated key over the specified curve.</summary>
1379 <param name="curve">The curve to use for key generation.</param>
1380 <returns>A new instance of the default implementation (<see cref="T:System.Security.Cryptography.ECDsaCng" />) of this class.</returns>
1382 <member name="M:System.Security.Cryptography.ECDsa.Create(System.Security.Cryptography.ECParameters)">
1383 <summary>Creates a new instance of the default implementation of the Elliptic Curve Digital Signature Algorithm (ECDSA) using the specified parameters as the key.</summary>
1384 <param name="parameters">The parameters representing the key to use.</param>
1385 <returns>A new instance of the default implementation (<see cref="T:System.Security.Cryptography.ECDsaCng" />) of this class.</returns>
1387 <member name="M:System.Security.Cryptography.ECDsa.Create(System.String)">
1388 <summary>Creates a new instance of the specified implementation of the Elliptic Curve Digital Signature Algorithm (ECDSA).</summary>
1389 <param name="algorithm">The name of an ECDSA implementation. The following strings all refer to the same implementation, which is the only implementation currently supported in the .NET Framework:
1392 - "System.Security.Cryptography.ECDsaCng"
1393 You can also provide the name of a custom ECDSA implementation.</param>
1394 <returns>A new instance of the specified implementation of this class. If the specified algorithm name does not map to an ECDSA implementation, this method returns <see langword="null" />.</returns>
1395 <exception cref="T:System.ArgumentNullException">The <paramref name="algorithm" /> parameter is <see langword="null" />.</exception>
1397 <member name="M:System.Security.Cryptography.ECDsa.ExportECPrivateKey">
1398 <summary>Exports the current key in the ECPrivateKey format.</summary>
1399 <returns>A byte array containing the ECPrivateKey representation of this key.</returns>
1400 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
1402 <member name="M:System.Security.Cryptography.ECDsa.ExportExplicitParameters(System.Boolean)">
1403 <summary>When overridden in a derived class, exports the explicit parameters for an elliptic curve.</summary>
1404 <param name="includePrivateParameters">
1405 <see langword="true" /> to include private parameters; otherwise, <see langword="false" />.</param>
1406 <returns>The parameters representing the point on the curve for this key, using the explicit curve format.</returns>
1407 <exception cref="T:System.NotSupportedException">A derived class must override this method.</exception>
1409 <member name="M:System.Security.Cryptography.ECDsa.ExportParameters(System.Boolean)">
1410 <summary>When overridden in a derived class, exports the named or explicit parameters for an elliptic curve. If the curve has a name, the <see cref="F:System.Security.Cryptography.ECParameters.Curve" /> field contains named curve parameters, otherwise it contains explicit parameters.</summary>
1411 <param name="includePrivateParameters">
1412 <see langword="true" /> to include private parameters; otherwise, <see langword="false" />.</param>
1413 <returns>The parameters representing the point on the curve for this key.</returns>
1414 <exception cref="T:System.NotSupportedException">A derived class must override this method.</exception>
1416 <member name="M:System.Security.Cryptography.ECDsa.FromXmlString(System.String)">
1417 <summary>This method throws in all cases.</summary>
1418 <param name="xmlString">The XML string to use to reconstruct the <see cref="T:System.Security.Cryptography.AsymmetricAlgorithm" /> object.</param>
1419 <exception cref="T:System.NotImplementedException">In all cases.</exception>
1421 <member name="M:System.Security.Cryptography.ECDsa.GenerateKey(System.Security.Cryptography.ECCurve)">
1422 <summary>When overridden in a derived class, generates a new public/private key pair for the specified curve.</summary>
1423 <param name="curve">The curve to use.</param>
1424 <exception cref="T:System.NotSupportedException">A derived class must override this method.</exception>
1426 <member name="M:System.Security.Cryptography.ECDsa.HashData(System.Byte[],System.Int32,System.Int32,System.Security.Cryptography.HashAlgorithmName)">
1427 <summary>When overridden in a derived class, computes the hash value of the specified portion of a byte array by using the specified hashing algorithm.</summary>
1428 <param name="data">The data to be hashed.</param>
1429 <param name="offset">The index of the first byte in <paramref name="data" /> to be hashed.</param>
1430 <param name="count">The number of bytes to hash.</param>
1431 <param name="hashAlgorithm">The algorithm to use to hash the data.</param>
1432 <returns>The hashed data.</returns>
1433 <exception cref="T:System.NotImplementedException">A derived class must override this method.</exception>
1435 <member name="M:System.Security.Cryptography.ECDsa.HashData(System.IO.Stream,System.Security.Cryptography.HashAlgorithmName)">
1436 <summary>When overridden in a derived class, computes the hash value of the specified binary stream by using the specified hashing algorithm.</summary>
1437 <param name="data">The binary stream to hash.</param>
1438 <param name="hashAlgorithm">The algorithm to use to hash the data.</param>
1439 <returns>The hashed data.</returns>
1440 <exception cref="T:System.NotImplementedException">A derived class must override this method.</exception>
1442 <member name="M:System.Security.Cryptography.ECDsa.ImportECPrivateKey(System.ReadOnlySpan{System.Byte},System.Int32@)">
1443 <summary>Imports the public/private keypair from an ECPrivateKey structure, replacing the keys for this object.</summary>
1444 <param name="source">The bytes of an ECPrivateKey structure in the ASN.1-BER encoding.</param>
1445 <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
1446 <exception cref="T:System.Security.Cryptography.CryptographicException">The contents of <paramref name="source" /> do not represent an ASN.1-BER-encoded PKCS#8 ECPrivateKey structure.
1448 The key import failed.</exception>
1450 <member name="M:System.Security.Cryptography.ECDsa.ImportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Int32@)">
1451 <summary>Imports the public/private keypair from a PKCS#8 EncryptedPrivateKeyInfo structure after decrypting with a byte-based password, replacing the keys for this object.</summary>
1452 <param name="passwordBytes">The bytes to use as a password when decrypting the key material.</param>
1453 <param name="source">The bytes of a PKCS#8 EncryptedPrivateKeyInfo structure in the ASN.1-BER encoding.</param>
1454 <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
1455 <exception cref="T:System.Security.Cryptography.CryptographicException">The password is incorrect.
1457 The contents of <paramref name="source" /> indicate the Key Derivation Function (KDF) to apply is the legacy PKCS#12 KDF, which requires <see cref="T:System.Char" />-based passwords.
1459 The contents of <paramref name="source" /> do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
1461 The contents of <paramref name="source" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
1463 The contents of <paramref name="source" /> represent the key in a format that is not supported.
1465 The algorithm-specific key import failed.</exception>
1467 <member name="M:System.Security.Cryptography.ECDsa.ImportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Byte},System.Int32@)">
1468 <summary>Imports the public/private keypair from a PKCS#8 EncryptedPrivateKeyInfo structure after decrypting with a char-based password, replacing the keys for this object.</summary>
1469 <param name="password">The password to use for decrypting the key material.</param>
1470 <param name="source">The bytes of a PKCS#8 EncryptedPrivateKeyInfo structure in the ASN.1-BER encoding.</param>
1471 <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
1472 <exception cref="T:System.Security.Cryptography.CryptographicException">The password is incorrect.
1474 The contents of <paramref name="source" /> do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
1476 The contents of <paramref name="source" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
1478 The contents of <paramref name="source" /> represent the key in a format that is not supported.
1480 The algorithm-specific key import failed.</exception>
1482 <member name="M:System.Security.Cryptography.ECDsa.ImportParameters(System.Security.Cryptography.ECParameters)">
1483 <summary>When overridden in a derived class, imports the specified parameters.</summary>
1484 <param name="parameters">The curve parameters.</param>
1485 <exception cref="T:System.NotSupportedException">A derived class must override this method.</exception>
1487 <member name="M:System.Security.Cryptography.ECDsa.ImportPkcs8PrivateKey(System.ReadOnlySpan{System.Byte},System.Int32@)">
1488 <summary>Imports the public/private keypair from a PKCS#8 PrivateKeyInfo structure after decryption, replacing the keys for this object.</summary>
1489 <param name="source">The bytes of a PKCS#8 PrivateKeyInfo structure in the ASN.1-BER encoding.</param>
1490 <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
1491 <exception cref="T:System.Security.Cryptography.CryptographicException">The contents of <paramref name="source" /> do not represent an ASN.1-BER-encoded PKCS#8 PrivateKeyInfo structure.
1493 The contents of <paramref name="source" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
1495 The contents of <paramref name="source" /> represent the key in a format that is not supported.
1497 The algorithm-specific key import failed.</exception>
1499 <member name="M:System.Security.Cryptography.ECDsa.ImportSubjectPublicKeyInfo(System.ReadOnlySpan{System.Byte},System.Int32@)">
1500 <summary>Imports the public key from an X.509 SubjectPublicKeyInfo structure after decryption, replacing the keys for this object.</summary>
1501 <param name="source">The bytes of an X.509 SubjectPublicKeyInfo structure in the ASN.1-DER encoding.</param>
1502 <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
1503 <exception cref="T:System.Security.Cryptography.CryptographicException">The contents of <paramref name="source" /> do not represent an ASN.1-DER-encoded X.509 SubjectPublicKeyInfo structure.
1505 The contents of <paramref name="source" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
1507 The contents of <paramref name="source" /> represent the key in a format that is not supported.
1509 The algorithm-specific key import failed.</exception>
1511 <member name="P:System.Security.Cryptography.ECDsa.KeyExchangeAlgorithm">
1512 <summary>Gets the name of the key exchange algorithm.</summary>
1513 <returns>Always <see langword="null" />.</returns>
1515 <member name="P:System.Security.Cryptography.ECDsa.SignatureAlgorithm">
1516 <summary>Gets the name of the signature algorithm.</summary>
1517 <returns>The string "ECDsa".</returns>
1519 <member name="M:System.Security.Cryptography.ECDsa.SignData(System.Byte[],System.Int32,System.Int32,System.Security.Cryptography.HashAlgorithmName)">
1520 <summary>Computes the hash value of a portion of the specified byte array using the specified hash algorithm and signs the resulting hash value.</summary>
1521 <param name="data">The input data for which to compute the hash.</param>
1522 <param name="offset">The offset into the array at which to begin using data.</param>
1523 <param name="count">The number of bytes in the array to use as data.</param>
1524 <param name="hashAlgorithm">The hash algorithm to use to create the hash value.</param>
1525 <returns>The ECDSA signature for the specified data.</returns>
1526 <exception cref="T:System.ArgumentNullException">
1527 <paramref name="data" /> is <see langword="null" />.</exception>
1528 <exception cref="T:System.ArgumentException">
1529 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
1530 <exception cref="T:System.ArgumentOutOfRangeException">
1531 <paramref name="offset" /> is less than zero.
1533 <paramref name="count" /> is less than zero.
1535 <paramref name="offset" /> + <paramref name="count" /> - 1 results in an index that is beyond the upper bound of <paramref name="data" />.</exception>
1537 <member name="M:System.Security.Cryptography.ECDsa.SignData(System.Byte[],System.Security.Cryptography.HashAlgorithmName)">
1538 <summary>Computes the hash value of the specified byte array using the specified hash algorithm and signs the resulting hash value.</summary>
1539 <param name="data">The input data for which to compute the hash.</param>
1540 <param name="hashAlgorithm">The hash algorithm to use to create the hash value.</param>
1541 <returns>The ECDSA signature for the specified data.</returns>
1542 <exception cref="T:System.ArgumentNullException">
1543 <paramref name="data" /> is <see langword="null" />.</exception>
1544 <exception cref="T:System.ArgumentException">
1545 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
1547 <member name="M:System.Security.Cryptography.ECDsa.SignData(System.IO.Stream,System.Security.Cryptography.HashAlgorithmName)">
1548 <summary>Computes the hash value of the specified stream using the specified hash algorithm and signs the resulting hash value.</summary>
1549 <param name="data">The input stream for which to compute the hash.</param>
1550 <param name="hashAlgorithm">The hash algorithm to use to create the hash value.</param>
1551 <returns>The ECDSA signature for the specified data.</returns>
1552 <exception cref="T:System.ArgumentNullException">
1553 <paramref name="data" /> is <see langword="null" />.</exception>
1554 <exception cref="T:System.ArgumentException">
1555 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
1557 <member name="M:System.Security.Cryptography.ECDsa.SignHash(System.Byte[])">
1558 <summary>Generates a digital signature for the specified hash value.</summary>
1559 <param name="hash">The hash value of the data that is being signed.</param>
1560 <returns>A digital signature that consists of the given hash value encrypted with the private key.</returns>
1561 <exception cref="T:System.ArgumentNullException">The <paramref name="hash" /> parameter is <see langword="null" />.</exception>
1563 <member name="M:System.Security.Cryptography.ECDsa.ToXmlString(System.Boolean)">
1564 <summary>This method throws in all cases.</summary>
1565 <param name="includePrivateParameters">
1566 <see langword="true" /> to include private parameters; otherwise, <see langword="false" />.</param>
1567 <returns>This method does not return a value.</returns>
1568 <exception cref="T:System.NotImplementedException">In all cases.</exception>
1570 <member name="M:System.Security.Cryptography.ECDsa.TryExportECPrivateKey(System.Span{System.Byte},System.Int32@)">
1571 <summary>Attempts to export the current key in the ECPrivateKey format into a provided buffer.</summary>
1572 <param name="destination">The byte span to receive the ECPrivateKey data.</param>
1573 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
1575 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
1576 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
1578 <member name="M:System.Security.Cryptography.ECDsa.TryExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Byte},System.Security.Cryptography.PbeParameters,System.Span{System.Byte},System.Int32@)">
1579 <summary>Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer, using a byte-based password.</summary>
1580 <param name="passwordBytes">The bytes to use as a password when encrypting the key material.</param>
1581 <param name="pbeParameters">The password-based encryption (PBE) parameters to use when encrypting the key material.</param>
1582 <param name="destination">The byte span to receive the PKCS#8 EncryptedPrivateKeyInfo data.</param>
1583 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
1585 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
1586 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.
1588 <paramref name="pbeParameters" /> indicates that <see cref="F:System.Security.Cryptography.PbeEncryptionAlgorithm.TripleDes3KeyPkcs12" /> should be used, which requires <see cref="T:System.Char" />-based passwords.</exception>
1590 <member name="M:System.Security.Cryptography.ECDsa.TryExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Char},System.Security.Cryptography.PbeParameters,System.Span{System.Byte},System.Int32@)">
1591 <summary>Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer, using a char-based password.</summary>
1592 <param name="password">The password to use when encrypting the key material.</param>
1593 <param name="pbeParameters">The password-based encryption (PBE) parameters to use when encrypting the key material.</param>
1594 <param name="destination">The byte span to receive the PKCS#8 EncryptedPrivateKeyInfo data.</param>
1595 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
1597 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
1598 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
1600 <member name="M:System.Security.Cryptography.ECDsa.TryExportPkcs8PrivateKey(System.Span{System.Byte},System.Int32@)">
1601 <summary>Attempts to export the current key in the PKCS#8 PrivateKeyInfo format into a provided buffer.</summary>
1602 <param name="destination">The byte span to receive the PKCS#8 PrivateKeyInfo data.</param>
1603 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
1605 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
1606 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
1608 <member name="M:System.Security.Cryptography.ECDsa.TryExportSubjectPublicKeyInfo(System.Span{System.Byte},System.Int32@)">
1609 <summary>Attempts to export the current key in the X.509 SubjectPublicKeyInfo format into a provided buffer.</summary>
1610 <param name="destination">The byte span to receive the X.509 SubjectPublicKeyInfo data.</param>
1611 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
1613 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
1614 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
1616 <member name="M:System.Security.Cryptography.ECDsa.TryHashData(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Security.Cryptography.HashAlgorithmName,System.Int32@)">
1617 <param name="data" />
1618 <param name="destination" />
1619 <param name="hashAlgorithm" />
1620 <param name="bytesWritten" />
1622 <member name="M:System.Security.Cryptography.ECDsa.TrySignData(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Security.Cryptography.HashAlgorithmName,System.Int32@)">
1623 <param name="data" />
1624 <param name="destination" />
1625 <param name="hashAlgorithm" />
1626 <param name="bytesWritten" />
1628 <member name="M:System.Security.Cryptography.ECDsa.TrySignHash(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Int32@)">
1629 <param name="hash" />
1630 <param name="destination" />
1631 <param name="bytesWritten" />
1633 <member name="M:System.Security.Cryptography.ECDsa.VerifyData(System.Byte[],System.Byte[],System.Security.Cryptography.HashAlgorithmName)">
1634 <summary>Verifies that a digital signature is valid by calculating the hash value of the specified data using the specified hash algorithm and comparing it to the provided signature.</summary>
1635 <param name="data">The signed data.</param>
1636 <param name="signature">The signature data to be verified.</param>
1637 <param name="hashAlgorithm">The hash algorithm used to create the hash value of the data.</param>
1639 <see langword="true" /> if the signature is valid; otherwise, <see langword="false" />.</returns>
1640 <exception cref="T:System.ArgumentNullException">
1641 <paramref name="data" /> is <see langword="null" />.
1643 <paramref name="signature" /> is <see langword="null" />.</exception>
1644 <exception cref="T:System.ArgumentException">
1645 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
1647 <member name="M:System.Security.Cryptography.ECDsa.VerifyData(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Security.Cryptography.HashAlgorithmName)">
1648 <summary>Verifies that a digital signature is valid by calculating the hash value of the data in a portion of a byte array using the specified hash algorithm and comparing it to the provided signature.</summary>
1649 <param name="data">The signed data.</param>
1650 <param name="offset">The starting index at which to compute the hash.</param>
1651 <param name="count">The number of bytes to hash.</param>
1652 <param name="signature">The signature data to be verified.</param>
1653 <param name="hashAlgorithm">The hash algorithm used to create the hash value of the data.</param>
1655 <see langword="true" /> if the signature is valid; otherwise, <see langword="false" />.</returns>
1656 <exception cref="T:System.ArgumentNullException">
1657 <paramref name="data" /> is <see langword="null" />.
1659 <paramref name="signature" /> is <see langword="null" />.</exception>
1660 <exception cref="T:System.ArgumentException">
1661 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
1662 <exception cref="T:System.ArgumentOutOfRangeException">
1663 <paramref name="offset" /> is less than zero.
1665 <paramref name="count" /> is less than zero.
1667 <paramref name="offset" /> + <paramref name="count" /> - 1 results in an index that is beyond the upper bound of <paramref name="data" />.</exception>
1669 <member name="M:System.Security.Cryptography.ECDsa.VerifyData(System.IO.Stream,System.Byte[],System.Security.Cryptography.HashAlgorithmName)">
1670 <summary>Verifies that a digital signature is valid by calculating the hash value of the specified stream using the specified hash algorithm and comparing it to the provided signature.</summary>
1671 <param name="data">The signed data.</param>
1672 <param name="signature">The signature data to be verified.</param>
1673 <param name="hashAlgorithm">The hash algorithm used to create the hash value of the data.</param>
1675 <see langword="true" /> if the signature is valid; otherwise, <see langword="false" />.</returns>
1676 <exception cref="T:System.ArgumentNullException">
1677 <paramref name="data" /> is <see langword="null" />.
1679 <paramref name="signature" /> is <see langword="null" />.</exception>
1680 <exception cref="T:System.ArgumentException">
1681 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
1683 <member name="M:System.Security.Cryptography.ECDsa.VerifyData(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Security.Cryptography.HashAlgorithmName)">
1684 <param name="data" />
1685 <param name="signature" />
1686 <param name="hashAlgorithm" />
1688 <member name="M:System.Security.Cryptography.ECDsa.VerifyHash(System.Byte[],System.Byte[])">
1689 <summary>Verifies a digital signature against the specified hash value.</summary>
1690 <param name="hash">The hash value of a block of data.</param>
1691 <param name="signature">The digital signature to be verified.</param>
1693 <see langword="true" /> if the hash value equals the decrypted signature; otherwise, <see langword="false" />.</returns>
1695 <member name="M:System.Security.Cryptography.ECDsa.VerifyHash(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
1696 <param name="hash" />
1697 <param name="signature" />
1699 <member name="T:System.Security.Cryptography.ECParameters">
1700 <summary>Represents the standard parameters for the elliptic curve cryptography (ECC) algorithm.</summary>
1702 <member name="F:System.Security.Cryptography.ECParameters.Curve">
1703 <summary>Represents the curve associated with the public key (<see cref="F:System.Security.Cryptography.ECParameters.Q" />) and the optional private key (<see cref="F:System.Security.Cryptography.ECParameters.D" />).</summary>
1705 <member name="F:System.Security.Cryptography.ECParameters.D">
1706 <summary>Represents the private key <see langword="D" /> for the elliptic curve cryptography (ECC) algorithm, stored in big-endian format.</summary>
1708 <member name="F:System.Security.Cryptography.ECParameters.Q">
1709 <summary>Represents the public key <see langword="Q" /> for the elliptic curve cryptography (ECC) algorithm.</summary>
1711 <member name="M:System.Security.Cryptography.ECParameters.Validate">
1712 <summary>Validates the current object.</summary>
1713 <exception cref="T:System.Security.Cryptography.CryptographicException">The key or curve parameters are not valid for the current curve type.</exception>
1715 <member name="T:System.Security.Cryptography.ECPoint">
1716 <summary>Represents a (X,Y) coordinate pair for elliptic curve cryptography (ECC) structures.</summary>
1718 <member name="F:System.Security.Cryptography.ECPoint.X">
1719 <summary>Represents the X coordinate.</summary>
1721 <member name="F:System.Security.Cryptography.ECPoint.Y">
1722 <summary>Represents the Y coordinate.</summary>
1724 <member name="T:System.Security.Cryptography.HMACMD5">
1725 <summary>Computes a Hash-based Message Authentication Code (HMAC) by using the <see cref="T:System.Security.Cryptography.MD5" /> hash function.</summary>
1727 <member name="M:System.Security.Cryptography.HMACMD5.#ctor">
1728 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.HMACMD5" /> class by using a randomly generated key.</summary>
1730 <member name="M:System.Security.Cryptography.HMACMD5.#ctor(System.Byte[])">
1731 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.HMACMD5" /> class by using the specified key.</summary>
1732 <param name="key">The secret key for <see cref="T:System.Security.Cryptography.HMACMD5" /> encryption. The key can be any length, but if it is more than 64 bytes long it will be hashed (using SHA-1) to derive a 64-byte key. Therefore, the recommended size of the secret key is 64 bytes.</param>
1733 <exception cref="T:System.ArgumentNullException">The <paramref name="key" /> parameter is <see langword="null" />.</exception>
1735 <member name="M:System.Security.Cryptography.HMACMD5.Dispose(System.Boolean)">
1736 <param name="disposing" />
1738 <member name="M:System.Security.Cryptography.HMACMD5.HashCore(System.Byte[],System.Int32,System.Int32)">
1739 <param name="rgb" />
1743 <member name="M:System.Security.Cryptography.HMACMD5.HashCore(System.ReadOnlySpan{System.Byte})">
1744 <param name="source" />
1746 <member name="M:System.Security.Cryptography.HMACMD5.HashFinal" />
1747 <member name="M:System.Security.Cryptography.HMACMD5.Initialize" />
1748 <member name="P:System.Security.Cryptography.HMACMD5.Key" />
1749 <member name="M:System.Security.Cryptography.HMACMD5.TryHashFinal(System.Span{System.Byte},System.Int32@)">
1750 <param name="destination" />
1751 <param name="bytesWritten" />
1753 <member name="T:System.Security.Cryptography.HMACSHA1">
1754 <summary>Computes a Hash-based Message Authentication Code (HMAC) using the <see cref="T:System.Security.Cryptography.SHA1" /> hash function.</summary>
1756 <member name="M:System.Security.Cryptography.HMACSHA1.#ctor">
1757 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.HMACSHA1" /> class with a randomly generated key.</summary>
1759 <member name="M:System.Security.Cryptography.HMACSHA1.#ctor(System.Byte[])">
1760 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.HMACSHA1" /> class with the specified key data.</summary>
1761 <param name="key">The secret key for <see cref="T:System.Security.Cryptography.HMACSHA1" /> encryption. The key can be any length, but if it is more than 64 bytes long it is hashed (using SHA-1) to derive a 64-byte key. Therefore, the recommended size of the secret key is 64 bytes.</param>
1762 <exception cref="T:System.ArgumentNullException">The <paramref name="key" /> parameter is <see langword="null" />.</exception>
1764 <member name="M:System.Security.Cryptography.HMACSHA1.#ctor(System.Byte[],System.Boolean)">
1765 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.HMACSHA1" /> class with the specified key data and a value that specifies whether to use the managed version of the SHA1 algorithm.</summary>
1766 <param name="key">The secret key for <see cref="T:System.Security.Cryptography.HMACSHA1" /> encryption. The key can be any length, but if it is more than 64 bytes long, it is hashed (using SHA-1) to derive a 64-byte key. Therefore, the recommended size of the secret key is 64 bytes.</param>
1767 <param name="useManagedSha1">
1768 <see langword="true" /> to use the managed implementation of the SHA1 algorithm (the <see cref="T:System.Security.Cryptography.SHA1Managed" /> class); <see langword="false" /> to use the unmanaged implementation (the <see cref="T:System.Security.Cryptography.SHA1CryptoServiceProvider" /> class).</param>
1770 <member name="M:System.Security.Cryptography.HMACSHA1.Dispose(System.Boolean)">
1771 <summary>This member overrides <see cref="M:System.Security.Cryptography.KeyedHashAlgorithm.Dispose(System.Boolean)" />, and more complete documentation might be available in that topic.
1772 Releases the unmanaged resources used by the <see cref="T:System.Security.Cryptography.KeyedHashAlgorithm" /> and optionally releases the managed resources.</summary>
1773 <param name="disposing">
1774 <see langword="true" /> to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
1776 <member name="M:System.Security.Cryptography.HMACSHA1.HashCore(System.Byte[],System.Int32,System.Int32)">
1777 <summary>Routes data written to the object into the SHA1 hash algorithm for computing the Hash-based Message Authentication Code (HMAC).</summary>
1778 <param name="rgb">The input data.</param>
1779 <param name="ib">The offset into the byte array from which to begin using data.</param>
1780 <param name="cb">The number of bytes in the array to use as data.</param>
1782 <member name="M:System.Security.Cryptography.HMACSHA1.HashCore(System.ReadOnlySpan{System.Byte})">
1783 <param name="source" />
1785 <member name="M:System.Security.Cryptography.HMACSHA1.HashFinal" />
1786 <member name="M:System.Security.Cryptography.HMACSHA1.Initialize">
1787 <summary>Initializes an instance of <see cref="T:System.Security.Cryptography.HMACSHA1" />.</summary>
1789 <member name="P:System.Security.Cryptography.HMACSHA1.Key">
1790 <summary>Gets or sets the key to use in the hash algorithm.</summary>
1791 <returns>The key to use in the hash algorithm.</returns>
1793 <member name="M:System.Security.Cryptography.HMACSHA1.TryHashFinal(System.Span{System.Byte},System.Int32@)">
1794 <param name="destination" />
1795 <param name="bytesWritten" />
1797 <member name="T:System.Security.Cryptography.HMACSHA256">
1798 <summary>Computes a Hash-based Message Authentication Code (HMAC) by using the <see cref="T:System.Security.Cryptography.SHA256" /> hash function.</summary>
1800 <member name="M:System.Security.Cryptography.HMACSHA256.#ctor">
1801 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.HMACSHA256" /> class with a randomly generated key.</summary>
1803 <member name="M:System.Security.Cryptography.HMACSHA256.#ctor(System.Byte[])">
1804 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.HMACSHA256" /> class with the specified key data.</summary>
1805 <param name="key">The secret key for <see cref="T:System.Security.Cryptography.HMACSHA256" /> encryption. The key can be any length. However, the recommended size is 64 bytes. If the key is more than 64 bytes long, it is hashed (using SHA-256) to derive a 64-byte key. If it is less than 64 bytes long, it is padded to 64 bytes.</param>
1806 <exception cref="T:System.ArgumentNullException">The <paramref name="key" /> parameter is <see langword="null" />.</exception>
1808 <member name="M:System.Security.Cryptography.HMACSHA256.Dispose(System.Boolean)">
1809 <param name="disposing" />
1811 <member name="M:System.Security.Cryptography.HMACSHA256.HashCore(System.Byte[],System.Int32,System.Int32)">
1812 <param name="rgb" />
1816 <member name="M:System.Security.Cryptography.HMACSHA256.HashCore(System.ReadOnlySpan{System.Byte})">
1817 <param name="source" />
1819 <member name="M:System.Security.Cryptography.HMACSHA256.HashFinal" />
1820 <member name="M:System.Security.Cryptography.HMACSHA256.Initialize" />
1821 <member name="P:System.Security.Cryptography.HMACSHA256.Key" />
1822 <member name="M:System.Security.Cryptography.HMACSHA256.TryHashFinal(System.Span{System.Byte},System.Int32@)">
1823 <param name="destination" />
1824 <param name="bytesWritten" />
1826 <member name="T:System.Security.Cryptography.HMACSHA384">
1827 <summary>Computes a Hash-based Message Authentication Code (HMAC) using the <see cref="T:System.Security.Cryptography.SHA384" /> hash function.</summary>
1829 <member name="M:System.Security.Cryptography.HMACSHA384.#ctor">
1830 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.HMACSHA384" /> class by using a randomly generated key.</summary>
1832 <member name="M:System.Security.Cryptography.HMACSHA384.#ctor(System.Byte[])">
1833 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.HMACSHA384" /> class by using the specified key data.</summary>
1834 <param name="key">The secret key for <see cref="T:System.Security.Cryptography.HMACSHA384" /> encryption. The key can be any length. However, the recommended size is 128 bytes. If the key is more than 128 bytes long, it is hashed (using SHA-384) to derive a 128-byte key. If it is less than 128 bytes long, it is padded to 128 bytes.</param>
1835 <exception cref="T:System.ArgumentNullException">The <paramref name="key" /> parameter is <see langword="null" />.</exception>
1837 <member name="M:System.Security.Cryptography.HMACSHA384.Dispose(System.Boolean)">
1838 <param name="disposing" />
1840 <member name="M:System.Security.Cryptography.HMACSHA384.HashCore(System.Byte[],System.Int32,System.Int32)">
1841 <param name="rgb" />
1845 <member name="M:System.Security.Cryptography.HMACSHA384.HashCore(System.ReadOnlySpan{System.Byte})">
1846 <param name="source" />
1848 <member name="M:System.Security.Cryptography.HMACSHA384.HashFinal" />
1849 <member name="M:System.Security.Cryptography.HMACSHA384.Initialize" />
1850 <member name="P:System.Security.Cryptography.HMACSHA384.Key" />
1851 <member name="P:System.Security.Cryptography.HMACSHA384.ProduceLegacyHmacValues">
1852 <summary>Provides a workaround for the .NET Framework 2.0 implementation of the <see cref="T:System.Security.Cryptography.HMACSHA384" /> algorithm, which is inconsistent with the .NET Framework 2.0 Service Pack 1 implementation of the algorithm.</summary>
1854 <see langword="true" /> to enable .NET Framework 2.0 Service Pack 1 applications to interact with .NET Framework 2.0 applications; otherwise, <see langword="false" />.</returns>
1856 <member name="M:System.Security.Cryptography.HMACSHA384.TryHashFinal(System.Span{System.Byte},System.Int32@)">
1857 <param name="destination" />
1858 <param name="bytesWritten" />
1860 <member name="T:System.Security.Cryptography.HMACSHA512">
1861 <summary>Computes a Hash-based Message Authentication Code (HMAC) using the <see cref="T:System.Security.Cryptography.SHA512" /> hash function.</summary>
1863 <member name="M:System.Security.Cryptography.HMACSHA512.#ctor">
1864 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.HMACSHA512" /> class with a randomly generated key.</summary>
1866 <member name="M:System.Security.Cryptography.HMACSHA512.#ctor(System.Byte[])">
1867 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.HMACSHA512" /> class with the specified key data.</summary>
1868 <param name="key">The secret key for <see cref="T:System.Security.Cryptography.HMACSHA512" /> encryption. The key can be any length. However, the recommended size is 128 bytes. If the key is more than 128 bytes long, it is hashed (using SHA-512) to derive a 128-byte key. If it is less than 128 bytes long, it is padded to 128 bytes.</param>
1869 <exception cref="T:System.ArgumentNullException">The <paramref name="key" /> parameter is <see langword="null" />.</exception>
1871 <member name="M:System.Security.Cryptography.HMACSHA512.Dispose(System.Boolean)">
1872 <param name="disposing" />
1874 <member name="M:System.Security.Cryptography.HMACSHA512.HashCore(System.Byte[],System.Int32,System.Int32)">
1875 <param name="rgb" />
1879 <member name="M:System.Security.Cryptography.HMACSHA512.HashCore(System.ReadOnlySpan{System.Byte})">
1880 <param name="source" />
1882 <member name="M:System.Security.Cryptography.HMACSHA512.HashFinal" />
1883 <member name="M:System.Security.Cryptography.HMACSHA512.Initialize" />
1884 <member name="P:System.Security.Cryptography.HMACSHA512.Key" />
1885 <member name="P:System.Security.Cryptography.HMACSHA512.ProduceLegacyHmacValues">
1886 <summary>Provides a workaround for the .NET Framework 2.0 implementation of the <see cref="T:System.Security.Cryptography.HMACSHA512" /> algorithm, which is inconsistent with the .NET Framework 2.0 Service Pack 1 implementation.</summary>
1888 <see langword="true" /> to enable .NET Framework 2.0 Service Pack 1 applications to interact with .NET Framework 2.0 applications; otherwise, <see langword="false" />.</returns>
1890 <member name="M:System.Security.Cryptography.HMACSHA512.TryHashFinal(System.Span{System.Byte},System.Int32@)">
1891 <param name="destination" />
1892 <param name="bytesWritten" />
1894 <member name="T:System.Security.Cryptography.IncrementalHash">
1895 <summary>Provides support for computing a hash or Hash-based Message Authentication Code (HMAC) value incrementally across several segments.</summary>
1897 <member name="P:System.Security.Cryptography.IncrementalHash.AlgorithmName">
1898 <summary>Gets the name of the algorithm being performed. HMAC algorithms are prepended with "HMAC" to distinguish them from an unkeyed digest.</summary>
1899 <returns>The name of the algorithm being performed.</returns>
1901 <member name="M:System.Security.Cryptography.IncrementalHash.AppendData(System.Byte[])">
1902 <summary>Appends the specified data to the data already processed in the hash or HMAC.</summary>
1903 <param name="data">The data to process.</param>
1904 <exception cref="T:System.ArgumentNullException">
1905 <paramref name="data" /> is <see langword="null" />.</exception>
1906 <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Security.Cryptography.IncrementalHash" /> object has already been disposed.</exception>
1908 <member name="M:System.Security.Cryptography.IncrementalHash.AppendData(System.Byte[],System.Int32,System.Int32)">
1909 <summary>Appends the specified number of bytes from the specified data, starting at the specified offset, to the data already processed in the hash or Hash-based Message Authentication Code (HMAC).</summary>
1910 <param name="data">The data to process.</param>
1911 <param name="offset">The offset into the byte array from which to begin using data.</param>
1912 <param name="count">The number of bytes to use from <paramref name="data" />.</param>
1913 <exception cref="T:System.ArgumentNullException">
1914 <paramref name="data" /> is <see langword="null" />.</exception>
1915 <exception cref="T:System.ArgumentOutOfRangeException">
1916 <paramref name="count" /> or <paramref name="offset" /> is negative.
1918 <paramref name="count" /> is larger than the length of <paramref name="data" />.</exception>
1919 <exception cref="T:System.ArgumentException">The sum of <paramref name="offset" /> and <paramref name="count" /> is larger than the data length.</exception>
1920 <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Security.Cryptography.IncrementalHash" /> object has already been disposed.</exception>
1922 <member name="M:System.Security.Cryptography.IncrementalHash.AppendData(System.ReadOnlySpan{System.Byte})">
1923 <param name="data" />
1925 <member name="M:System.Security.Cryptography.IncrementalHash.CreateHash(System.Security.Cryptography.HashAlgorithmName)">
1926 <summary>Creates an <see cref="T:System.Security.Cryptography.IncrementalHash" /> for the specified algorithm.</summary>
1927 <param name="hashAlgorithm">The name of the hash algorithm to perform.</param>
1928 <returns>An <see cref="T:System.Security.Cryptography.IncrementalHash" /> instance ready to compute the hash algorithm specified by <paramref name="hashAlgorithm" />.</returns>
1929 <exception cref="T:System.ArgumentException">
1930 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or an empty string.</exception>
1931 <exception cref="T:System.Security.Cryptography.CryptographicException">
1932 <paramref name="hashAlgorithm" /> is not a known hash algorithm.</exception>
1934 <member name="M:System.Security.Cryptography.IncrementalHash.CreateHMAC(System.Security.Cryptography.HashAlgorithmName,System.Byte[])">
1935 <summary>Creates an <see cref="T:System.Security.Cryptography.IncrementalHash" /> for the Hash-based Message Authentication Code (HMAC) algorithm using the specified hash algorithm and key.</summary>
1936 <param name="hashAlgorithm">The name of the hash algorithm to perform within the HMAC.</param>
1937 <param name="key">The secret key for the HMAC. The key can be of any length, but a key longer than the output size of the specified hash algorithm will be hashed to derive a correctly-sized key. Therefore, the recommended size of the secret key is the output size of the specified hash algorithm.</param>
1938 <returns>An instance of the <see cref="T:System.Security.Cryptography.IncrementalHash" /> class ready to compute the specified hash algorithm.</returns>
1939 <exception cref="T:System.ArgumentNullException">
1940 <paramref name="key" /> is <see langword="null" />.</exception>
1941 <exception cref="T:System.ArgumentException">
1942 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or an empty string.</exception>
1943 <exception cref="T:System.Security.Cryptography.CryptographicException">
1944 <paramref name="hashAlgorithm" /> is not a known hash algorithm.</exception>
1946 <member name="M:System.Security.Cryptography.IncrementalHash.Dispose">
1947 <summary>Releases the resources used by the current instance of the <see cref="T:System.Security.Cryptography.IncrementalHash" /> class.</summary>
1949 <member name="M:System.Security.Cryptography.IncrementalHash.GetHashAndReset">
1950 <summary>Retrieves the hash or Hash-based Message Authentication Code (HMAC) for the data accumulated from prior calls to the <see cref="M:System.Security.Cryptography.IncrementalHash.AppendData(System.Byte[])" /> method, and resets the object to its initial state.</summary>
1951 <returns>The computed hash or HMAC.</returns>
1952 <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Security.Cryptography.IncrementalHash" /> object has already been disposed.</exception>
1954 <member name="M:System.Security.Cryptography.IncrementalHash.TryGetHashAndReset(System.Span{System.Byte},System.Int32@)">
1955 <param name="destination" />
1956 <param name="bytesWritten" />
1958 <member name="T:System.Security.Cryptography.MaskGenerationMethod">
1959 <summary>Represents the abstract class from which all mask generator algorithms must derive.</summary>
1961 <member name="M:System.Security.Cryptography.MaskGenerationMethod.#ctor">
1962 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.MaskGenerationMethod" /> class.</summary>
1964 <member name="M:System.Security.Cryptography.MaskGenerationMethod.GenerateMask(System.Byte[],System.Int32)">
1965 <summary>When overridden in a derived class, generates a mask with the specified length using the specified random seed.</summary>
1966 <param name="rgbSeed">The random seed to use to compute the mask.</param>
1967 <param name="cbReturn">The length of the generated mask in bytes.</param>
1968 <returns>A randomly generated mask whose length is equal to the <paramref name="cbReturn" /> parameter.</returns>
1970 <member name="T:System.Security.Cryptography.MD5">
1971 <summary>Represents the abstract class from which all implementations of the <see cref="T:System.Security.Cryptography.MD5" /> hash algorithm inherit.</summary>
1973 <member name="M:System.Security.Cryptography.MD5.#ctor">
1974 <summary>Initializes a new instance of <see cref="T:System.Security.Cryptography.MD5" />.</summary>
1976 <member name="M:System.Security.Cryptography.MD5.Create">
1977 <summary>Creates an instance of the default implementation of the <see cref="T:System.Security.Cryptography.MD5" /> hash algorithm.</summary>
1978 <returns>A new instance of the <see cref="T:System.Security.Cryptography.MD5" /> hash algorithm.</returns>
1979 <exception cref="T:System.Reflection.TargetInvocationException">The algorithm was used with Federal Information Processing Standards (FIPS) mode enabled, but is not FIPS compatible.</exception>
1981 <member name="M:System.Security.Cryptography.MD5.Create(System.String)">
1982 <summary>Creates an instance of the specified implementation of the <see cref="T:System.Security.Cryptography.MD5" /> hash algorithm.</summary>
1983 <param name="algName">The name of the specific implementation of <see cref="T:System.Security.Cryptography.MD5" /> to use.</param>
1984 <returns>A new instance of the specified implementation of <see cref="T:System.Security.Cryptography.MD5" />.</returns>
1985 <exception cref="T:System.Reflection.TargetInvocationException">The algorithm described by the <paramref name="algName" /> parameter was used with Federal Information Processing Standards (FIPS) mode enabled, but is not FIPS compatible.</exception>
1987 <member name="T:System.Security.Cryptography.PKCS1MaskGenerationMethod">
1988 <summary>Computes masks according to PKCS #1 for use by key exchange algorithms.</summary>
1990 <member name="M:System.Security.Cryptography.PKCS1MaskGenerationMethod.#ctor">
1991 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.PKCS1MaskGenerationMethod" /> class.</summary>
1993 <member name="M:System.Security.Cryptography.PKCS1MaskGenerationMethod.GenerateMask(System.Byte[],System.Int32)">
1994 <summary>Generates and returns a mask from the specified random seed of the specified length.</summary>
1995 <param name="rgbSeed">The random seed to use for computing the mask.</param>
1996 <param name="cbReturn">The length of the generated mask in bytes.</param>
1997 <returns>A randomly generated mask whose length is equal to the <paramref name="cbReturn" /> parameter.</returns>
1999 <member name="P:System.Security.Cryptography.PKCS1MaskGenerationMethod.HashName">
2000 <summary>Gets or sets the name of the hash algorithm type to use for generating the mask.</summary>
2001 <returns>The name of the type that implements the hash algorithm to use for computing the mask.</returns>
2003 <member name="T:System.Security.Cryptography.RandomNumberGenerator">
2004 <summary>Represents the abstract class from which all implementations of cryptographic random number generators derive.</summary>
2006 <member name="M:System.Security.Cryptography.RandomNumberGenerator.#ctor">
2007 <summary>Initializes a new instance of <see cref="T:System.Security.Cryptography.RandomNumberGenerator" />.</summary>
2009 <member name="M:System.Security.Cryptography.RandomNumberGenerator.Create">
2010 <summary>Creates an instance of the default implementation of a cryptographic random number generator that can be used to generate random data.</summary>
2011 <returns>A new instance of a cryptographic random number generator.</returns>
2013 <member name="M:System.Security.Cryptography.RandomNumberGenerator.Create(System.String)">
2014 <summary>Creates an instance of the specified implementation of a cryptographic random number generator.</summary>
2015 <param name="rngName">The name of the random number generator implementation to use.</param>
2016 <returns>A new instance of a cryptographic random number generator.</returns>
2018 <member name="M:System.Security.Cryptography.RandomNumberGenerator.Dispose">
2019 <summary>When overridden in a derived class, releases all resources used by the current instance of the <see cref="T:System.Security.Cryptography.RandomNumberGenerator" /> class.</summary>
2021 <member name="M:System.Security.Cryptography.RandomNumberGenerator.Dispose(System.Boolean)">
2022 <summary>When overridden in a derived class, releases the unmanaged resources used by the <see cref="T:System.Security.Cryptography.RandomNumberGenerator" /> and optionally releases the managed resources.</summary>
2023 <param name="disposing">
2024 <see langword="true" /> to release both managed and unmanaged resources; <see langword="false" /> to release only unmanaged resources.</param>
2026 <member name="M:System.Security.Cryptography.RandomNumberGenerator.Fill(System.Span{System.Byte})">
2027 <summary>Fills a span with cryptographically strong random bytes.</summary>
2028 <param name="data">The span to fill with cryptographically strong random bytes.</param>
2030 <member name="M:System.Security.Cryptography.RandomNumberGenerator.GetBytes(System.Byte[])">
2031 <summary>When overridden in a derived class, fills an array of bytes with a cryptographically strong random sequence of values.</summary>
2032 <param name="data">The array to fill with cryptographically strong random bytes.</param>
2034 <member name="M:System.Security.Cryptography.RandomNumberGenerator.GetBytes(System.Byte[],System.Int32,System.Int32)">
2035 <summary>Fills the specified byte array with a cryptographically strong random sequence of values.</summary>
2036 <param name="data">The array to fill with cryptographically strong random bytes.</param>
2037 <param name="offset">The index of the array to start the fill operation.</param>
2038 <param name="count">The number of bytes to fill.</param>
2039 <exception cref="T:System.ArgumentNullException">
2040 <paramref name="data" /> is <see langword="null" />.</exception>
2041 <exception cref="T:System.ArgumentOutOfRangeException">
2042 <paramref name="offset" /> or <paramref name="count" /> is less than 0</exception>
2043 <exception cref="T:System.ArgumentException">
2044 <paramref name="offset" /> plus <paramref name="count" /> exceeds the length of <paramref name="data" />.</exception>
2046 <member name="M:System.Security.Cryptography.RandomNumberGenerator.GetBytes(System.Span{System.Byte})">
2047 <summary>Fills a span with cryptographically strong random bytes.</summary>
2048 <param name="data">The span to fill with cryptographically strong random bytes.</param>
2050 <member name="M:System.Security.Cryptography.RandomNumberGenerator.GetInt32(System.Int32)">
2051 <summary>Generates a random integer between 0 (inclusive) and a specified exclusive upper bound using a cryptographically strong random number generator.</summary>
2052 <param name="toExclusive">The exclusive upper bound of the random range.</param>
2053 <returns>A random integer between 0 (inclusive) and <paramref name="toExclusive" /> (exclusive).</returns>
2054 <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="toExclusive" /> parameter is less than or equal to 0.</exception>
2056 <member name="M:System.Security.Cryptography.RandomNumberGenerator.GetInt32(System.Int32,System.Int32)">
2057 <summary>Generates a random integer between a specified inclusive lower bound and a specified exclusive upper bound using a cryptographically strong random number generator.</summary>
2058 <param name="fromInclusive">The inclusive lower bound of the random range.</param>
2059 <param name="toExclusive">The exclusive upper bound of the random range.</param>
2060 <returns>A random integer between <paramref name="fromInclusive" /> (inclusive) and <paramref name="toExclusive" /> (exclusive).</returns>
2061 <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="toExclusive" /> parameter is less than or equal to the <paramref name="fromInclusive" /> parameter.</exception>
2063 <member name="M:System.Security.Cryptography.RandomNumberGenerator.GetNonZeroBytes(System.Byte[])">
2064 <summary>When overridden in a derived class, fills an array of bytes with a cryptographically strong random sequence of nonzero values.</summary>
2065 <param name="data">The array to fill with cryptographically strong random nonzero bytes.</param>
2067 <member name="M:System.Security.Cryptography.RandomNumberGenerator.GetNonZeroBytes(System.Span{System.Byte})">
2068 <summary>Fills a byte span with a cryptographically strong random sequence of nonzero values.</summary>
2069 <param name="data">The span to fill with cryptographically strong random nonzero bytes.</param>
2071 <member name="T:System.Security.Cryptography.RC2">
2072 <summary>Represents the base class from which all implementations of the <see cref="T:System.Security.Cryptography.RC2" /> algorithm must derive.</summary>
2074 <member name="M:System.Security.Cryptography.RC2.#ctor">
2075 <summary>Initializes a new instance of <see cref="T:System.Security.Cryptography.RC2" />.</summary>
2077 <member name="M:System.Security.Cryptography.RC2.Create">
2078 <summary>Creates an instance of a cryptographic object to perform the <see cref="T:System.Security.Cryptography.RC2" /> algorithm.</summary>
2079 <returns>An instance of a cryptographic object.</returns>
2080 <exception cref="T:System.Reflection.TargetInvocationException">The algorithm was used with Federal Information Processing Standards (FIPS) mode enabled, but is not FIPS compatible.</exception>
2082 <member name="M:System.Security.Cryptography.RC2.Create(System.String)">
2083 <summary>Creates an instance of a cryptographic object to perform the specified implementation of the <see cref="T:System.Security.Cryptography.RC2" /> algorithm.</summary>
2084 <param name="AlgName">The name of the specific implementation of <see cref="T:System.Security.Cryptography.RC2" /> to use.</param>
2085 <returns>An instance of a cryptographic object.</returns>
2086 <exception cref="T:System.Reflection.TargetInvocationException">The algorithm described by the <paramref name="algName" /> parameter was used with Federal Information Processing Standards (FIPS) mode enabled, but is not FIPS compatible.</exception>
2088 <member name="P:System.Security.Cryptography.RC2.EffectiveKeySize">
2089 <summary>Gets or sets the effective size of the secret key used by the <see cref="T:System.Security.Cryptography.RC2" /> algorithm in bits.</summary>
2090 <returns>The effective key size used by the <see cref="T:System.Security.Cryptography.RC2" /> algorithm.</returns>
2091 <exception cref="T:System.Security.Cryptography.CryptographicException">The effective key size is invalid.</exception>
2093 <member name="F:System.Security.Cryptography.RC2.EffectiveKeySizeValue">
2094 <summary>Represents the effective size of the secret key used by the <see cref="T:System.Security.Cryptography.RC2" /> algorithm in bits.</summary>
2096 <member name="P:System.Security.Cryptography.RC2.KeySize">
2097 <summary>Gets or sets the size of the secret key used by the <see cref="T:System.Security.Cryptography.RC2" /> algorithm in bits.</summary>
2098 <returns>The size of the secret key used by the <see cref="T:System.Security.Cryptography.RC2" /> algorithm.</returns>
2099 <exception cref="T:System.Security.Cryptography.CryptographicException">The value for the RC2 key size is less than the effective key size value.</exception>
2101 <member name="T:System.Security.Cryptography.Rfc2898DeriveBytes">
2102 <summary>Implements password-based key derivation functionality, PBKDF2, by using a pseudo-random number generator based on <see cref="T:System.Security.Cryptography.HMACSHA1" />.</summary>
2104 <member name="M:System.Security.Cryptography.Rfc2898DeriveBytes.#ctor(System.Byte[],System.Byte[],System.Int32)">
2105 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.Rfc2898DeriveBytes" /> class using a password, a salt, and number of iterations to derive the key.</summary>
2106 <param name="password">The password used to derive the key.</param>
2107 <param name="salt">The key salt used to derive the key.</param>
2108 <param name="iterations">The number of iterations for the operation.</param>
2109 <exception cref="T:System.ArgumentException">The specified salt size is smaller than 8 bytes or the iteration count is less than 1.</exception>
2110 <exception cref="T:System.ArgumentNullException">The password or salt is <see langword="null" />.</exception>
2112 <member name="M:System.Security.Cryptography.Rfc2898DeriveBytes.#ctor(System.Byte[],System.Byte[],System.Int32,System.Security.Cryptography.HashAlgorithmName)">
2113 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.Rfc2898DeriveBytes" /> class using the specified password, salt, number of iterations and the hash algorithm name to derive the key.</summary>
2114 <param name="password">The password to use to derive the key.</param>
2115 <param name="salt">The key salt to use to derive the key.</param>
2116 <param name="iterations">The number of iterations for the operation.</param>
2117 <param name="hashAlgorithm">The hash algorithm to use to derive the key.</param>
2118 <exception cref="T:System.ArgumentOutOfRangeException">
2119 <paramref name="saltSize" /> is less than zero.</exception>
2120 <exception cref="T:System.ArgumentException">The <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> property of <paramref name="hashAlgorithm" /> is either <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
2121 <exception cref="T:System.Security.Cryptography.CryptographicException">Hash algorithm name is invalid.</exception>
2123 <member name="M:System.Security.Cryptography.Rfc2898DeriveBytes.#ctor(System.String,System.Byte[])">
2124 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.Rfc2898DeriveBytes" /> class using a password and salt to derive the key.</summary>
2125 <param name="password">The password used to derive the key.</param>
2126 <param name="salt">The key salt used to derive the key.</param>
2127 <exception cref="T:System.ArgumentException">The specified salt size is smaller than 8 bytes or the iteration count is less than 1.</exception>
2128 <exception cref="T:System.ArgumentNullException">The password or salt is <see langword="null" />.</exception>
2130 <member name="M:System.Security.Cryptography.Rfc2898DeriveBytes.#ctor(System.String,System.Byte[],System.Int32)">
2131 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.Rfc2898DeriveBytes" /> class using a password, a salt, and number of iterations to derive the key.</summary>
2132 <param name="password">The password used to derive the key.</param>
2133 <param name="salt">The key salt used to derive the key.</param>
2134 <param name="iterations">The number of iterations for the operation.</param>
2135 <exception cref="T:System.ArgumentException">The specified salt size is smaller than 8 bytes or the iteration count is less than 1.</exception>
2136 <exception cref="T:System.ArgumentNullException">The password or salt is <see langword="null" />.</exception>
2138 <member name="M:System.Security.Cryptography.Rfc2898DeriveBytes.#ctor(System.String,System.Byte[],System.Int32,System.Security.Cryptography.HashAlgorithmName)">
2139 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.Rfc2898DeriveBytes" /> class using the specified password, salt, number of iterations and the hash algorithm name to derive the key.</summary>
2140 <param name="password">The password to use to derive the key.</param>
2141 <param name="salt">The key salt to use to derive the key.</param>
2142 <param name="iterations">The number of iterations for the operation.</param>
2143 <param name="hashAlgorithm">The hash algorithm to use to derive the key.</param>
2144 <exception cref="T:System.ArgumentException">The <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> property of <paramref name="hashAlgorithm" /> is either <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
2145 <exception cref="T:System.Security.Cryptography.CryptographicException">Hash algorithm name is invalid.</exception>
2147 <member name="M:System.Security.Cryptography.Rfc2898DeriveBytes.#ctor(System.String,System.Int32)">
2148 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.Rfc2898DeriveBytes" /> class using the password and salt size to derive the key.</summary>
2149 <param name="password">The password used to derive the key.</param>
2150 <param name="saltSize">The size of the random salt that you want the class to generate.</param>
2151 <exception cref="T:System.ArgumentException">The specified salt size is smaller than 8 bytes.</exception>
2152 <exception cref="T:System.ArgumentNullException">The password or salt is <see langword="null" />.</exception>
2154 <member name="M:System.Security.Cryptography.Rfc2898DeriveBytes.#ctor(System.String,System.Int32,System.Int32)">
2155 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.Rfc2898DeriveBytes" /> class using a password, a salt size, and number of iterations to derive the key.</summary>
2156 <param name="password">The password used to derive the key.</param>
2157 <param name="saltSize">The size of the random salt that you want the class to generate.</param>
2158 <param name="iterations">The number of iterations for the operation.</param>
2159 <exception cref="T:System.ArgumentException">The specified salt size is smaller than 8 bytes or the iteration count is less than 1.</exception>
2160 <exception cref="T:System.ArgumentNullException">The password or salt is <see langword="null" />.</exception>
2161 <exception cref="T:System.ArgumentOutOfRangeException">
2162 <paramref name="iterations" /> is out of range. This parameter requires a non-negative number.</exception>
2164 <member name="M:System.Security.Cryptography.Rfc2898DeriveBytes.#ctor(System.String,System.Int32,System.Int32,System.Security.Cryptography.HashAlgorithmName)">
2165 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.Rfc2898DeriveBytes" /> class using the specified password, salt size, number of iterations and the hash algorithm name to derive the key.</summary>
2166 <param name="password">The password to use to derive the key.</param>
2167 <param name="saltSize">The size of the random salt that you want the class to generate.</param>
2168 <param name="iterations">The number of iterations for the operation.</param>
2169 <param name="hashAlgorithm">The hash algorithm to use to derive the key.</param>
2170 <exception cref="T:System.ArgumentOutOfRangeException">
2171 <paramref name="saltSize" /> is less than zero.</exception>
2172 <exception cref="T:System.ArgumentException">The <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> property of <paramref name="hashAlgorithm" /> is either <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
2173 <exception cref="T:System.Security.Cryptography.CryptographicException">Hash algorithm name is invalid.</exception>
2175 <member name="M:System.Security.Cryptography.Rfc2898DeriveBytes.CryptDeriveKey(System.String,System.String,System.Int32,System.Byte[])">
2176 <summary>Derives a cryptographic key from the <see cref="T:System.Security.Cryptography.Rfc2898DeriveBytes" /> object.</summary>
2177 <param name="algname">The algorithm name for which to derive the key.</param>
2178 <param name="alghashname">The hash algorithm name to use to derive the key.</param>
2179 <param name="keySize">The size of the key, in bits, to derive.</param>
2180 <param name="rgbIV">The initialization vector (IV) to use to derive the key.</param>
2181 <returns>The derived key.</returns>
2182 <exception cref="T:System.Security.Cryptography.CryptographicException">The <paramref name="keySize" /> parameter is incorrect.
2184 The cryptographic service provider (CSP) cannot be acquired.
2186 The <paramref name="algname" /> parameter is not a valid algorithm name.
2188 The <paramref name="alghashname" /> parameter is not a valid hash algorithm name.</exception>
2190 <member name="M:System.Security.Cryptography.Rfc2898DeriveBytes.Dispose(System.Boolean)">
2191 <summary>Releases the unmanaged resources used by the <see cref="T:System.Security.Cryptography.Rfc2898DeriveBytes" /> class and optionally releases the managed resources.</summary>
2192 <param name="disposing">
2193 <see langword="true" /> to release both managed and unmanaged resources; <see langword="false" /> to release only unmanaged resources.</param>
2195 <member name="M:System.Security.Cryptography.Rfc2898DeriveBytes.GetBytes(System.Int32)">
2196 <summary>Returns the pseudo-random key for this object.</summary>
2197 <param name="cb">The number of pseudo-random key bytes to generate.</param>
2198 <returns>A byte array filled with pseudo-random key bytes.</returns>
2199 <exception cref="T:System.ArgumentOutOfRangeException">
2200 <paramref name="cb" /> is out of range. This parameter requires a non-negative number.</exception>
2202 <member name="P:System.Security.Cryptography.Rfc2898DeriveBytes.HashAlgorithm" />
2203 <member name="P:System.Security.Cryptography.Rfc2898DeriveBytes.IterationCount">
2204 <summary>Gets or sets the number of iterations for the operation.</summary>
2205 <returns>The number of iterations for the operation.</returns>
2206 <exception cref="T:System.ArgumentOutOfRangeException">The number of iterations is less than 1.</exception>
2208 <member name="M:System.Security.Cryptography.Rfc2898DeriveBytes.Reset">
2209 <summary>Resets the state of the operation.</summary>
2211 <member name="P:System.Security.Cryptography.Rfc2898DeriveBytes.Salt">
2212 <summary>Gets or sets the key salt value for the operation.</summary>
2213 <returns>The key salt value for the operation.</returns>
2214 <exception cref="T:System.ArgumentException">The specified salt size is smaller than 8 bytes.</exception>
2215 <exception cref="T:System.ArgumentNullException">The salt is <see langword="null" />.</exception>
2217 <member name="T:System.Security.Cryptography.Rijndael">
2218 <summary>Represents the base class from which all implementations of the <see cref="T:System.Security.Cryptography.Rijndael" /> symmetric encryption algorithm must inherit.</summary>
2220 <member name="M:System.Security.Cryptography.Rijndael.#ctor">
2221 <summary>Initializes a new instance of <see cref="T:System.Security.Cryptography.Rijndael" />.</summary>
2223 <member name="M:System.Security.Cryptography.Rijndael.Create">
2224 <summary>Creates a cryptographic object to perform the <see cref="T:System.Security.Cryptography.Rijndael" /> algorithm.</summary>
2225 <returns>A cryptographic object.</returns>
2226 <exception cref="T:System.Reflection.TargetInvocationException">The algorithm was used with Federal Information Processing Standards (FIPS) mode enabled, but is not FIPS compatible.</exception>
2228 <member name="M:System.Security.Cryptography.Rijndael.Create(System.String)">
2229 <summary>Creates a cryptographic object to perform the specified implementation of the <see cref="T:System.Security.Cryptography.Rijndael" /> algorithm.</summary>
2230 <param name="algName">The name of the specific implementation of <see cref="T:System.Security.Cryptography.Rijndael" /> to create.</param>
2231 <returns>A cryptographic object.</returns>
2232 <exception cref="T:System.Reflection.TargetInvocationException">The algorithm described by the <paramref name="algName" /> parameter was used with Federal Information Processing Standards (FIPS) mode enabled, but is not FIPS compatible.</exception>
2234 <member name="T:System.Security.Cryptography.RijndaelManaged">
2235 <summary>Accesses the managed version of the <see cref="T:System.Security.Cryptography.Rijndael" /> algorithm. This class cannot be inherited.</summary>
2237 <member name="M:System.Security.Cryptography.RijndaelManaged.#ctor">
2238 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.RijndaelManaged" /> class.</summary>
2239 <exception cref="T:System.InvalidOperationException">This class is not compliant with the FIPS algorithm.</exception>
2241 <member name="P:System.Security.Cryptography.RijndaelManaged.BlockSize">
2242 <summary>Gets or sets the block size, in bits, of the cryptographic operation.</summary>
2243 <returns>The block size, in bits, of the cryptographic operation. The default is 128 bits.</returns>
2245 <member name="M:System.Security.Cryptography.RijndaelManaged.CreateDecryptor" />
2246 <member name="M:System.Security.Cryptography.RijndaelManaged.CreateDecryptor(System.Byte[],System.Byte[])">
2247 <summary>Creates a symmetric <see cref="T:System.Security.Cryptography.Rijndael" /> decryptor object with the specified <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.Key" /> and initialization vector (<see cref="P:System.Security.Cryptography.SymmetricAlgorithm.IV" />).</summary>
2248 <param name="rgbKey">The secret key to be used for the symmetric algorithm. The key size must be 128, 192, or 256 bits.</param>
2249 <param name="rgbIV">The IV to be used for the symmetric algorithm.</param>
2250 <returns>A symmetric <see cref="T:System.Security.Cryptography.Rijndael" /> decryptor object.</returns>
2251 <exception cref="T:System.ArgumentNullException">The <paramref name="rgbKey" /> parameter is <see langword="null" />.
2253 The <paramref name="rgbIV" /> parameter is <see langword="null" />.</exception>
2254 <exception cref="T:System.Security.Cryptography.CryptographicException">The value of the <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.Mode" /> property is not <see cref="F:System.Security.Cryptography.CipherMode.ECB" />, <see cref="F:System.Security.Cryptography.CipherMode.CBC" />, or <see cref="F:System.Security.Cryptography.CipherMode.CFB" />.</exception>
2256 <member name="M:System.Security.Cryptography.RijndaelManaged.CreateEncryptor" />
2257 <member name="M:System.Security.Cryptography.RijndaelManaged.CreateEncryptor(System.Byte[],System.Byte[])">
2258 <summary>Creates a symmetric <see cref="T:System.Security.Cryptography.Rijndael" /> encryptor object with the specified <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.Key" /> and initialization vector (<see cref="P:System.Security.Cryptography.SymmetricAlgorithm.IV" />).</summary>
2259 <param name="rgbKey">The secret key to be used for the symmetric algorithm. The key size must be 128, 192, or 256 bits.</param>
2260 <param name="rgbIV">The IV to be used for the symmetric algorithm.</param>
2261 <returns>A symmetric <see cref="T:System.Security.Cryptography.Rijndael" /> encryptor object.</returns>
2262 <exception cref="T:System.ArgumentNullException">The <paramref name="rgbKey" /> parameter is <see langword="null" />.
2264 The <paramref name="rgbIV" /> parameter is <see langword="null" />.</exception>
2265 <exception cref="T:System.Security.Cryptography.CryptographicException">The value of the <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.Mode" /> property is not <see cref="F:System.Security.Cryptography.CipherMode.ECB" />, <see cref="F:System.Security.Cryptography.CipherMode.CBC" />, or <see cref="F:System.Security.Cryptography.CipherMode.CFB" />.</exception>
2267 <member name="M:System.Security.Cryptography.RijndaelManaged.GenerateIV">
2268 <summary>Generates a random initialization vector (<see cref="P:System.Security.Cryptography.SymmetricAlgorithm.IV" />) to be used for the algorithm.</summary>
2270 <member name="M:System.Security.Cryptography.RijndaelManaged.GenerateKey">
2271 <summary>Generates a random <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.Key" /> to be used for the algorithm.</summary>
2273 <member name="P:System.Security.Cryptography.RijndaelManaged.IV">
2274 <summary>Gets or sets the initialization vector (IV) to use for the symmetric algorithm.</summary>
2275 <returns>The initialization vector (IV) to use for the symmetric algorithm.</returns>
2277 <member name="P:System.Security.Cryptography.RijndaelManaged.Key">
2278 <summary>Gets or sets the secret key used for the symmetric algorithm.</summary>
2279 <returns>The secret key used for the symmetric algorithm.</returns>
2281 <member name="P:System.Security.Cryptography.RijndaelManaged.KeySize">
2282 <summary>Gets or sets the size, in bits, of the secret key used for the symmetric algorithm.</summary>
2283 <returns>The size, in bits, of the secret key used for the symmetric algorithm. The default is 256 bits.</returns>
2285 <member name="P:System.Security.Cryptography.RijndaelManaged.LegalKeySizes">
2286 <summary>Gets the key sizes, in bits, that are supported by the symmetric algorithm.</summary>
2287 <returns>The key sizes, in bits, that are supported by the symmetric algorithm.</returns>
2289 <member name="P:System.Security.Cryptography.RijndaelManaged.Mode">
2290 <summary>Gets or sets the mode for operation of the symmetric algorithm.</summary>
2291 <returns>The mode for operation of the symmetric algorithm. The default is <see cref="F:System.Security.Cryptography.CipherMode.CBC" /></returns>
2293 <member name="P:System.Security.Cryptography.RijndaelManaged.Padding">
2294 <summary>Gets or sets the padding mode used in the symmetric algorithm.</summary>
2295 <returns>The padding mode used in the symmetric algorithm. The default is <see cref="F:System.Security.Cryptography.PaddingMode.PKCS7" />.</returns>
2297 <member name="T:System.Security.Cryptography.RSA">
2298 <summary>Represents the base class from which all implementations of the <see cref="T:System.Security.Cryptography.RSA" /> algorithm inherit.</summary>
2300 <member name="M:System.Security.Cryptography.RSA.#ctor">
2301 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.RSA" /> class.</summary>
2303 <member name="M:System.Security.Cryptography.RSA.Create">
2304 <summary>Creates an instance of the default implementation of the <see cref="T:System.Security.Cryptography.RSA" /> algorithm.</summary>
2305 <returns>A new instance of the default implementation of <see cref="T:System.Security.Cryptography.RSA" />.</returns>
2307 <member name="M:System.Security.Cryptography.RSA.Create(System.Int32)">
2308 <summary>Creates a new ephemeral RSA key with the specified key size.</summary>
2309 <param name="keySizeInBits">The key size, in bits.</param>
2310 <returns>A new ephemeral RSA key with the specified key size.</returns>
2311 <exception cref="T:System.Security.Cryptography.CryptographicException">
2312 <paramref name="keySizeInBits" /> is different than <see cref="P:System.Security.Cryptography.AsymmetricAlgorithm.KeySize" />.</exception>
2314 <member name="M:System.Security.Cryptography.RSA.Create(System.Security.Cryptography.RSAParameters)">
2315 <summary>Creates a new ephemeral RSA key with the specified RSA key parameters.</summary>
2316 <param name="parameters">The parameters for the <see cref="T:System.Security.Cryptography.RSA" /> algorithm.</param>
2317 <returns>A new ephemeral RSA key.</returns>
2319 <member name="M:System.Security.Cryptography.RSA.Create(System.String)">
2320 <summary>Creates an instance of the specified implementation of <see cref="T:System.Security.Cryptography.RSA" />.</summary>
2321 <param name="algName">The name of the implementation of <see cref="T:System.Security.Cryptography.RSA" /> to use.</param>
2322 <returns>A new instance of the specified implementation of <see cref="T:System.Security.Cryptography.RSA" />.</returns>
2324 <member name="M:System.Security.Cryptography.RSA.Decrypt(System.Byte[],System.Security.Cryptography.RSAEncryptionPadding)">
2325 <summary>When overridden in a derived class, decrypts the input data using the specified padding mode.</summary>
2326 <param name="data">The data to decrypt.</param>
2327 <param name="padding">The padding mode.</param>
2328 <returns>The decrypted data.</returns>
2329 <exception cref="T:System.NotImplementedException">A derived class must override this method.</exception>
2331 <member name="M:System.Security.Cryptography.RSA.DecryptValue(System.Byte[])">
2332 <summary>When overridden in a derived class, decrypts the input data using the private key.</summary>
2333 <param name="rgb">The cipher text to be decrypted.</param>
2334 <returns>The resulting decryption of the <paramref name="rgb" /> parameter in plain text.</returns>
2335 <exception cref="T:System.NotSupportedException">This method call is not supported. This exception is thrown starting with the .NET Framework 4.6.</exception>
2337 <member name="M:System.Security.Cryptography.RSA.Encrypt(System.Byte[],System.Security.Cryptography.RSAEncryptionPadding)">
2338 <summary>When overridden in a derived class, encrypts the input data using the specified padding mode.</summary>
2339 <param name="data">The data to encrypt.</param>
2340 <param name="padding">The padding mode.</param>
2341 <returns>The encrypted data.</returns>
2342 <exception cref="T:System.NotImplementedException">A derived class must override this method.</exception>
2344 <member name="M:System.Security.Cryptography.RSA.EncryptValue(System.Byte[])">
2345 <summary>When overridden in a derived class, encrypts the input data using the public key.</summary>
2346 <param name="rgb">The plain text to be encrypted.</param>
2347 <returns>The resulting encryption of the <paramref name="rgb" /> parameter as cipher text.</returns>
2348 <exception cref="T:System.NotSupportedException">This method call is not supported. This exception is thrown starting with the .NET Framework 4.6.</exception>
2350 <member name="M:System.Security.Cryptography.RSA.ExportParameters(System.Boolean)">
2351 <summary>When overridden in a derived class, exports the <see cref="T:System.Security.Cryptography.RSAParameters" />.</summary>
2352 <param name="includePrivateParameters">
2353 <see langword="true" /> to include private parameters; otherwise, <see langword="false" />.</param>
2354 <returns>The parameters for <see cref="T:System.Security.Cryptography.RSA" />.</returns>
2356 <member name="M:System.Security.Cryptography.RSA.ExportRSAPrivateKey">
2357 <summary>Exports the current key in the PKCS#1 RSAPrivateKey format.</summary>
2358 <returns>A byte array containing the PKCS#1 RSAPrivateKey representation of this key.</returns>
2359 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
2361 <member name="M:System.Security.Cryptography.RSA.ExportRSAPublicKey">
2362 <summary>Exports the public-key portion of the current key in the PKCS#1 RSAPublicKey format.</summary>
2363 <returns>A byte array containing the PKCS#1 RSAPublicKey representation of this key.</returns>
2365 <member name="M:System.Security.Cryptography.RSA.FromXmlString(System.String)">
2366 <summary>Initializes an <see cref="T:System.Security.Cryptography.RSA" /> object from the key information from an XML string.</summary>
2367 <param name="xmlString">The XML string containing <see cref="T:System.Security.Cryptography.RSA" /> key information.</param>
2368 <exception cref="T:System.ArgumentNullException">The <paramref name="xmlString" /> parameter is <see langword="null" />.</exception>
2369 <exception cref="T:System.Security.Cryptography.CryptographicException">The format of the <paramref name="xmlString" /> parameter is not valid.</exception>
2370 <exception cref="T:System.PlatformNotSupportedException">.NET Core only: This member is not supported.</exception>
2372 <member name="M:System.Security.Cryptography.RSA.HashData(System.Byte[],System.Int32,System.Int32,System.Security.Cryptography.HashAlgorithmName)">
2373 <summary>When overridden in a derived class, computes the hash value of a specified portion of a byte array by using a specified hashing algorithm.</summary>
2374 <param name="data">The data to be hashed.</param>
2375 <param name="offset">The index of the first byte in <paramref name="data" /> that is to be hashed.</param>
2376 <param name="count">The number of bytes to hash.</param>
2377 <param name="hashAlgorithm">The algorithm to use in hash the data.</param>
2378 <returns>The hashed data.</returns>
2379 <exception cref="T:System.NotImplementedException">A derived class must override this method.</exception>
2381 <member name="M:System.Security.Cryptography.RSA.HashData(System.IO.Stream,System.Security.Cryptography.HashAlgorithmName)">
2382 <summary>When overridden in a derived class, computes the hash value of a specified binary stream by using a specified hashing algorithm.</summary>
2383 <param name="data">The binary stream to hash.</param>
2384 <param name="hashAlgorithm">The hash algorithm.</param>
2385 <returns>The hashed data.</returns>
2386 <exception cref="T:System.NotImplementedException">A derived class must override this method.</exception>
2388 <member name="M:System.Security.Cryptography.RSA.ImportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Int32@)">
2389 <summary>Imports the public/private keypair from a PKCS#8 EncryptedPrivateKeyInfo structure after decrypting with a byte-based password, replacing the keys for this object.</summary>
2390 <param name="passwordBytes">The bytes to use as a password when decrypting the key material.</param>
2391 <param name="source">The bytes of a PKCS#8 EncryptedPrivateKeyInfo structure in the ASN.1-BER encoding.</param>
2392 <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
2393 <exception cref="T:System.Security.Cryptography.CryptographicException">The password is incorrect.
2395 The contents of <paramref name="source" /> indicate the Key Derivation Function (KDF) to apply is the legacy PKCS#12 KDF, which requires <see cref="T:System.Char" />-based passwords.
2397 The contents of <paramref name="source" /> do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
2399 The contents of <paramref name="source" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
2401 The contents of <paramref name="source" /> represent the key in a format that is not supported.
2403 The algorithm-specific key import failed.</exception>
2405 <member name="M:System.Security.Cryptography.RSA.ImportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Byte},System.Int32@)">
2406 <summary>Imports the public/private keypair from a PKCS#8 EncryptedPrivateKeyInfo structure after decrypting with a char-based password, replacing the keys for this object.</summary>
2407 <param name="password">The password to use for decrypting the key material.</param>
2408 <param name="source">The bytes of a PKCS#8 EncryptedPrivateKeyInfo structure in the ASN.1-BER encoding.</param>
2409 <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
2410 <exception cref="T:System.Security.Cryptography.CryptographicException">The password is incorrect.
2412 The contents of <paramref name="source" /> do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
2414 The contents of <paramref name="source" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
2416 The contents of <paramref name="source" /> represent the key in a format that is not supported.
2418 The algorithm-specific key import failed.</exception>
2420 <member name="M:System.Security.Cryptography.RSA.ImportParameters(System.Security.Cryptography.RSAParameters)">
2421 <summary>When overridden in a derived class, imports the specified <see cref="T:System.Security.Cryptography.RSAParameters" />.</summary>
2422 <param name="parameters">The parameters for <see cref="T:System.Security.Cryptography.RSA" />.</param>
2424 <member name="M:System.Security.Cryptography.RSA.ImportPkcs8PrivateKey(System.ReadOnlySpan{System.Byte},System.Int32@)">
2425 <summary>Imports the public/private keypair from a PKCS#8 PrivateKeyInfo structure after decryption, replacing the keys for this object.</summary>
2426 <param name="source">The bytes of a PKCS#8 PrivateKeyInfo structure in the ASN.1-BER encoding.</param>
2427 <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
2428 <exception cref="T:System.Security.Cryptography.CryptographicException">The contents of <paramref name="source" /> do not represent an ASN.1-BER-encoded PKCS#8 PrivateKeyInfo structure.
2430 The contents of <paramref name="source" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
2432 The contents of <paramref name="source" /> represent the key in a format that is not supported.
2434 The algorithm-specific key import failed.</exception>
2436 <member name="M:System.Security.Cryptography.RSA.ImportRSAPrivateKey(System.ReadOnlySpan{System.Byte},System.Int32@)">
2437 <summary>Imports the public/private keypair from a PKCS#1 RSAPrivateKey structure after decryption, replacing the keys for this object.</summary>
2438 <param name="source">The bytes of a PKCS#1 RSAPrivateKey structure in the ASN.1-BER encoding.</param>
2439 <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
2440 <exception cref="T:System.Security.Cryptography.CryptographicException">The contents of <paramref name="source" /> do not represent an ASN.1-BER-encoded PKCS#1 RSAPrivateKey structure.
2442 The key import failed.</exception>
2444 <member name="M:System.Security.Cryptography.RSA.ImportRSAPublicKey(System.ReadOnlySpan{System.Byte},System.Int32@)">
2445 <summary>Imports the public key from a PKCS#1 RSAPublicKey structure after decryption, replacing the keys for this object.</summary>
2446 <param name="source">The bytes of a PKCS#1 RSAPublicKey structure in the ASN.1-BER encoding.</param>
2447 <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
2448 <exception cref="T:System.Security.Cryptography.CryptographicException">The contents of <paramref name="source" /> do not represent an ASN.1-BER-encoded PKCS#1 RSAPublicKey structure.
2450 The key import failed.</exception>
2452 <member name="M:System.Security.Cryptography.RSA.ImportSubjectPublicKeyInfo(System.ReadOnlySpan{System.Byte},System.Int32@)">
2453 <summary>Imports the public key from an X.509 SubjectPublicKeyInfo structure after decryption, replacing the keys for this object.</summary>
2454 <param name="source">The bytes of an X.509 SubjectPublicKeyInfo structure in the ASN.1-DER encoding.</param>
2455 <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
2456 <exception cref="T:System.Security.Cryptography.CryptographicException">The contents of <paramref name="source" /> do not represent an ASN.1-DER-encoded X.509 SubjectPublicKeyInfo structure.
2458 The contents of <paramref name="source" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
2460 The contents of <paramref name="source" /> represent the key in a format that is not supported.
2462 The algorithm-specific key import failed.</exception>
2464 <member name="P:System.Security.Cryptography.RSA.KeyExchangeAlgorithm">
2465 <summary>Gets the name of the key exchange algorithm available with this implementation of <see cref="T:System.Security.Cryptography.RSA" />.</summary>
2466 <returns>Returns "RSA".</returns>
2468 <member name="P:System.Security.Cryptography.RSA.SignatureAlgorithm">
2469 <summary>Gets the name of the signature algorithm available with this implementation of <see cref="T:System.Security.Cryptography.RSA" />.</summary>
2470 <returns>Returns "RSA".</returns>
2472 <member name="M:System.Security.Cryptography.RSA.SignData(System.Byte[],System.Int32,System.Int32,System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding)">
2473 <summary>Computes the hash value of a portion of the specified byte array using the specified hash algorithm and padding mode, and signs the resulting hash value.</summary>
2474 <param name="data">The input data for which to compute the hash.</param>
2475 <param name="offset">The offset into the array at which to begin using data.</param>
2476 <param name="count">The number of bytes in the array to use as data.</param>
2477 <param name="hashAlgorithm">The hash algorithm to use to create the hash value.</param>
2478 <param name="padding">The padding mode.</param>
2479 <returns>The RSA signature for the specified data.</returns>
2480 <exception cref="T:System.ArgumentNullException">
2481 <paramref name="data" /> is <see langword="null" />.
2483 <paramref name="padding" /> is <see langword="null" />.</exception>
2484 <exception cref="T:System.ArgumentException">
2485 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
2486 <exception cref="T:System.ArgumentOutOfRangeException">
2487 <paramref name="offset" /> is less than zero.
2489 <paramref name="count" /> is less than zero.
2491 <paramref name="offset" /> + <paramref name="count" /> - 1 results in an index that is beyond the upper bound of <paramref name="data" />.</exception>
2493 <member name="M:System.Security.Cryptography.RSA.SignData(System.Byte[],System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding)">
2494 <summary>Computes the hash value of the specified byte array using the specified hash algorithm and padding mode, and signs the resulting hash value.</summary>
2495 <param name="data">The input data for which to compute the hash.</param>
2496 <param name="hashAlgorithm">The hash algorithm to use to create the hash value.</param>
2497 <param name="padding">The padding mode.</param>
2498 <returns>The RSA signature for the specified data.</returns>
2499 <exception cref="T:System.ArgumentNullException">
2500 <paramref name="data" /> is <see langword="null" />.
2502 <paramref name="padding" /> is <see langword="null" />.</exception>
2503 <exception cref="T:System.ArgumentException">
2504 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
2506 <member name="M:System.Security.Cryptography.RSA.SignData(System.IO.Stream,System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding)">
2507 <summary>Computes the hash value of the specified stream using the specified hash algorithm and padding mode, and signs the resulting hash value.</summary>
2508 <param name="data">The input stream for which to compute the hash.</param>
2509 <param name="hashAlgorithm">The hash algorithm to use to create the hash value.</param>
2510 <param name="padding">The padding mode.</param>
2511 <returns>The RSA signature for the specified data.</returns>
2512 <exception cref="T:System.ArgumentNullException">
2513 <paramref name="data" /> is <see langword="null" />.
2515 <paramref name="padding" /> is <see langword="null" />.</exception>
2516 <exception cref="T:System.ArgumentException">
2517 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
2519 <member name="M:System.Security.Cryptography.RSA.SignHash(System.Byte[],System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding)">
2520 <summary>When overridden in a derived class, computes the signature for the specified hash value by encrypting it with the private key using the specified padding.</summary>
2521 <param name="hash">The hash value of the data to be signed.</param>
2522 <param name="hashAlgorithm">The hash algorithm used to create the hash value of the data.</param>
2523 <param name="padding">The padding.</param>
2524 <returns>The RSA signature for the specified hash value.</returns>
2525 <exception cref="T:System.NotImplementedException">A derived class must override this method.</exception>
2527 <member name="M:System.Security.Cryptography.RSA.ToXmlString(System.Boolean)">
2528 <summary>Creates and returns an XML string containing the key of the current <see cref="T:System.Security.Cryptography.RSA" /> object.</summary>
2529 <param name="includePrivateParameters">
2530 <see langword="true" /> to include a public and private RSA key; <see langword="false" /> to include only the public key.</param>
2531 <returns>An XML string containing the key of the current <see cref="T:System.Security.Cryptography.RSA" /> object.</returns>
2532 <exception cref="T:System.PlatformNotSupportedException">.NET Core only: This member is not supported.</exception>
2534 <member name="M:System.Security.Cryptography.RSA.TryDecrypt(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Security.Cryptography.RSAEncryptionPadding,System.Int32@)">
2535 <param name="data" />
2536 <param name="destination" />
2537 <param name="padding" />
2538 <param name="bytesWritten" />
2540 <member name="M:System.Security.Cryptography.RSA.TryEncrypt(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Security.Cryptography.RSAEncryptionPadding,System.Int32@)">
2541 <param name="data" />
2542 <param name="destination" />
2543 <param name="padding" />
2544 <param name="bytesWritten" />
2546 <member name="M:System.Security.Cryptography.RSA.TryExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Byte},System.Security.Cryptography.PbeParameters,System.Span{System.Byte},System.Int32@)">
2547 <summary>Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer, using a byte-based password.</summary>
2548 <param name="passwordBytes">The bytes to use as a password when encrypting the key material.</param>
2549 <param name="pbeParameters">The password-based encryption (PBE) parameters to use when encrypting the key material.</param>
2550 <param name="destination">The byte span to receive the PKCS#8 EncryptedPrivateKeyInfo data.</param>
2551 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
2553 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
2554 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.
2556 <paramref name="pbeParameters" /> indicates that <see cref="F:System.Security.Cryptography.PbeEncryptionAlgorithm.TripleDes3KeyPkcs12" /> should be used, which requires <see cref="T:System.Char" />-based passwords.</exception>
2558 <member name="M:System.Security.Cryptography.RSA.TryExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Char},System.Security.Cryptography.PbeParameters,System.Span{System.Byte},System.Int32@)">
2559 <summary>Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer, using a char-based password.</summary>
2560 <param name="password">The password to use when encrypting the key material.</param>
2561 <param name="pbeParameters">The password-based encryption (PBE) parameters to use when encrypting the key material.</param>
2562 <param name="destination">The byte span to receive the PKCS#8 EncryptedPrivateKeyInfo data.</param>
2563 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
2565 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
2566 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
2568 <member name="M:System.Security.Cryptography.RSA.TryExportPkcs8PrivateKey(System.Span{System.Byte},System.Int32@)">
2569 <summary>Attempts to export the current key in the PKCS#8 PrivateKeyInfo format into a provided buffer.</summary>
2570 <param name="destination">The byte span to receive the PKCS#8 PrivateKeyInfo data.</param>
2571 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
2573 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
2574 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
2576 <member name="M:System.Security.Cryptography.RSA.TryExportRSAPrivateKey(System.Span{System.Byte},System.Int32@)">
2577 <summary>Attempts to export the current key in the PKCS#1 RSAPrivateKey format into a provided buffer.</summary>
2578 <param name="destination">The byte span to receive the PKCS#1 RSAPrivateKey data.</param>
2579 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
2581 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
2582 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
2584 <member name="M:System.Security.Cryptography.RSA.TryExportRSAPublicKey(System.Span{System.Byte},System.Int32@)">
2585 <summary>Attempts to export the current key in the PKCS#1 RSAPublicKey format into a provided buffer.</summary>
2586 <param name="destination">The byte span to receive the PKCS#1 RSAPublicKey data.</param>
2587 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
2589 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
2590 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
2592 <member name="M:System.Security.Cryptography.RSA.TryExportSubjectPublicKeyInfo(System.Span{System.Byte},System.Int32@)">
2593 <summary>Attempts to export the current key in the X.509 SubjectPublicKeyInfo format into a provided buffer.</summary>
2594 <param name="destination">The byte span to receive the X.509 SubjectPublicKeyInfo data.</param>
2595 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
2597 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
2598 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
2600 <member name="M:System.Security.Cryptography.RSA.TryHashData(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Security.Cryptography.HashAlgorithmName,System.Int32@)">
2601 <param name="data" />
2602 <param name="destination" />
2603 <param name="hashAlgorithm" />
2604 <param name="bytesWritten" />
2606 <member name="M:System.Security.Cryptography.RSA.TrySignData(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding,System.Int32@)">
2607 <param name="data" />
2608 <param name="destination" />
2609 <param name="hashAlgorithm" />
2610 <param name="padding" />
2611 <param name="bytesWritten" />
2613 <member name="M:System.Security.Cryptography.RSA.TrySignHash(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding,System.Int32@)">
2614 <param name="hash" />
2615 <param name="destination" />
2616 <param name="hashAlgorithm" />
2617 <param name="padding" />
2618 <param name="bytesWritten" />
2620 <member name="M:System.Security.Cryptography.RSA.VerifyData(System.Byte[],System.Byte[],System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding)">
2621 <summary>Verifies that a digital signature is valid by calculating the hash value of the specified data using the specified hash algorithm and padding, and comparing it to the provided signature.</summary>
2622 <param name="data">The signed data.</param>
2623 <param name="signature">The signature data to be verified.</param>
2624 <param name="hashAlgorithm">The hash algorithm used to create the hash value of the data.</param>
2625 <param name="padding">The padding mode.</param>
2627 <see langword="true" /> if the signature is valid; otherwise, <see langword="false" />.</returns>
2628 <exception cref="T:System.ArgumentNullException">
2629 <paramref name="data" /> is <see langword="null" />.
2631 <paramref name="signature" /> is <see langword="null" />.
2633 <paramref name="padding" /> is <see langword="null" />.</exception>
2634 <exception cref="T:System.ArgumentException">
2635 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
2637 <member name="M:System.Security.Cryptography.RSA.VerifyData(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding)">
2638 <summary>Verifies that a digital signature is valid by calculating the hash value of the data in a portion of a byte array using the specified hash algorithm and padding, and comparing it to the provided signature.</summary>
2639 <param name="data">The signed data.</param>
2640 <param name="offset">The starting index at which to compute the hash.</param>
2641 <param name="count">The number of bytes to hash.</param>
2642 <param name="signature">The signature data to be verified.</param>
2643 <param name="hashAlgorithm">The hash algorithm used to create the hash value of the data.</param>
2644 <param name="padding">The padding mode.</param>
2646 <see langword="true" /> if the signature is valid; otherwise, <see langword="false" />.</returns>
2647 <exception cref="T:System.ArgumentNullException">
2648 <paramref name="data" /> is <see langword="null" />.
2650 <paramref name="signature" /> is <see langword="null" />.
2652 <paramref name="padding" /> is <see langword="null" />.</exception>
2653 <exception cref="T:System.ArgumentException">
2654 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
2655 <exception cref="T:System.ArgumentOutOfRangeException">
2656 <paramref name="offset" /> is less than zero.
2658 <paramref name="count" /> is less than zero.
2660 <paramref name="offset" /> + <paramref name="count" /> - 1 results in an index that is beyond the upper bound of <paramref name="data" />.</exception>
2662 <member name="M:System.Security.Cryptography.RSA.VerifyData(System.IO.Stream,System.Byte[],System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding)">
2663 <summary>Verifies that a digital signature is valid by calculating the hash value of the specified stream using the specified hash algorithm and padding, and comparing it to the provided signature.</summary>
2664 <param name="data">The signed data.</param>
2665 <param name="signature">The signature data to be verified.</param>
2666 <param name="hashAlgorithm">The hash algorithm used to create the hash value of the data.</param>
2667 <param name="padding">The padding mode.</param>
2669 <see langword="true" /> if the signature is valid; otherwise, <see langword="false" />.</returns>
2670 <exception cref="T:System.ArgumentNullException">
2671 <paramref name="data" /> is <see langword="null" />.
2673 <paramref name="signature" /> is <see langword="null" />.
2675 <paramref name="padding" /> is <see langword="null" />.</exception>
2676 <exception cref="T:System.ArgumentException">
2677 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
2679 <member name="M:System.Security.Cryptography.RSA.VerifyData(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding)">
2680 <param name="data" />
2681 <param name="signature" />
2682 <param name="hashAlgorithm" />
2683 <param name="padding" />
2685 <member name="M:System.Security.Cryptography.RSA.VerifyHash(System.Byte[],System.Byte[],System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding)">
2686 <summary>Verifies that a digital signature is valid by determining the hash value in the signature using the specified hash algorithm and padding, and comparing it to the provided hash value.</summary>
2687 <param name="hash">The hash value of the signed data.</param>
2688 <param name="signature">The signature data to be verified.</param>
2689 <param name="hashAlgorithm">The hash algorithm used to create the hash value.</param>
2690 <param name="padding">The padding mode.</param>
2692 <see langword="true" /> if the signature is valid; otherwise, <see langword="false" />.</returns>
2693 <exception cref="T:System.NotImplementedException">A derived class must override this method.</exception>
2695 <member name="M:System.Security.Cryptography.RSA.VerifyHash(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding)">
2696 <param name="hash" />
2697 <param name="signature" />
2698 <param name="hashAlgorithm" />
2699 <param name="padding" />
2701 <member name="T:System.Security.Cryptography.RSAEncryptionPadding">
2702 <summary>Specifies the padding mode and parameters to use with RSA encryption or decryption operations.</summary>
2704 <member name="M:System.Security.Cryptography.RSAEncryptionPadding.CreateOaep(System.Security.Cryptography.HashAlgorithmName)">
2705 <summary>Creates a new <see cref="T:System.Security.Cryptography.RSAEncryptionPadding" /> instance whose <see cref="P:System.Security.Cryptography.RSAEncryptionPadding.Mode" /> is <see cref="F:System.Security.Cryptography.RSAEncryptionPaddingMode.Oaep" /> with the given hash algorithm.</summary>
2706 <param name="hashAlgorithm">The hash algorithm.</param>
2707 <returns>An object whose mode is <see cref="P:System.Security.Cryptography.RSAEncryptionPadding.Mode" /> is <see cref="F:System.Security.Cryptography.RSAEncryptionPaddingMode.Oaep" /> with the hash algorithm specified by <paramref name="hashAlgorithm" />.</returns>
2708 <exception cref="T:System.ArgumentException">The <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> property of <paramref name="hashAlgorithm" /> is either <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
2710 <member name="M:System.Security.Cryptography.RSAEncryptionPadding.Equals(System.Object)">
2711 <summary>Determines whether the current instance is equal to the specified object.</summary>
2712 <param name="obj">The object to compare.</param>
2714 <see langword="true" /> if <paramref name="obj" /> is equal to the current instance; otherwise, <see langword="false" />.</returns>
2716 <member name="M:System.Security.Cryptography.RSAEncryptionPadding.Equals(System.Security.Cryptography.RSAEncryptionPadding)">
2717 <summary>Determines whether the current instance is equal to the specified <see cref="T:System.Security.Cryptography.RSAEncryptionPadding" /> object.</summary>
2718 <param name="other">The object to compare.</param>
2720 <see langword="true" /> if <paramref name="other" /> is equal to the current instance; otherwise, <see langword="false" />.</returns>
2722 <member name="M:System.Security.Cryptography.RSAEncryptionPadding.GetHashCode">
2723 <summary>Returns the hash code of this <see cref="T:System.Security.Cryptography.RSAEncryptionPadding" /> object.</summary>
2724 <returns>The hash code of this instance.</returns>
2726 <member name="P:System.Security.Cryptography.RSAEncryptionPadding.Mode">
2727 <summary>Gets the padding mode represented by this <see cref="T:System.Security.Cryptography.RSAEncryptionPadding" /> instance.</summary>
2728 <returns>A padding mode.</returns>
2730 <member name="P:System.Security.Cryptography.RSAEncryptionPadding.OaepHashAlgorithm">
2731 <summary>Gets the hash algorithm used in conjunction with the <see cref="F:System.Security.Cryptography.RSAEncryptionPaddingMode.Oaep" /> padding mode.</summary>
2732 <returns>The hash algorithm.</returns>
2734 <member name="P:System.Security.Cryptography.RSAEncryptionPadding.OaepSHA1">
2735 <summary>Gets an object that represents the Optimal Asymmetric Encryption Padding (OAEP) encryption standard with a SHA1 hash algorithm.</summary>
2736 <returns>An object that represents the OAEP encryption standard with a SHA1 hash algorithm.</returns>
2738 <member name="P:System.Security.Cryptography.RSAEncryptionPadding.OaepSHA256">
2739 <summary>Gets an object that represents the Optimal Asymmetric Encryption Padding (OAEP) encryption standard with a SHA256 hash algorithm.</summary>
2740 <returns>An object that represents the OAEP encryption standard with a SHA256 hash algorithm.</returns>
2742 <member name="P:System.Security.Cryptography.RSAEncryptionPadding.OaepSHA384">
2743 <summary>Gets an object that represents the Optimal Asymmetric Encryption Padding (OAEP) encryption standard with a SHA-384 hash algorithm.</summary>
2744 <returns>An object that represents the OAEP encryption standard with a SHA384 hash algorithm.</returns>
2746 <member name="P:System.Security.Cryptography.RSAEncryptionPadding.OaepSHA512">
2747 <summary>Gets an object that represents the Optimal Asymmetric Encryption Padding (OAEP) encryption standard with a SHA512 hash algorithm.</summary>
2748 <returns>An object that represents the OAEP encryption standard with a SHA512 hash algorithm.</returns>
2750 <member name="M:System.Security.Cryptography.RSAEncryptionPadding.op_Equality(System.Security.Cryptography.RSAEncryptionPadding,System.Security.Cryptography.RSAEncryptionPadding)">
2751 <summary>Indicates whether two specified <see cref="T:System.Security.Cryptography.RSAEncryptionPadding" /> objects are equal.</summary>
2752 <param name="left">The first object to compare.</param>
2753 <param name="right">The second object to compare.</param>
2755 <see langword="true" /> if <see langword="left" /> and <see langword="right" /> are equal; otherwise, <see langword="false" />.</returns>
2757 <member name="M:System.Security.Cryptography.RSAEncryptionPadding.op_Inequality(System.Security.Cryptography.RSAEncryptionPadding,System.Security.Cryptography.RSAEncryptionPadding)">
2758 <summary>Indicates whether two specified <see cref="T:System.Security.Cryptography.RSAEncryptionPadding" /> objects are unequal.</summary>
2759 <param name="left">The first object to compare.</param>
2760 <param name="right">The second object to compare.</param>
2762 <see langword="true" /> if <see langword="left" /> and <see langword="right" /> are not equal; otherwise, <see langword="false" />.</returns>
2764 <member name="P:System.Security.Cryptography.RSAEncryptionPadding.Pkcs1">
2765 <summary>Gets an object that represents the PKCS #1 encryption standard.</summary>
2766 <returns>An object that represents the PKCS #1 encryption standard.</returns>
2768 <member name="M:System.Security.Cryptography.RSAEncryptionPadding.ToString">
2769 <summary>Returns the string representation of the current <see cref="T:System.Security.Cryptography.RSAEncryptionPadding" /> instance.</summary>
2770 <returns>The string representation of the current object.</returns>
2772 <member name="T:System.Security.Cryptography.RSAEncryptionPaddingMode">
2773 <summary>Specifies the padding mode to use with RSA encryption or decryption operations.</summary>
2775 <member name="F:System.Security.Cryptography.RSAEncryptionPaddingMode.Oaep">
2776 <summary>Optimal Asymmetric Encryption Padding. It is recommended for new applications.</summary>
2778 <member name="F:System.Security.Cryptography.RSAEncryptionPaddingMode.Pkcs1">
2779 <summary>PKCS #1 v1.5. It is supported for compatibility with existing applications.</summary>
2781 <member name="T:System.Security.Cryptography.RSAOAEPKeyExchangeDeformatter">
2782 <summary>Decrypts Optimal Asymmetric Encryption Padding (OAEP) key exchange data.</summary>
2784 <member name="M:System.Security.Cryptography.RSAOAEPKeyExchangeDeformatter.#ctor">
2785 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.RSAOAEPKeyExchangeDeformatter" /> class.</summary>
2787 <member name="M:System.Security.Cryptography.RSAOAEPKeyExchangeDeformatter.#ctor(System.Security.Cryptography.AsymmetricAlgorithm)">
2788 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.RSAOAEPKeyExchangeDeformatter" /> class with the specified key.</summary>
2789 <param name="key">The instance of the <see cref="T:System.Security.Cryptography.RSA" /> algorithm that holds the private key.</param>
2790 <exception cref="T:System.ArgumentNullException">
2791 <paramref name="key" /> is <see langword="null" />.</exception>
2793 <member name="M:System.Security.Cryptography.RSAOAEPKeyExchangeDeformatter.DecryptKeyExchange(System.Byte[])">
2794 <summary>Extracts secret information from the encrypted key exchange data.</summary>
2795 <param name="rgbData">The key exchange data within which the secret information is hidden.</param>
2796 <returns>The secret information derived from the key exchange data.</returns>
2797 <exception cref="T:System.Security.Cryptography.CryptographicException">The key exchange data verification has failed.</exception>
2798 <exception cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException">The key is missing.</exception>
2800 <member name="P:System.Security.Cryptography.RSAOAEPKeyExchangeDeformatter.Parameters">
2801 <summary>Gets the parameters for the Optimal Asymmetric Encryption Padding (OAEP) key exchange.</summary>
2802 <returns>An XML string containing the parameters of the OAEP key exchange operation.</returns>
2804 <member name="M:System.Security.Cryptography.RSAOAEPKeyExchangeDeformatter.SetKey(System.Security.Cryptography.AsymmetricAlgorithm)">
2805 <summary>Sets the private key to use for decrypting the secret information.</summary>
2806 <param name="key">The instance of the <see cref="T:System.Security.Cryptography.RSA" /> algorithm that holds the private key.</param>
2807 <exception cref="T:System.ArgumentNullException">
2808 <paramref name="key" /> is <see langword="null" />.</exception>
2810 <member name="T:System.Security.Cryptography.RSAOAEPKeyExchangeFormatter">
2811 <summary>Creates Optimal Asymmetric Encryption Padding (OAEP) key exchange data using <see cref="T:System.Security.Cryptography.RSA" />.</summary>
2813 <member name="M:System.Security.Cryptography.RSAOAEPKeyExchangeFormatter.#ctor">
2814 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.RSAOAEPKeyExchangeFormatter" /> class.</summary>
2816 <member name="M:System.Security.Cryptography.RSAOAEPKeyExchangeFormatter.#ctor(System.Security.Cryptography.AsymmetricAlgorithm)">
2817 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.RSAOAEPKeyExchangeFormatter" /> class with the specified key.</summary>
2818 <param name="key">The instance of the <see cref="T:System.Security.Cryptography.RSA" /> algorithm that holds the public key.</param>
2819 <exception cref="T:System.ArgumentNullException">
2820 <paramref name="key" /> is <see langword="null" />.</exception>
2822 <member name="M:System.Security.Cryptography.RSAOAEPKeyExchangeFormatter.CreateKeyExchange(System.Byte[])">
2823 <summary>Creates the encrypted key exchange data from the specified input data.</summary>
2824 <param name="rgbData">The secret information to be passed in the key exchange.</param>
2825 <returns>The encrypted key exchange data to be sent to the intended recipient.</returns>
2826 <exception cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException">The key is missing.</exception>
2828 <member name="M:System.Security.Cryptography.RSAOAEPKeyExchangeFormatter.CreateKeyExchange(System.Byte[],System.Type)">
2829 <summary>Creates the encrypted key exchange data from the specified input data.</summary>
2830 <param name="rgbData">The secret information to be passed in the key exchange.</param>
2831 <param name="symAlgType">This parameter is not used in the current version.</param>
2832 <returns>The encrypted key exchange data to be sent to the intended recipient.</returns>
2834 <member name="P:System.Security.Cryptography.RSAOAEPKeyExchangeFormatter.Parameter">
2835 <summary>Gets or sets the parameter used to create padding in the key exchange creation process.</summary>
2836 <returns>The parameter value.</returns>
2838 <member name="P:System.Security.Cryptography.RSAOAEPKeyExchangeFormatter.Parameters">
2839 <summary>Gets the parameters for the Optimal Asymmetric Encryption Padding (OAEP) key exchange.</summary>
2840 <returns>An XML string containing the parameters of the OAEP key exchange operation.</returns>
2842 <member name="P:System.Security.Cryptography.RSAOAEPKeyExchangeFormatter.Rng">
2843 <summary>Gets or sets the random number generator algorithm to use in the creation of the key exchange.</summary>
2844 <returns>The instance of a random number generator algorithm to use.</returns>
2846 <member name="M:System.Security.Cryptography.RSAOAEPKeyExchangeFormatter.SetKey(System.Security.Cryptography.AsymmetricAlgorithm)">
2847 <summary>Sets the public key to use for encrypting the key exchange data.</summary>
2848 <param name="key">The instance of the <see cref="T:System.Security.Cryptography.RSA" /> algorithm that holds the public key.</param>
2849 <exception cref="T:System.ArgumentNullException">
2850 <paramref name="key" /> is <see langword="null" />.</exception>
2852 <member name="T:System.Security.Cryptography.RSAParameters">
2853 <summary>Represents the standard parameters for the <see cref="T:System.Security.Cryptography.RSA" /> algorithm.</summary>
2855 <member name="F:System.Security.Cryptography.RSAParameters.D">
2856 <summary>Represents the <see langword="D" /> parameter for the <see cref="T:System.Security.Cryptography.RSA" /> algorithm.</summary>
2858 <member name="F:System.Security.Cryptography.RSAParameters.DP">
2859 <summary>Represents the <see langword="DP" /> parameter for the <see cref="T:System.Security.Cryptography.RSA" /> algorithm.</summary>
2861 <member name="F:System.Security.Cryptography.RSAParameters.DQ">
2862 <summary>Represents the <see langword="DQ" /> parameter for the <see cref="T:System.Security.Cryptography.RSA" /> algorithm.</summary>
2864 <member name="F:System.Security.Cryptography.RSAParameters.Exponent">
2865 <summary>Represents the <see langword="Exponent" /> parameter for the <see cref="T:System.Security.Cryptography.RSA" /> algorithm.</summary>
2867 <member name="F:System.Security.Cryptography.RSAParameters.InverseQ">
2868 <summary>Represents the <see langword="InverseQ" /> parameter for the <see cref="T:System.Security.Cryptography.RSA" /> algorithm.</summary>
2870 <member name="F:System.Security.Cryptography.RSAParameters.Modulus">
2871 <summary>Represents the <see langword="Modulus" /> parameter for the <see cref="T:System.Security.Cryptography.RSA" /> algorithm.</summary>
2873 <member name="F:System.Security.Cryptography.RSAParameters.P">
2874 <summary>Represents the <see langword="P" /> parameter for the <see cref="T:System.Security.Cryptography.RSA" /> algorithm.</summary>
2876 <member name="F:System.Security.Cryptography.RSAParameters.Q">
2877 <summary>Represents the <see langword="Q" /> parameter for the <see cref="T:System.Security.Cryptography.RSA" /> algorithm.</summary>
2879 <member name="T:System.Security.Cryptography.RSAPKCS1KeyExchangeDeformatter">
2880 <summary>Decrypts the PKCS #1 key exchange data.</summary>
2882 <member name="M:System.Security.Cryptography.RSAPKCS1KeyExchangeDeformatter.#ctor">
2883 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.RSAPKCS1KeyExchangeDeformatter" /> class.</summary>
2885 <member name="M:System.Security.Cryptography.RSAPKCS1KeyExchangeDeformatter.#ctor(System.Security.Cryptography.AsymmetricAlgorithm)">
2886 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.RSAPKCS1KeyExchangeDeformatter" /> class with the specified key.</summary>
2887 <param name="key">The instance of the <see cref="T:System.Security.Cryptography.RSA" /> algorithm that holds the private key.</param>
2888 <exception cref="T:System.ArgumentNullException">
2889 <paramref name="key" /> is <see langword="null" />.</exception>
2891 <member name="M:System.Security.Cryptography.RSAPKCS1KeyExchangeDeformatter.DecryptKeyExchange(System.Byte[])">
2892 <summary>Extracts secret information from the encrypted key exchange data.</summary>
2893 <param name="rgbIn">The key exchange data within which the secret information is hidden.</param>
2894 <returns>The secret information derived from the key exchange data.</returns>
2895 <exception cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException">The key is missing.</exception>
2897 <member name="P:System.Security.Cryptography.RSAPKCS1KeyExchangeDeformatter.Parameters">
2898 <summary>Gets the parameters for the PKCS #1 key exchange.</summary>
2899 <returns>An XML string containing the parameters of the PKCS #1 key exchange operation.</returns>
2901 <member name="P:System.Security.Cryptography.RSAPKCS1KeyExchangeDeformatter.RNG">
2902 <summary>Gets or sets the random number generator algorithm to use in the creation of the key exchange.</summary>
2903 <returns>The instance of a random number generator algorithm to use.</returns>
2905 <member name="M:System.Security.Cryptography.RSAPKCS1KeyExchangeDeformatter.SetKey(System.Security.Cryptography.AsymmetricAlgorithm)">
2906 <summary>Sets the private key to use for decrypting the secret information.</summary>
2907 <param name="key">The instance of the <see cref="T:System.Security.Cryptography.RSA" /> algorithm that holds the private key.</param>
2908 <exception cref="T:System.ArgumentNullException">
2909 <paramref name="key" /> is <see langword="null" />.</exception>
2911 <member name="T:System.Security.Cryptography.RSAPKCS1KeyExchangeFormatter">
2912 <summary>Creates the PKCS#1 key exchange data using <see cref="T:System.Security.Cryptography.RSA" />.</summary>
2914 <member name="M:System.Security.Cryptography.RSAPKCS1KeyExchangeFormatter.#ctor">
2915 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.RSAPKCS1KeyExchangeFormatter" /> class.</summary>
2917 <member name="M:System.Security.Cryptography.RSAPKCS1KeyExchangeFormatter.#ctor(System.Security.Cryptography.AsymmetricAlgorithm)">
2918 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.RSAPKCS1KeyExchangeFormatter" /> class with the specified key.</summary>
2919 <param name="key">The instance of the <see cref="T:System.Security.Cryptography.RSA" /> algorithm that holds the public key.</param>
2920 <exception cref="T:System.ArgumentNullException">
2921 <paramref name="key" /> is <see langword="null" />.</exception>
2923 <member name="M:System.Security.Cryptography.RSAPKCS1KeyExchangeFormatter.CreateKeyExchange(System.Byte[])">
2924 <summary>Creates the encrypted key exchange data from the specified input data.</summary>
2925 <param name="rgbData">The secret information to be passed in the key exchange.</param>
2926 <returns>The encrypted key exchange data to be sent to the intended recipient.</returns>
2927 <exception cref="T:System.Security.Cryptography.CryptographicException">
2928 <paramref name="rgbData" /> is too big.</exception>
2929 <exception cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException">The key is <see langword="null" />.</exception>
2931 <member name="M:System.Security.Cryptography.RSAPKCS1KeyExchangeFormatter.CreateKeyExchange(System.Byte[],System.Type)">
2932 <summary>Creates the encrypted key exchange data from the specified input data.</summary>
2933 <param name="rgbData">The secret information to be passed in the key exchange.</param>
2934 <param name="symAlgType">This parameter is not used in the current version.</param>
2935 <returns>The encrypted key exchange data to be sent to the intended recipient.</returns>
2937 <member name="P:System.Security.Cryptography.RSAPKCS1KeyExchangeFormatter.Parameters">
2938 <summary>Gets the parameters for the PKCS #1 key exchange.</summary>
2939 <returns>An XML string containing the parameters of the PKCS #1 key exchange operation.</returns>
2941 <member name="P:System.Security.Cryptography.RSAPKCS1KeyExchangeFormatter.Rng">
2942 <summary>Gets or sets the random number generator algorithm to use in the creation of the key exchange.</summary>
2943 <returns>The instance of a random number generator algorithm to use.</returns>
2945 <member name="M:System.Security.Cryptography.RSAPKCS1KeyExchangeFormatter.SetKey(System.Security.Cryptography.AsymmetricAlgorithm)">
2946 <summary>Sets the public key to use for encrypting the key exchange data.</summary>
2947 <param name="key">The instance of the <see cref="T:System.Security.Cryptography.RSA" /> algorithm that holds the public key.</param>
2948 <exception cref="T:System.ArgumentNullException">
2949 <paramref name="key" /> is <see langword="null" />.</exception>
2951 <member name="T:System.Security.Cryptography.RSAPKCS1SignatureDeformatter">
2952 <summary>Verifies an <see cref="T:System.Security.Cryptography.RSA" /> PKCS #1 version 1.5 signature.</summary>
2954 <member name="M:System.Security.Cryptography.RSAPKCS1SignatureDeformatter.#ctor">
2955 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.RSAPKCS1SignatureDeformatter" /> class.</summary>
2957 <member name="M:System.Security.Cryptography.RSAPKCS1SignatureDeformatter.#ctor(System.Security.Cryptography.AsymmetricAlgorithm)">
2958 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.RSAPKCS1SignatureDeformatter" /> class with the specified key.</summary>
2959 <param name="key">The instance of <see cref="T:System.Security.Cryptography.RSA" /> that holds the public key.</param>
2960 <exception cref="T:System.ArgumentNullException">
2961 <paramref name="key" /> is <see langword="null" />.</exception>
2963 <member name="M:System.Security.Cryptography.RSAPKCS1SignatureDeformatter.SetHashAlgorithm(System.String)">
2964 <summary>Sets the hash algorithm to use for verifying the signature.</summary>
2965 <param name="strName">The name of the hash algorithm to use for verifying the signature.</param>
2967 <member name="M:System.Security.Cryptography.RSAPKCS1SignatureDeformatter.SetKey(System.Security.Cryptography.AsymmetricAlgorithm)">
2968 <summary>Sets the public key to use for verifying the signature.</summary>
2969 <param name="key">The instance of <see cref="T:System.Security.Cryptography.RSA" /> that holds the public key.</param>
2970 <exception cref="T:System.ArgumentNullException">
2971 <paramref name="key" /> is <see langword="null" />.</exception>
2973 <member name="M:System.Security.Cryptography.RSAPKCS1SignatureDeformatter.VerifySignature(System.Byte[],System.Byte[])">
2974 <summary>Verifies the <see cref="T:System.Security.Cryptography.RSA" /> PKCS#1 signature for the specified data.</summary>
2975 <param name="rgbHash">The data signed with <paramref name="rgbSignature" />.</param>
2976 <param name="rgbSignature">The signature to be verified for <paramref name="rgbHash" />.</param>
2978 <see langword="true" /> if <paramref name="rgbSignature" /> matches the signature computed using the specified hash algorithm and key on <paramref name="rgbHash" />; otherwise, <see langword="false" />.</returns>
2979 <exception cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException">The key is <see langword="null" />.
2981 The hash algorithm is <see langword="null" />.</exception>
2982 <exception cref="T:System.ArgumentNullException">The <paramref name="rgbHash" /> parameter is <see langword="null" />.
2984 The <paramref name="rgbSignature" /> parameter is <see langword="null" />.</exception>
2986 <member name="T:System.Security.Cryptography.RSAPKCS1SignatureFormatter">
2987 <summary>Creates an <see cref="T:System.Security.Cryptography.RSA" /> PKCS #1 version 1.5 signature.</summary>
2989 <member name="M:System.Security.Cryptography.RSAPKCS1SignatureFormatter.#ctor">
2990 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.RSAPKCS1SignatureFormatter" /> class.</summary>
2992 <member name="M:System.Security.Cryptography.RSAPKCS1SignatureFormatter.#ctor(System.Security.Cryptography.AsymmetricAlgorithm)">
2993 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.RSAPKCS1SignatureFormatter" /> class with the specified key.</summary>
2994 <param name="key">The instance of the <see cref="T:System.Security.Cryptography.RSA" /> algorithm that holds the private key.</param>
2995 <exception cref="T:System.ArgumentNullException">
2996 <paramref name="key" /> is <see langword="null" />.</exception>
2998 <member name="M:System.Security.Cryptography.RSAPKCS1SignatureFormatter.CreateSignature(System.Byte[])">
2999 <summary>Creates the <see cref="T:System.Security.Cryptography.RSA" /> PKCS #1 signature for the specified data.</summary>
3000 <param name="rgbHash">The data to be signed.</param>
3001 <returns>The digital signature for <paramref name="rgbHash" />.</returns>
3002 <exception cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException">The key is <see langword="null" />.
3004 The hash algorithm is <see langword="null" />.</exception>
3005 <exception cref="T:System.ArgumentNullException">The <paramref name="rgbHash" /> parameter is <see langword="null" />.</exception>
3007 <member name="M:System.Security.Cryptography.RSAPKCS1SignatureFormatter.SetHashAlgorithm(System.String)">
3008 <summary>Sets the hash algorithm to use for creating the signature.</summary>
3009 <param name="strName">The name of the hash algorithm to use for creating the signature.</param>
3011 <member name="M:System.Security.Cryptography.RSAPKCS1SignatureFormatter.SetKey(System.Security.Cryptography.AsymmetricAlgorithm)">
3012 <summary>Sets the private key to use for creating the signature.</summary>
3013 <param name="key">The instance of the <see cref="T:System.Security.Cryptography.RSA" /> algorithm that holds the private key.</param>
3014 <exception cref="T:System.ArgumentNullException">
3015 <paramref name="key" /> is <see langword="null" />.</exception>
3017 <member name="T:System.Security.Cryptography.RSASignaturePadding">
3018 <summary>Specifies the padding mode and parameters to use with RSA signature creation or verification operations.</summary>
3020 <member name="M:System.Security.Cryptography.RSASignaturePadding.Equals(System.Object)">
3021 <summary>Returns a value that indicates whether this instance is equal to a specified object.</summary>
3022 <param name="obj">The object to compare with the current instance.</param>
3024 <see langword="true" /> if the specified object is equal to the current object; otherwise, <see langword="false" />.</returns>
3026 <member name="M:System.Security.Cryptography.RSASignaturePadding.Equals(System.Security.Cryptography.RSASignaturePadding)">
3027 <summary>Returns a value that indicates whether this instance is equal to a specified <see cref="T:System.Security.Cryptography.RSASignaturePadding" /> object.</summary>
3028 <param name="other">The object to compare with the current instance.</param>
3030 <see langword="true" /> if the specified object is equal to the current object; otherwise, <see langword="false" />.</returns>
3032 <member name="M:System.Security.Cryptography.RSASignaturePadding.GetHashCode">
3033 <summary>Returns the hash code for this <see cref="T:System.Security.Cryptography.RSASignaturePadding" /> instance.</summary>
3034 <returns>The hash code for this <see cref="T:System.Security.Cryptography.RSASignaturePadding" /> instance.</returns>
3036 <member name="P:System.Security.Cryptography.RSASignaturePadding.Mode">
3037 <summary>Gets the padding mode of this <see cref="T:System.Security.Cryptography.RSASignaturePadding" /> instance.</summary>
3038 <returns>The padding mode (either <see cref="F:System.Security.Cryptography.RSASignaturePaddingMode.Pkcs1" /> or <see cref="F:System.Security.Cryptography.RSASignaturePaddingMode.Pss" />) of this instance.</returns>
3040 <member name="M:System.Security.Cryptography.RSASignaturePadding.op_Equality(System.Security.Cryptography.RSASignaturePadding,System.Security.Cryptography.RSASignaturePadding)">
3041 <summary>Indicates whether two specified <see cref="T:System.Security.Cryptography.RSASignaturePadding" /> objects are equal.</summary>
3042 <param name="left">The first object to compare.</param>
3043 <param name="right">The second object to compare.</param>
3045 <see langword="true" /> if <see langword="left" /> and <see langword="right" /> are equal; otherwise, <see langword="false" />.</returns>
3047 <member name="M:System.Security.Cryptography.RSASignaturePadding.op_Inequality(System.Security.Cryptography.RSASignaturePadding,System.Security.Cryptography.RSASignaturePadding)">
3048 <summary>Indicates whether two specified <see cref="T:System.Security.Cryptography.RSASignaturePadding" /> objects are unequal.</summary>
3049 <param name="left">The first object to compare.</param>
3050 <param name="right">The second object to compare.</param>
3052 <see langword="true" /> if <see langword="left" /> and <see langword="right" /> are unequal; otherwise, <see langword="false" />.</returns>
3054 <member name="P:System.Security.Cryptography.RSASignaturePadding.Pkcs1">
3055 <summary>Gets an object that uses the PKCS #1 v1.5 padding mode.</summary>
3056 <returns>An object that uses the <see cref="F:System.Security.Cryptography.RSASignaturePaddingMode.Pkcs1" /> padding mode.</returns>
3058 <member name="P:System.Security.Cryptography.RSASignaturePadding.Pss">
3059 <summary>Gets an object that uses PSS padding mode.</summary>
3060 <returns>An object that uses the <see cref="F:System.Security.Cryptography.RSASignaturePaddingMode.Pss" /> padding mode with the number of salt bytes equal to the size of the hash.</returns>
3062 <member name="M:System.Security.Cryptography.RSASignaturePadding.ToString">
3063 <summary>Returns the string representation of the current <see cref="T:System.Security.Cryptography.RSASignaturePadding" /> instance.</summary>
3064 <returns>The string representation of the current object.</returns>
3066 <member name="T:System.Security.Cryptography.RSASignaturePaddingMode">
3067 <summary>Specifies the padding mode to use with RSA signature creation or verification operations.</summary>
3069 <member name="F:System.Security.Cryptography.RSASignaturePaddingMode.Pkcs1">
3070 <summary>PKCS #1 v1.5</summary>
3072 <member name="F:System.Security.Cryptography.RSASignaturePaddingMode.Pss">
3073 <summary>Probabilistic Signature Scheme</summary>
3075 <member name="T:System.Security.Cryptography.SHA1">
3076 <summary>Computes the <see cref="T:System.Security.Cryptography.SHA1" /> hash for the input data.</summary>
3078 <member name="M:System.Security.Cryptography.SHA1.#ctor">
3079 <summary>Initializes a new instance of <see cref="T:System.Security.Cryptography.SHA1" />.</summary>
3080 <exception cref="T:System.InvalidOperationException">The policy on this object is not compliant with the FIPS algorithm.</exception>
3082 <member name="M:System.Security.Cryptography.SHA1.Create">
3083 <summary>Creates an instance of the default implementation of <see cref="T:System.Security.Cryptography.SHA1" />.</summary>
3084 <returns>A new instance of <see cref="T:System.Security.Cryptography.SHA1" />.</returns>
3086 <member name="M:System.Security.Cryptography.SHA1.Create(System.String)">
3087 <summary>Creates an instance of the specified implementation of <see cref="T:System.Security.Cryptography.SHA1" />.</summary>
3088 <param name="hashName">The name of the specific implementation of <see cref="T:System.Security.Cryptography.SHA1" /> to be used.</param>
3089 <returns>A new instance of <see cref="T:System.Security.Cryptography.SHA1" /> using the specified implementation.</returns>
3091 <member name="T:System.Security.Cryptography.SHA1Managed">
3092 <summary>Computes the <see cref="T:System.Security.Cryptography.SHA1" /> hash for the input data using the managed library.</summary>
3094 <member name="M:System.Security.Cryptography.SHA1Managed.#ctor">
3095 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.SHA1Managed" /> class.</summary>
3096 <exception cref="T:System.InvalidOperationException">This class is not compliant with the FIPS algorithm.</exception>
3098 <member name="M:System.Security.Cryptography.SHA1Managed.Dispose(System.Boolean)">
3099 <summary>Releases unmanaged resources used by the <see cref="T:System.Security.Cryptography.SHA1Managed" /> object and optionally releases the managed resources.</summary>
3100 <param name="disposing">
3101 <see langword="true" /> to release both managed and unmanaged resources; <see langword="false" /> to release only unmanaged resources.</param>
3103 <member name="M:System.Security.Cryptography.SHA1Managed.HashCore(System.Byte[],System.Int32,System.Int32)">
3104 <summary>Routes data written to the object into the <see cref="T:System.Security.Cryptography.SHA1Managed" /> hash algorithm for computing the hash.</summary>
3105 <param name="array">The input data.</param>
3106 <param name="ibStart">The offset into the byte array from which to begin using data.</param>
3107 <param name="cbSize">The number of bytes in the array to use as data.</param>
3109 <member name="M:System.Security.Cryptography.SHA1Managed.HashCore(System.ReadOnlySpan{System.Byte})">
3110 <param name="source" />
3112 <member name="M:System.Security.Cryptography.SHA1Managed.HashFinal">
3113 <summary>Returns the computed <see cref="T:System.Security.Cryptography.SHA1" /> hash value after all data has been written to the object.</summary>
3114 <returns>The computed hash code.</returns>
3116 <member name="M:System.Security.Cryptography.SHA1Managed.Initialize">
3117 <summary>Initializes an instance of <see cref="T:System.Security.Cryptography.SHA1Managed" />.</summary>
3119 <member name="M:System.Security.Cryptography.SHA1Managed.TryHashFinal(System.Span{System.Byte},System.Int32@)">
3120 <param name="destination" />
3121 <param name="bytesWritten" />
3123 <member name="T:System.Security.Cryptography.SHA256">
3124 <summary>Computes the <see cref="T:System.Security.Cryptography.SHA256" /> hash for the input data.</summary>
3126 <member name="M:System.Security.Cryptography.SHA256.#ctor">
3127 <summary>Initializes a new instance of <see cref="T:System.Security.Cryptography.SHA256" />.</summary>
3129 <member name="M:System.Security.Cryptography.SHA256.Create">
3130 <summary>Creates an instance of the default implementation of <see cref="T:System.Security.Cryptography.SHA256" />.</summary>
3131 <returns>A new instance of <see cref="T:System.Security.Cryptography.SHA256" />. On the .NET Framework, this method creates an instance of the <see cref="T:System.Security.Cryptography.SHA256Managed" /> class if FIPS mode is not active; if FIPS mode is active, it creates an instance of the <see cref="T:System.Security.Cryptography.SHA256Cng" /> class. On .NET Core, it returns an instance of a private class derived from <see cref="T:System.Security.Cryptography.SHA256" />.</returns>
3132 <exception cref="T:System.Reflection.TargetInvocationException">On the .NET Framework 4.6.1 and earlier versions only: The algorithm was used with Federal Information Processing Standards (FIPS) mode enabled, but is not FIPS compatible.</exception>
3134 <member name="M:System.Security.Cryptography.SHA256.Create(System.String)">
3135 <summary>Creates an instance of a specified implementation of <see cref="T:System.Security.Cryptography.SHA256" />.</summary>
3136 <param name="hashName">The name of the specific implementation of <see cref="T:System.Security.Cryptography.SHA256" /> to be used.</param>
3137 <returns>A new instance of <see cref="T:System.Security.Cryptography.SHA256" /> using the specified implementation.</returns>
3138 <exception cref="T:System.Reflection.TargetInvocationException">On the .NET Framework only: FIPS mode is enabled, but <paramref name="hashName" /> requests <see cref="T:System.Security.Cryptography.SHA256Managed" />, which is not FIPS compatible.</exception>
3140 <member name="T:System.Security.Cryptography.SHA256Managed">
3141 <summary>Computes the <see cref="T:System.Security.Cryptography.SHA256" /> hash for the input data using the managed library.</summary>
3143 <member name="M:System.Security.Cryptography.SHA256Managed.#ctor">
3144 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.SHA256Managed" /> class using the managed library.</summary>
3145 <exception cref="T:System.InvalidOperationException">The Federal Information Processing Standards (FIPS) security setting is enabled. This implementation is not part of the Windows Platform FIPS-validated cryptographic algorithms.</exception>
3147 <member name="M:System.Security.Cryptography.SHA256Managed.Dispose(System.Boolean)">
3148 <summary>Releases unmanaged resources used by the <see cref="T:System.Security.Cryptography.SHA256Managed" /> object and optionally releases the managed resources.</summary>
3149 <param name="disposing">
3150 <see langword="true" /> to release both managed and unmanaged resources; <see langword="false" /> to release only unmanaged resources.</param>
3152 <member name="M:System.Security.Cryptography.SHA256Managed.HashCore(System.Byte[],System.Int32,System.Int32)">
3153 <summary>When overridden in a derived class, routes data written to the object into the <see cref="T:System.Security.Cryptography.SHA256" /> hash algorithm for computing the hash.</summary>
3154 <param name="array">The input data.</param>
3155 <param name="ibStart">The offset into the byte array from which to begin using data.</param>
3156 <param name="cbSize">The number of bytes in the array to use as data.</param>
3158 <member name="M:System.Security.Cryptography.SHA256Managed.HashCore(System.ReadOnlySpan{System.Byte})">
3159 <param name="source" />
3161 <member name="M:System.Security.Cryptography.SHA256Managed.HashFinal">
3162 <summary>When overridden in a derived class, finalizes the hash computation after the last data is processed by the cryptographic stream object.</summary>
3163 <returns>The computed hash code.</returns>
3165 <member name="M:System.Security.Cryptography.SHA256Managed.Initialize">
3166 <summary>Initializes an instance of <see cref="T:System.Security.Cryptography.SHA256Managed" />.</summary>
3168 <member name="M:System.Security.Cryptography.SHA256Managed.TryHashFinal(System.Span{System.Byte},System.Int32@)">
3169 <param name="destination" />
3170 <param name="bytesWritten" />
3172 <member name="T:System.Security.Cryptography.SHA384">
3173 <summary>Computes the <see cref="T:System.Security.Cryptography.SHA384" /> hash for the input data.</summary>
3175 <member name="M:System.Security.Cryptography.SHA384.#ctor">
3176 <summary>Initializes a new instance of <see cref="T:System.Security.Cryptography.SHA384" />.</summary>
3178 <member name="M:System.Security.Cryptography.SHA384.Create">
3179 <summary>Creates an instance of the default implementation of <see cref="T:System.Security.Cryptography.SHA384" />.</summary>
3180 <returns>A new instance of <see cref="T:System.Security.Cryptography.SHA384" />.</returns>
3181 <exception cref="T:System.Reflection.TargetInvocationException">The algorithm was used with Federal Information Processing Standards (FIPS) mode enabled, but is not FIPS compatible.</exception>
3183 <member name="M:System.Security.Cryptography.SHA384.Create(System.String)">
3184 <summary>Creates an instance of a specified implementation of <see cref="T:System.Security.Cryptography.SHA384" />.</summary>
3185 <param name="hashName">The name of the specific implementation of <see cref="T:System.Security.Cryptography.SHA384" /> to be used.</param>
3186 <returns>A new instance of <see cref="T:System.Security.Cryptography.SHA384" /> using the specified implementation.</returns>
3187 <exception cref="T:System.Reflection.TargetInvocationException">The algorithm described by the <paramref name="hashName" /> parameter was used with Federal Information Processing Standards (FIPS) mode enabled, but is not FIPS compatible.</exception>
3189 <member name="T:System.Security.Cryptography.SHA384Managed">
3190 <summary>Computes the <see cref="T:System.Security.Cryptography.SHA384" /> hash for the input data using the managed library.</summary>
3192 <member name="M:System.Security.Cryptography.SHA384Managed.#ctor">
3193 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.SHA384Managed" /> class.</summary>
3194 <exception cref="T:System.InvalidOperationException">The Federal Information Processing Standards (FIPS) security setting is enabled. This implementation is not part of the Windows Platform FIPS-validated cryptographic algorithms.</exception>
3196 <member name="M:System.Security.Cryptography.SHA384Managed.Dispose(System.Boolean)">
3197 <summary>Releases unmanaged resources used by the <see cref="T:System.Security.Cryptography.SHA384Managed" /> object and optionally releases the managed resources.</summary>
3198 <param name="disposing">
3199 <see langword="true" /> to release both managed and unmanaged resources; <see langword="false" /> to release only unmanaged resources.</param>
3201 <member name="M:System.Security.Cryptography.SHA384Managed.HashCore(System.Byte[],System.Int32,System.Int32)">
3202 <summary>When overridden in a derived class, routes data written to the object into the <see cref="T:System.Security.Cryptography.SHA384Managed" /> hash algorithm for computing the hash.</summary>
3203 <param name="array">The input data.</param>
3204 <param name="ibStart">The offset into the byte array from which to begin using data.</param>
3205 <param name="cbSize">The number of bytes in the array to use as data.</param>
3207 <member name="M:System.Security.Cryptography.SHA384Managed.HashCore(System.ReadOnlySpan{System.Byte})">
3208 <param name="source" />
3210 <member name="M:System.Security.Cryptography.SHA384Managed.HashFinal">
3211 <summary>When overridden in a derived class, finalizes the hash computation after the last data is processed by the cryptographic stream object.</summary>
3212 <returns>The computed hash code.</returns>
3214 <member name="M:System.Security.Cryptography.SHA384Managed.Initialize">
3215 <summary>Initializes an instance of <see cref="T:System.Security.Cryptography.SHA384Managed" />.</summary>
3217 <member name="M:System.Security.Cryptography.SHA384Managed.TryHashFinal(System.Span{System.Byte},System.Int32@)">
3218 <param name="destination" />
3219 <param name="bytesWritten" />
3221 <member name="T:System.Security.Cryptography.SHA512">
3222 <summary>Computes the <see cref="T:System.Security.Cryptography.SHA512" /> hash for the input data.</summary>
3224 <member name="M:System.Security.Cryptography.SHA512.#ctor">
3225 <summary>Initializes a new instance of <see cref="T:System.Security.Cryptography.SHA512" />.</summary>
3227 <member name="M:System.Security.Cryptography.SHA512.Create">
3228 <summary>Creates an instance of the default implementation of <see cref="T:System.Security.Cryptography.SHA512" />.</summary>
3229 <returns>A new instance of <see cref="T:System.Security.Cryptography.SHA512" />.</returns>
3230 <exception cref="T:System.Reflection.TargetInvocationException">The algorithm was used with Federal Information Processing Standards (FIPS) mode enabled, but is not FIPS compatible.</exception>
3232 <member name="M:System.Security.Cryptography.SHA512.Create(System.String)">
3233 <summary>Creates an instance of a specified implementation of <see cref="T:System.Security.Cryptography.SHA512" />.</summary>
3234 <param name="hashName">The name of the specific implementation of <see cref="T:System.Security.Cryptography.SHA512" /> to be used.</param>
3235 <returns>A new instance of <see cref="T:System.Security.Cryptography.SHA512" /> using the specified implementation.</returns>
3236 <exception cref="T:System.Reflection.TargetInvocationException">The algorithm described by the <paramref name="hashName" /> parameter was used with Federal Information Processing Standards (FIPS) mode enabled, but is not FIPS compatible.</exception>
3238 <member name="T:System.Security.Cryptography.SHA512Managed">
3239 <summary>Computes the <see cref="T:System.Security.Cryptography.SHA512" /> hash algorithm for the input data using the managed library.</summary>
3241 <member name="M:System.Security.Cryptography.SHA512Managed.#ctor">
3242 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.SHA512Managed" /> class.</summary>
3243 <exception cref="T:System.InvalidOperationException">The Federal Information Processing Standards (FIPS) security setting is enabled. This implementation is not part of the Windows Platform FIPS-validated cryptographic algorithms.</exception>
3245 <member name="M:System.Security.Cryptography.SHA512Managed.Dispose(System.Boolean)">
3246 <summary>Releases unmanaged resources used by the <see cref="T:System.Security.Cryptography.SHA512Managed" /> object and optionally releases the managed resources.</summary>
3247 <param name="disposing">
3248 <see langword="true" /> to release both managed and unmanaged resources; <see langword="false" /> to release only unmanaged resources.</param>
3250 <member name="M:System.Security.Cryptography.SHA512Managed.HashCore(System.Byte[],System.Int32,System.Int32)">
3251 <summary>When overridden in a derived class, routes data written to the object into the <see cref="T:System.Security.Cryptography.SHA512Managed" /> hash algorithm for computing the hash.</summary>
3252 <param name="array">The input data.</param>
3253 <param name="ibStart">The offset into the byte array from which to begin using data.</param>
3254 <param name="cbSize">The number of bytes in the array to use as data.</param>
3256 <member name="M:System.Security.Cryptography.SHA512Managed.HashCore(System.ReadOnlySpan{System.Byte})">
3257 <param name="source" />
3259 <member name="M:System.Security.Cryptography.SHA512Managed.HashFinal">
3260 <summary>When overridden in a derived class, finalizes the hash computation after the last data is processed by the cryptographic stream object.</summary>
3261 <returns>The computed hash code.</returns>
3263 <member name="M:System.Security.Cryptography.SHA512Managed.Initialize">
3264 <summary>Initializes an instance of the <see cref="T:System.Security.Cryptography.SHA512Managed" /> class using the managed library.</summary>
3266 <member name="M:System.Security.Cryptography.SHA512Managed.TryHashFinal(System.Span{System.Byte},System.Int32@)">
3267 <param name="destination" />
3268 <param name="bytesWritten" />
3270 <member name="T:System.Security.Cryptography.SignatureDescription">
3271 <summary>Contains information about the properties of a digital signature.</summary>
3273 <member name="M:System.Security.Cryptography.SignatureDescription.#ctor">
3274 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.SignatureDescription" /> class.</summary>
3276 <member name="M:System.Security.Cryptography.SignatureDescription.#ctor(System.Security.SecurityElement)">
3277 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.SignatureDescription" /> class from the specified <see cref="T:System.Security.SecurityElement" />.</summary>
3278 <param name="el">The <see cref="T:System.Security.SecurityElement" /> from which to get the algorithms for the signature description.</param>
3279 <exception cref="T:System.ArgumentNullException">The <paramref name="el" /> parameter is <see langword="null" />.</exception>
3281 <member name="M:System.Security.Cryptography.SignatureDescription.CreateDeformatter(System.Security.Cryptography.AsymmetricAlgorithm)">
3282 <summary>Creates an <see cref="T:System.Security.Cryptography.AsymmetricSignatureDeformatter" /> instance with the specified key using the <see cref="P:System.Security.Cryptography.SignatureDescription.DeformatterAlgorithm" /> property.</summary>
3283 <param name="key">The key to use in the <see cref="T:System.Security.Cryptography.AsymmetricSignatureDeformatter" />.</param>
3284 <returns>The newly created <see cref="T:System.Security.Cryptography.AsymmetricSignatureDeformatter" /> instance.</returns>
3286 <member name="M:System.Security.Cryptography.SignatureDescription.CreateDigest">
3287 <summary>Creates a <see cref="T:System.Security.Cryptography.HashAlgorithm" /> instance using the <see cref="P:System.Security.Cryptography.SignatureDescription.DigestAlgorithm" /> property.</summary>
3288 <returns>The newly created <see cref="T:System.Security.Cryptography.HashAlgorithm" /> instance.</returns>
3290 <member name="M:System.Security.Cryptography.SignatureDescription.CreateFormatter(System.Security.Cryptography.AsymmetricAlgorithm)">
3291 <summary>Creates an <see cref="T:System.Security.Cryptography.AsymmetricSignatureFormatter" /> instance with the specified key using the <see cref="P:System.Security.Cryptography.SignatureDescription.FormatterAlgorithm" /> property.</summary>
3292 <param name="key">The key to use in the <see cref="T:System.Security.Cryptography.AsymmetricSignatureFormatter" />.</param>
3293 <returns>The newly created <see cref="T:System.Security.Cryptography.AsymmetricSignatureFormatter" /> instance.</returns>
3295 <member name="P:System.Security.Cryptography.SignatureDescription.DeformatterAlgorithm">
3296 <summary>Gets or sets the deformatter algorithm for the signature description.</summary>
3297 <returns>The deformatter algorithm for the signature description.</returns>
3299 <member name="P:System.Security.Cryptography.SignatureDescription.DigestAlgorithm">
3300 <summary>Gets or sets the digest algorithm for the signature description.</summary>
3301 <returns>The digest algorithm for the signature description.</returns>
3303 <member name="P:System.Security.Cryptography.SignatureDescription.FormatterAlgorithm">
3304 <summary>Gets or sets the formatter algorithm for the signature description.</summary>
3305 <returns>The formatter algorithm for the signature description.</returns>
3307 <member name="P:System.Security.Cryptography.SignatureDescription.KeyAlgorithm">
3308 <summary>Gets or sets the key algorithm for the signature description.</summary>
3309 <returns>The key algorithm for the signature description.</returns>
3311 <member name="T:System.Security.Cryptography.TripleDES">
3312 <summary>Represents the base class for Triple Data Encryption Standard algorithms from which all <see cref="T:System.Security.Cryptography.TripleDES" /> implementations must derive.</summary>
3314 <member name="M:System.Security.Cryptography.TripleDES.#ctor">
3315 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.TripleDES" /> class.</summary>
3317 <member name="M:System.Security.Cryptography.TripleDES.Create">
3318 <summary>Creates an instance of a cryptographic object to perform the <see cref="T:System.Security.Cryptography.TripleDES" /> algorithm.</summary>
3319 <returns>An instance of a cryptographic object.</returns>
3321 <member name="M:System.Security.Cryptography.TripleDES.Create(System.String)">
3322 <summary>Creates an instance of a cryptographic object to perform the specified implementation of the <see cref="T:System.Security.Cryptography.TripleDES" /> algorithm.</summary>
3323 <param name="str">The name of the specific implementation of <see cref="T:System.Security.Cryptography.TripleDES" /> to use.</param>
3324 <returns>An instance of a cryptographic object.</returns>
3326 <member name="M:System.Security.Cryptography.TripleDES.IsWeakKey(System.Byte[])">
3327 <summary>Determines whether the specified key is weak.</summary>
3328 <param name="rgbKey">The secret key to test for weakness.</param>
3330 <see langword="true" /> if the key is weak; otherwise, <see langword="false" />.</returns>
3331 <exception cref="T:System.Security.Cryptography.CryptographicException">The size of the <paramref name="rgbKey" /> parameter is not valid.</exception>
3333 <member name="P:System.Security.Cryptography.TripleDES.Key">
3334 <summary>Gets or sets the secret key for the <see cref="T:System.Security.Cryptography.TripleDES" /> algorithm.</summary>
3335 <returns>The secret key for the <see cref="T:System.Security.Cryptography.TripleDES" /> algorithm.</returns>
3336 <exception cref="T:System.ArgumentNullException">An attempt was made to set the key to <see langword="null" />.</exception>
3337 <exception cref="T:System.Security.Cryptography.CryptographicException">An attempt was made to set a key whose length is invalid.
3339 An attempt was made to set a weak key (see <see cref="M:System.Security.Cryptography.TripleDES.IsWeakKey(System.Byte[])" />).</exception>