﻿<?xml version="1.0" encoding="utf-8"?><Type Name="RSA" FullName="System.Security.Cryptography.RSA"><TypeSignature Maintainer="auto" Language="C#" Value="public abstract class RSA : System.Security.Cryptography.AsymmetricAlgorithm" /><TypeSignature Language="ILAsm" Value=".class public auto ansi abstract beforefieldinit RSA extends System.Security.Cryptography.AsymmetricAlgorithm" /><AssemblyInfo><AssemblyName>mscorlib</AssemblyName><AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00]</AssemblyPublicKey><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the &lt;link location="node:gtk-sharp/programming/threads"&gt;Gtk# Thread Programming&lt;/link&gt; for details.</ThreadSafetyStatement><Base><BaseTypeName>System.Security.Cryptography.AsymmetricAlgorithm</BaseTypeName></Base><Interfaces></Interfaces><Attributes><Attribute><AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName></Attribute></Attributes><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Extending this class proves that you are implementing an RSA key. This is required for any developer providing a new RSA key implementation.</para><para>The only purpose of this class is as a hierarchy member for identification of the RSA algorithm.</para><para>The <see cref="T:System.Security.Cryptography.RSACryptoServiceProvider" /> supports key lengths from 384 bits to 16384 bits in increments of 8 bits if you have the Microsoft Enhanced Cryptographic Provider installed.  It supports key lengths from 384 bits to 512 bits in increments of 8 bits if you have the Microsoft Base Cryptographic Provider installed. </para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Represents the base class from which all implementations of the <see cref="T:System.Security.Cryptography.RSA" /> algorithm inherit.</para></summary></Docs><Members><Member MemberName=".ctor"><MemberSignature Language="C#" Value="protected RSA ();" /><MemberSignature Language="ILAsm" Value=".method familyhidebysig specialname rtspecialname instance void .ctor() cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue /><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>You cannot create an instance of an abstract class. Application code will create an instance of an implementation of this class.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of <see cref="T:System.Security.Cryptography.RSA" />.</para></summary></Docs></Member><Member MemberName="Create"><MemberSignature Language="C#" Value="public static System.Security.Cryptography.RSA Create ();" /><MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Security.Cryptography.RSA Create() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Security.Cryptography.RSA</ReturnType></ReturnValue><Parameters /><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Creates an instance of the default implementation of the <see cref="T:System.Security.Cryptography.RSA" /> algorithm.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A new instance of the default implementation of <see cref="T:System.Security.Cryptography.RSA" />.</para></returns></Docs></Member><Member MemberName="Create"><MemberSignature Language="C#" Value="public static System.Security.Cryptography.RSA Create (string algName);" /><MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Security.Cryptography.RSA Create(string algName) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Security.Cryptography.RSA</ReturnType></ReturnValue><Parameters><Parameter Name="algName" Type="System.String" /></Parameters><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Creates an instance of the specified implementation of <see cref="T:System.Security.Cryptography.RSA" />.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A new instance of the specified implementation of <see cref="T:System.Security.Cryptography.RSA" />.</para></returns><param name="algName"><attribution license="cc4" from="Microsoft" modified="false" />The name of the implementation of <see cref="T:System.Security.Cryptography.RSA" /> to use. </param></Docs></Member><Member MemberName="DecryptValue"><MemberSignature Language="C#" Value="public abstract byte[] DecryptValue (byte[] rgb);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance unsigned int8[] DecryptValue(unsigned int8[] rgb) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Byte[]</ReturnType></ReturnValue><Parameters><Parameter Name="rgb" Type="System.Byte[]" /></Parameters><Docs><remarks>Direct (raw) decryption (i.e. without padding) is discouraged due to high security risks.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>When overridden in a derived class, decrypts the input data using the private key.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The resulting decryption of the <paramref name="rgb" /> parameter in plain text.</para></returns><param name="rgb"><attribution license="cc4" from="Microsoft" modified="false" />The cipher text to be decrypted. </param></Docs></Member><Member MemberName="EncryptValue"><MemberSignature Language="C#" Value="public abstract byte[] EncryptValue (byte[] rgb);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance unsigned int8[] EncryptValue(unsigned int8[] rgb) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Byte[]</ReturnType></ReturnValue><Parameters><Parameter Name="rgb" Type="System.Byte[]" /></Parameters><Docs><remarks>Direct (raw) encryption (i.e. without padding) is discouraged due to high security risks.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>When overridden in a derived class, encrypts the input data using the public key.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The resulting encryption of the <paramref name="rgb" /> parameter as cipher text.</para></returns><param name="rgb"><attribution license="cc4" from="Microsoft" modified="false" />The plain text to be encrypted. </param></Docs></Member><Member MemberName="ExportParameters"><MemberSignature Language="C#" Value="public abstract System.Security.Cryptography.RSAParameters ExportParameters (bool includePrivateParameters);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance valuetype System.Security.Cryptography.RSAParameters ExportParameters(bool includePrivateParameters) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Security.Cryptography.RSAParameters</ReturnType></ReturnValue><Parameters><Parameter Name="includePrivateParameters" Type="System.Boolean" /></Parameters><Docs><remarks>You are responsable to zeroize the private key (<see cref="T:System.Security.Cryptography.RSAParameters" /> parameters <see cref="M:System.Security.Cryptography.RSAParameters.D" />, <see cref="M:System.Security.Cryptography.RSAParameters.P" />, <see cref="M:System.Security.Cryptography.RSAParameters.Q" />, <see cref="M:System.Security.Cryptography.RSAParameters.DP" />, <see cref="M:System.Security.Cryptography.RSAParameters.DQ" /> and <see cref="M:System.Security.Cryptography.RSAParameters.InverseQ" />) if you export it from the instance.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>When overridden in a derived class, exports the <see cref="T:System.Security.Cryptography.RSAParameters" />.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The parameters for <see cref="T:System.Security.Cryptography.DSA" />.</para></returns><param name="includePrivateParameters"><attribution license="cc4" from="Microsoft" modified="false" />true to include private parameters; otherwise, false. </param></Docs></Member><Member MemberName="FromXmlString"><MemberSignature Language="C#" Value="public override void FromXmlString (string xmlString);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance void FromXmlString(string xmlString) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="xmlString" Type="System.String" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="M:System.Security.Cryptography.RSA.FromXmlString(System.String)" /> initializes an RSA object using key information in an XML string that was generated using the <see cref="M:System.Security.Cryptography.RSA.ToXmlString(System.Boolean)" /> method.  The <see cref="M:System.Security.Cryptography.RSA.FromXmlString(System.String)" /> method accepts either an XML string containing a public key or an XML string containing a public and private key.</para><para>Use the <see cref="M:System.Security.Cryptography.RSA.FromXmlString(System.String)" /> method to conveniently initialize <see cref="T:System.Security.Cryptography.RSA" /> key information. </para><block subset="none" type="note"><para>Persisting an XML string containing a private key to an insecure location is a security threat.  The security of your application can be compromised if a malicious third party can access your private key.  To safely persist a private key, use a secure key container.  For more information about persisting private keys in a key container, see <format type="text/html"><a href="0dbcbd8d-0dcf-40e9-9f0c-e3f162d35ccc">How to: Store Asymmetric Keys in a Key Container</a></format>. </para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes an <see cref="T:System.Security.Cryptography.RSA" /> object from the key information from an XML string.</para></summary><param name="xmlString"><attribution license="cc4" from="Microsoft" modified="false" />The XML string containing <see cref="T:System.Security.Cryptography.RSA" /> key information. </param></Docs></Member><Member MemberName="ImportParameters"><MemberSignature Language="C#" Value="public abstract void ImportParameters (System.Security.Cryptography.RSAParameters parameters);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void ImportParameters(valuetype System.Security.Cryptography.RSAParameters parameters) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="parameters" Type="System.Security.Cryptography.RSAParameters" /></Parameters><Docs><remarks>Parameters D, P and Q are required to import an RSA private key. Parameters DP, DQ and InverseQ will be used for the Chinese Remainder Theorem (CRT) optimization if available.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>When overridden in a derived class, imports the specified <see cref="T:System.Security.Cryptography.RSAParameters" />.</para></summary><param name="parameters"><attribution license="cc4" from="Microsoft" modified="false" />The parameters for <see cref="T:System.Security.Cryptography.RSA" />. </param></Docs></Member><Member MemberName="ToXmlString"><MemberSignature Language="C#" Value="public override string ToXmlString (bool includePrivateParameters);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance string ToXmlString(bool includePrivateParameters) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Parameters><Parameter Name="includePrivateParameters" Type="System.Boolean" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="M:System.Security.Cryptography.RSA.ToXmlString(System.Boolean)" /> method creates an XML string that contains either the public and private key of the current <see cref="T:System.Security.Cryptography.RSA" /> object or contains only the public key of the current <see cref="T:System.Security.Cryptography.RSA" /> object.</para><para>Use the <see cref="M:System.Security.Cryptography.RSA.ToXmlString(System.Boolean)" /> method whenever you need to conveniently persist RSA key information.  To initialize an <see cref="T:System.Security.Cryptography.RSA" /> object with the key in an XML string, use the <see cref="M:System.Security.Cryptography.RSA.FromXmlString(System.String)" /> method.   </para><block subset="none" type="note"><para>Persisting an XML string containing a private key to an insecure location is a security threat.  The security of your application can be compromised if a malicious third party can access your private key.  To safely persist a private key, use a secure key container.  For more information about persisting private keys in a key container, see <format type="text/html"><a href="0dbcbd8d-0dcf-40e9-9f0c-e3f162d35ccc">How to: Store Asymmetric Keys in a Key Container</a></format>. </para></block><para>When you pass true to the <see cref="M:System.Security.Cryptography.RSA.ToXmlString(System.Boolean)" /> method, the resulting XML string takes the following form:</para><code>&lt;RSAKeyValue&gt;
   &lt;Modulus&gt;…&lt;/Modulus&gt;
   &lt;Exponent&gt;…&lt;/Exponent&gt;
   &lt;P&gt;…&lt;/P&gt;
   &lt;Q&gt;…&lt;/Q&gt;
   &lt;DP&gt;…&lt;/DP&gt;
   &lt;DQ&gt;…&lt;/DQ&gt;
   &lt;InverseQ&gt;…&lt;/InverseQ&gt;
   &lt;D&gt;…&lt;/D&gt;
&lt;/RSAKeyValue&gt;</code><para>When you pass false to the <see cref="M:System.Security.Cryptography.RSA.ToXmlString(System.Boolean)" /> method, the resulting XML string takes the following form:</para><code>&lt;RSAKeyValue&gt;
   &lt;Modulus&gt;…&lt;/Modulus&gt;
   &lt;Exponent&gt;…&lt;/Exponent&gt;
&lt;/RSAKeyValue&gt;</code></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Creates and returns an XML string containing the key of the current <see cref="T:System.Security.Cryptography.RSA" /> object.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>An XML string containing the key of the current <see cref="T:System.Security.Cryptography.RSA" /> object.</para></returns><param name="includePrivateParameters"><attribution license="cc4" from="Microsoft" modified="false" />true to include a public and private RSA key; false to include only the public key. </param></Docs></Member></Members></Type>