Class Gost3412_2015_Kexp15_MCryptoServiceProvider
Реализация провайдера алгоритма ключа kexp15 на основе ГОСТ 34.12-2015 М.
Inheritance
Implements
Inherited Members
Namespace: CryptoPro.Security.Cryptography
Assembly: CryptoPro.Security.Cryptography.dll
Syntax
public class Gost3412_2015_Kexp15_MCryptoServiceProvider : Gost3412_2015_Kexp15, IDisposable
Constructors
Gost3412_2015_Kexp15_MCryptoServiceProvider()
Создаёт экземпляр провайдера со стандартыми параметрами и случайным ключом.
Declaration
public Gost3412_2015_Kexp15_MCryptoServiceProvider()
Gost3412_2015_Kexp15_MCryptoServiceProvider(CpCspParameters)
Создаёт экземпляр провайдера с указанными параметрами.
Declaration
public Gost3412_2015_Kexp15_MCryptoServiceProvider(CpCspParameters parameters)
Parameters
| Type | Name | Description |
|---|---|---|
| CpCspParameters | parameters |
Gost3412_2015_Kexp15_MCryptoServiceProvider(nint, nint)
Создание объекта симметричного шифрования по HANDLE ключа.
Declaration
public Gost3412_2015_Kexp15_MCryptoServiceProvider(nint keyHandle, nint providerHandle)
Parameters
| Type | Name | Description |
|---|---|---|
| nint | keyHandle | HANDLE симметричного ключа. |
| nint | providerHandle | HANDLE провайдера. |
Remarks
Класс становится владельцем ДУБЛЯ ключа и закрывает HANDLE при закрытии класса, HANDLE провайдера не дублируется, но увеличивается счетчик его использования (DangerousAddRef).
Exceptions
| Type | Condition |
|---|---|
| ArgumentException | Параметр |
Properties
Key
Получение или установка ключа используемого для симметричного шифрования.
Declaration
public override byte[] Key { get; set; }
Property Value
| Type | Description |
|---|---|
| byte[] | Симметричный ключ в чистом виде. |
Overrides
Remarks
Если ключ не был задан, то при получении ключа он будет сгенерирован функцией GenerateKey().
Размер ключа должен быть равен BlockSizeValue, т.е. 256 бит.
Exceptions
| Type | Condition |
|---|---|
| ArgumentException | При установке ключа неправильного размера. |
| CryptographicException | При запрете импорта (экспорта) "чистых" ключей при установке (получении). |
Methods
Dispose(bool)
Releases the unmanaged resources used by the SymmetricAlgorithm and optionally releases the managed resources.
Declaration
protected override void Dispose(bool disposing)
Parameters
| Type | Name | Description |
|---|---|---|
| bool | disposing | true to release both managed and unmanaged resources; false to release only unmanaged resources. |
Overrides
GenerateKey()
When overridden in a derived class, generates a random key (Key) to use for the algorithm.
Declaration
public override void GenerateKey()
Overrides
Unwrap3412_2015_K(byte[])
Импортирует (расшифровывает) секретный ключ.
Declaration
public override SymmetricAlgorithm Unwrap3412_2015_K(byte[] wrapped)
Parameters
| Type | Name | Description |
|---|---|---|
| byte[] | wrapped | Зашифрованный секретный ключ. |
Returns
| Type | Description |
|---|---|
| SymmetricAlgorithm |
Overrides
Unwrap3412_2015_M(byte[])
Импортирует (расшифровывает) секретный ключ.
Declaration
public override SymmetricAlgorithm Unwrap3412_2015_M(byte[] wrapped)
Parameters
| Type | Name | Description |
|---|---|---|
| byte[] | wrapped | Зашифрованный секретный ключ. |
Returns
| Type | Description |
|---|---|
| SymmetricAlgorithm |
Overrides
Wrap(Gost3412_2015_K, GostKeyWrapMethod)
Экспортирует (шифрует) секретный ключ.
Declaration
public override byte[] Wrap(Gost3412_2015_K prov, GostKeyWrapMethod method)
Parameters
| Type | Name | Description |
|---|---|---|
| Gost3412_2015_K | prov | Шифруемый ключ. |
| GostKeyWrapMethod | method | Алгоритм экспорта ключа. |
Returns
| Type | Description |
|---|---|
| byte[] | Зашифрованный симметричный ключ |
Overrides
Wrap(Gost3412_2015_M, GostKeyWrapMethod)
Экспортирует (шифрует) секретный ключ.
Declaration
public override byte[] Wrap(Gost3412_2015_M prov, GostKeyWrapMethod method)
Parameters
| Type | Name | Description |
|---|---|---|
| Gost3412_2015_M | prov | Шифруемый ключ. |
| GostKeyWrapMethod | method | Алгоритм экспорта ключа. |
Returns
| Type | Description |
|---|---|
| byte[] | Зашифрованный симметричный ключ |