AsymmetricAlgorithm Class

[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]

Represents the abstract base class from which all implementations of asymmetric algorithms must inherit.

Namespace:  System.Security.Cryptography
Assembly:  System.Security (in System.Security.dll)

[<AbstractClass>]
type AsymmetricAlgorithm =  
    class
        inherit SessionContainer
    end

The AsymmetricAlgorithm type exposes the following members.

  NameDescription
Protected methodAsymmetricAlgorithmInitializes a new instance of the AsymmetricAlgorithm class.
Top

  NameDescription
Public propertyIsDisposed (Inherited from SessionContainer.)
Public propertyKeyPairGets or sets the CryptoKey object representing the key pair for the asymmetric algorithm.
Public propertyKeySizeGets or sets the size, in bits, of the key modulus used by the asymmetric algorithm.
Public propertyLegalKeySizesGets the key sizes that are supported by the asymmetric algorithm.
Public propertySession (Inherited from SessionContainer.)
Top

  NameDescription
Public methodClearReleases all resources used by the AsymmetricAlgorithm class.
Public methodDispose()()()() (Inherited from SessionContainer.)
Protected methodDispose(Boolean)Releases the unmanaged resources used by the AsymmetricAlgorithm class and optionally releases the managed resources. (Overrides SessionContainer..::..Dispose(Boolean).)
Public methodEquals(Object)Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected methodFinalize (Inherited from SessionContainer.)
Protected methodGenerateKeyPairGenerates a CryptoKey object representing the key pair for the symmetric algorithm.
Public methodGetHashCodeServes as a hash function for a particular type. (Inherited from Object.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)
Top

  NameDescription
Protected fieldKeyPairValueSpecifies the CryptoKey object representing the key pair for the asymmetric algorithm.
Protected fieldKeySizeValueRepresents the size, in bits, of the key modulus used by the asymmetric algorithm.
Protected fieldLegalKeySizesValueSpecifies the key sizes that are supported by the asymmetric algorithm.
Protected fieldm_isDisposed (Inherited from SessionContainer.)
Protected fieldm_isSessionClosing (Inherited from SessionContainer.)
Protected fieldm_ownsSession (Inherited from SessionContainer.)
Protected fieldm_session (Inherited from SessionContainer.)
Protected fieldOwnsKeyPairSpecifies whether the algorithm is responsible for disposing the key pair.
Top

Asymmetric cryptographic algorithms, also known as public-key algorithms, require that both sender and receiver maintain a pair of related keys: a private key and a public key. Both keys are unique to the entity. The public key can be made available to anyone; this key is used for encoding data that is sent to a receiver. The private key must be kept private by the receiver; this key is used for decoding messages encoded using the receiver's public key. The RSACryptoServiceProvider class is an implementation of a public-key algorithm.

You can use public-key systems to form digital signatures. Digital signatures are used to help to protect the integrity of data. For example, to use a public-key system to digitally sign a message, the sender first applies a hash function to the message to create a message digest. The sender then encrypts the message digest with the sender's private key to create the sender's personal signature. Upon receiving the message and signature, the receiver decrypts the signature using the sender's public key to recover the message digest and hashes the message using the same hash algorithm that the sender used. If the message digest that the receiver computes matches the message digest received from the sender, the receiver can assume that the message was not altered while in transit. Note that anyone can verify a signature, because the sender's public key is common knowledge. This technique does not retain the secrecy of the message; for the message to be secret, it must also be encrypted.

The DSACryptoServiceProvider class is an implementation of a digital signature algorithm. You can also use RSACryptoServiceProvider to create and verify a digital signature.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Show: