DSA DSA DSA DSA Class

Definition

Представляет абстрактный базовый класс, от которого должны наследоваться все реализации алгоритма цифровой подписи (DSA). Represents the abstract base class from which all implementations of the Digital Signature Algorithm (DSA) must inherit.

public ref class DSA abstract : System::Security::Cryptography::AsymmetricAlgorithm
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class DSA : System.Security.Cryptography.AsymmetricAlgorithm
type DSA = class
    inherit AsymmetricAlgorithm
Public MustInherit Class DSA
Inherits AsymmetricAlgorithm
Inheritance
Derived
Attributes

Remarks

Можно использовать DSA класса и производных классов для создания цифровых подписей, направленных на защиту целостности данных.You can use the DSA class and derived classes to create digital signatures that help protect the integrity of your data. DSACryptoServiceProvider Предоставляет реализацию этого класса.The DSACryptoServiceProvider provides an implementation of this class.

Системой открытым ключом для цифровой подписи сообщения, отправитель сначала применяет хэш-функции для создания хэш-кода.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 exactly matches the message digest received from the sender, the receiver can assume that the message was not altered while in transit. Обратите внимание на то, что подпись может быть проверена любым лицом, так как открытый ключ отправителя является общеизвестным.Note that a signature can be verified by anyone, because the sender's public key is common knowledge.

Доступны новые Асимметричные алгоритмы.Newer asymmetric algorithms are available. Рассмотрите возможность использования RSA класс, ECDsa класс, или ECDiffieHellman вместо класса DSA класса.Consider using the RSA class, the ECDsa class, or the ECDiffieHellman class instead of the DSA class. Используйте DSA только в целях совместимости с устаревшими приложениями и данных.Use DSA only for compatibility with legacy applications and data.

Этот алгоритм поддерживает ключи длиной от 512 до 1024 бит с приращениями по 64 бит.This algorithm supports key lengths from 512 bits to 1024 bits in increments of 64 bits.

Constructors

DSA() DSA() DSA() DSA()

Инициализирует новый экземпляр класса DSA. Initializes a new instance of the DSA class.

Methods

Clear() Clear() Clear() Clear()

Освобождает все ресурсы, используемые классом AsymmetricAlgorithm. Releases all resources used by the AsymmetricAlgorithm class.

(Inherited from AsymmetricAlgorithm)
Create() Create() Create() Create()

Создает криптографический объект по умолчанию, используемый для выполнения алгоритма асимметричного шифрования. Creates the default cryptographic object used to perform the asymmetric algorithm.

Create(DSAParameters) Create(DSAParameters) Create(DSAParameters) Create(DSAParameters)

Создает новый временный DSA-ключ с заданными параметрами DSA-ключа. Creates a new ephemeral DSA key with the specified DSA key parameters.

Create(Int32) Create(Int32) Create(Int32) Create(Int32)

Создает новый временный DSA-ключ с заданным размером ключа. Creates a new ephemeral DSA key with the specified key size.

Create(String) Create(String) Create(String) Create(String)

Создает заданный криптографический объект, используемый для выполнения алгоритма асимметричного шифрования. Creates the specified cryptographic object used to perform the asymmetric algorithm.

CreateSignature(Byte[]) CreateSignature(Byte[]) CreateSignature(Byte[]) CreateSignature(Byte[])

При переопределении в производном классе создает подпись DSA для указанных данных. When overridden in a derived class, creates the DSA signature for the specified data.

Dispose() Dispose() Dispose() Dispose()

Освобождает все ресурсы, используемые текущим экземпляром класса AsymmetricAlgorithm. Releases all resources used by the current instance of the AsymmetricAlgorithm class.

(Inherited from AsymmetricAlgorithm)
Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые классом AsymmetricAlgorithm (при необходимости освобождает и управляемые ресурсы). Releases the unmanaged resources used by the AsymmetricAlgorithm class and optionally releases the managed resources.

(Inherited from AsymmetricAlgorithm)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Определяет, равен ли заданный объект текущему объекту. Determines whether the specified object is equal to the current object.

(Inherited from Object)
ExportParameters(Boolean) ExportParameters(Boolean) ExportParameters(Boolean) ExportParameters(Boolean)

Если переопределено в производном классе, экспортирует объект DSAParameters. When overridden in a derived class, exports the DSAParameters.

FromXmlString(String) FromXmlString(String) FromXmlString(String) FromXmlString(String)

Восстанавливает объект DSA из XML-строки. Reconstructs a DSA object from an XML string.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Служит хэш-функцией по умолчанию. Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Возвращает объект Type для текущего экземпляра. Gets the Type of the current instance.

(Inherited from Object)
HashData(Byte[], Int32, Int32, HashAlgorithmName) HashData(Byte[], Int32, Int32, HashAlgorithmName) HashData(Byte[], Int32, Int32, HashAlgorithmName) HashData(Byte[], Int32, Int32, HashAlgorithmName)

При переопределении в производном классе вычисляет хэш-значение указанного фрагмента массива байтов с помощью заданного хэш-алгоритма. When overridden in a derived class, computes the hash value of a specified portion of a byte array by using a specified hashing algorithm.

HashData(Stream, HashAlgorithmName) HashData(Stream, HashAlgorithmName) HashData(Stream, HashAlgorithmName) HashData(Stream, HashAlgorithmName)

При переопределении в производном классе вычисляет хэш-значение указанного двоичного потока с помощью заданного алгоритма хэширования. When overridden in a derived class, computes the hash value of a specified binary stream by using a specified hashing algorithm.

ImportParameters(DSAParameters) ImportParameters(DSAParameters) ImportParameters(DSAParameters) ImportParameters(DSAParameters)

Если переопределено в производном классе, импортирует заданный объект DSAParameters. When overridden in a derived class, imports the specified DSAParameters.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Создает неполную копию текущего объекта Object. Creates a shallow copy of the current Object.

(Inherited from Object)
SignData(Byte[], HashAlgorithmName) SignData(Byte[], HashAlgorithmName) SignData(Byte[], HashAlgorithmName) SignData(Byte[], HashAlgorithmName)

Вычисляет хэш-значение заданного массива байтов с помощью указанного алгоритма хэширования и подписывает результирующее хэш-значение. Computes the hash value of the specified byte array using the specified hash algorithm and signs the resulting hash value.

SignData(Byte[], Int32, Int32, HashAlgorithmName) SignData(Byte[], Int32, Int32, HashAlgorithmName) SignData(Byte[], Int32, Int32, HashAlgorithmName) SignData(Byte[], Int32, Int32, HashAlgorithmName)

Вычисляет хэш-значение фрагмента заданного массива байтов с помощью указанного алгоритма хэширования и подписывает результирующее хэш-значение. Computes the hash value of a portion of the specified byte array using the specified hash algorithm and signs the resulting hash value.

SignData(Stream, HashAlgorithmName) SignData(Stream, HashAlgorithmName) SignData(Stream, HashAlgorithmName) SignData(Stream, HashAlgorithmName)

Вычисляет хэш-значение заданного потока с помощью указанного алгоритма хэширования и подписывает результирующее хэш-значение. Computes the hash value of the specified stream using the specified hash algorithm and signs the resulting hash value.

ToString() ToString() ToString() ToString()

Возвращает строку, представляющую текущий объект. Returns a string that represents the current object.

(Inherited from Object)
ToXmlString(Boolean) ToXmlString(Boolean) ToXmlString(Boolean) ToXmlString(Boolean)

Создает и возвращает XML-представление текущего объекта DSA. Creates and returns an XML string representation of the current DSA object.

TryCreateSignature(ReadOnlySpan<Byte>, Span<Byte>, Int32) TryCreateSignature(ReadOnlySpan<Byte>, Span<Byte>, Int32) TryCreateSignature(ReadOnlySpan<Byte>, Span<Byte>, Int32) TryCreateSignature(ReadOnlySpan<Byte>, Span<Byte>, Int32)
TryHashData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32) TryHashData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32) TryHashData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32) TryHashData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32)
TrySignData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32) TrySignData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32) TrySignData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32) TrySignData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32)
VerifyData(Byte[], Byte[], HashAlgorithmName) VerifyData(Byte[], Byte[], HashAlgorithmName) VerifyData(Byte[], Byte[], HashAlgorithmName) VerifyData(Byte[], Byte[], HashAlgorithmName)

Проверяет допустимость цифровой подписи путем вычисления хэш-значения заданных данных с помощью указанного алгоритма хэширования и его сравнения с предоставленной подписью. 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.

VerifyData(Byte[], Int32, Int32, Byte[], HashAlgorithmName) VerifyData(Byte[], Int32, Int32, Byte[], HashAlgorithmName) VerifyData(Byte[], Int32, Int32, Byte[], HashAlgorithmName) VerifyData(Byte[], Int32, Int32, Byte[], HashAlgorithmName)

Проверяет допустимость цифровой подписи путем вычисления хэш-значения данных во фрагменте массива байтов с помощью указанного алгоритма хэширования и его сравнения с предоставленной подписью. 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.

VerifyData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName) VerifyData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName) VerifyData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName) VerifyData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName)
VerifyData(Stream, Byte[], HashAlgorithmName) VerifyData(Stream, Byte[], HashAlgorithmName) VerifyData(Stream, Byte[], HashAlgorithmName) VerifyData(Stream, Byte[], HashAlgorithmName)

Проверяет допустимость цифровой подписи путем вычисления хэш-значения заданного потока с помощью указанного алгоритма хэширования и его сравнения с предоставленной подписью. 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.

VerifySignature(Byte[], Byte[]) VerifySignature(Byte[], Byte[]) VerifySignature(Byte[], Byte[]) VerifySignature(Byte[], Byte[])

При переопределении в производном классе проверяет подпись DSA для указанных данных. When overridden in a derived class, verifies the DSA signature for the specified data.

VerifySignature(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>) VerifySignature(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>) VerifySignature(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>) VerifySignature(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>)

Properties

KeyExchangeAlgorithm KeyExchangeAlgorithm KeyExchangeAlgorithm KeyExchangeAlgorithm

При переопределении в производном классе возвращает имя алгоритма обмена ключами. When overridden in a derived class, gets the name of the key exchange algorithm. В противном случае создается исключение NotImplementedException. Otherwise, throws an NotImplementedException.

(Inherited from AsymmetricAlgorithm)
KeySize KeySize KeySize KeySize

Получает или задает размер модуля ключа (в битах), используемого алгоритмом асимметричного шифрования. Gets or sets the size, in bits, of the key modulus used by the asymmetric algorithm.

(Inherited from AsymmetricAlgorithm)
LegalKeySizes LegalKeySizes LegalKeySizes LegalKeySizes

Возвращает размеры ключа, которые поддерживаются алгоритмом асимметричного шифрования. Gets the key sizes that are supported by the asymmetric algorithm.

(Inherited from AsymmetricAlgorithm)
SignatureAlgorithm SignatureAlgorithm SignatureAlgorithm SignatureAlgorithm

При реализации в производном классе возвращает имя алгоритма подписи. When implemented in a derived class, gets the name of the signature algorithm. В противном случае всегда создается исключение NotImplementedException. Otherwise, always throws a NotImplementedException.

(Inherited from AsymmetricAlgorithm)

Fields

KeySizeValue KeySizeValue KeySizeValue KeySizeValue

Представляет размер модуля ключа (в битах), используемого алгоритмом асимметричного шифрования. Represents the size, in bits, of the key modulus used by the asymmetric algorithm.

(Inherited from AsymmetricAlgorithm)
LegalKeySizesValue LegalKeySizesValue LegalKeySizesValue LegalKeySizesValue

Задает размеры ключа, которые поддерживаются алгоритмом асимметричного шифрования. Specifies the key sizes that are supported by the asymmetric algorithm.

(Inherited from AsymmetricAlgorithm)

Explicit Interface Implementations

IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose() Inherited from AsymmetricAlgorithm

Applies to

See Also