КриптоПро .NET
Search Results for

    Показать/Скрыть содержание

    Class Gost3412_2015_MCryptoServiceProvider

    Реализация провайдера ключа по ГОСТ 34.12-2015 М

    Inheritance
    object
    SymmetricAlgorithm
    Gost3412_2015_M
    Gost3412_2015_MCryptoServiceProvider
    Implements
    IDisposable
    Inherited Members
    Gost3412_2015_M.DefaultBlockSize
    Gost3412_2015_M.DefaultKeySize
    Gost3412_2015_M.DefaultFeedbackSize
    Gost3412_2015_M.DefaultIvSize
    Gost3412_2015_M.DefaultLegalKeySizes
    Gost3412_2015_M.DefaultLegalBlockSizes
    Gost3412_2015_M.Create()
    Gost3412_2015_M.Create(string)
    SymmetricAlgorithm.Clear()
    SymmetricAlgorithm.DecryptCbc(byte[], byte[], PaddingMode)
    SymmetricAlgorithm.DecryptCbc(ReadOnlySpan<byte>, ReadOnlySpan<byte>, PaddingMode)
    SymmetricAlgorithm.DecryptCbc(ReadOnlySpan<byte>, ReadOnlySpan<byte>, Span<byte>, PaddingMode)
    SymmetricAlgorithm.DecryptCfb(byte[], byte[], PaddingMode, int)
    SymmetricAlgorithm.DecryptCfb(ReadOnlySpan<byte>, ReadOnlySpan<byte>, PaddingMode, int)
    SymmetricAlgorithm.DecryptCfb(ReadOnlySpan<byte>, ReadOnlySpan<byte>, Span<byte>, PaddingMode, int)
    SymmetricAlgorithm.DecryptEcb(byte[], PaddingMode)
    SymmetricAlgorithm.DecryptEcb(ReadOnlySpan<byte>, PaddingMode)
    SymmetricAlgorithm.DecryptEcb(ReadOnlySpan<byte>, Span<byte>, PaddingMode)
    SymmetricAlgorithm.Dispose()
    SymmetricAlgorithm.EncryptCbc(byte[], byte[], PaddingMode)
    SymmetricAlgorithm.EncryptCbc(ReadOnlySpan<byte>, ReadOnlySpan<byte>, PaddingMode)
    SymmetricAlgorithm.EncryptCbc(ReadOnlySpan<byte>, ReadOnlySpan<byte>, Span<byte>, PaddingMode)
    SymmetricAlgorithm.EncryptCfb(byte[], byte[], PaddingMode, int)
    SymmetricAlgorithm.EncryptCfb(ReadOnlySpan<byte>, ReadOnlySpan<byte>, PaddingMode, int)
    SymmetricAlgorithm.EncryptCfb(ReadOnlySpan<byte>, ReadOnlySpan<byte>, Span<byte>, PaddingMode, int)
    SymmetricAlgorithm.EncryptEcb(byte[], PaddingMode)
    SymmetricAlgorithm.EncryptEcb(ReadOnlySpan<byte>, PaddingMode)
    SymmetricAlgorithm.EncryptEcb(ReadOnlySpan<byte>, Span<byte>, PaddingMode)
    SymmetricAlgorithm.GetCiphertextLengthCbc(int, PaddingMode)
    SymmetricAlgorithm.GetCiphertextLengthCfb(int, PaddingMode, int)
    SymmetricAlgorithm.GetCiphertextLengthEcb(int, PaddingMode)
    SymmetricAlgorithm.TryDecryptCbc(ReadOnlySpan<byte>, ReadOnlySpan<byte>, Span<byte>, out int, PaddingMode)
    SymmetricAlgorithm.TryDecryptCfb(ReadOnlySpan<byte>, ReadOnlySpan<byte>, Span<byte>, out int, PaddingMode, int)
    SymmetricAlgorithm.TryDecryptEcb(ReadOnlySpan<byte>, Span<byte>, PaddingMode, out int)
    SymmetricAlgorithm.TryEncryptCbc(ReadOnlySpan<byte>, ReadOnlySpan<byte>, Span<byte>, out int, PaddingMode)
    SymmetricAlgorithm.TryEncryptCfb(ReadOnlySpan<byte>, ReadOnlySpan<byte>, Span<byte>, out int, PaddingMode, int)
    SymmetricAlgorithm.TryEncryptEcb(ReadOnlySpan<byte>, Span<byte>, PaddingMode, out int)
    SymmetricAlgorithm.ValidKeySize(int)
    SymmetricAlgorithm.BlockSize
    SymmetricAlgorithm.FeedbackSize
    SymmetricAlgorithm.IV
    SymmetricAlgorithm.KeySize
    SymmetricAlgorithm.LegalBlockSizes
    SymmetricAlgorithm.LegalKeySizes
    SymmetricAlgorithm.Mode
    SymmetricAlgorithm.Padding
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: CryptoPro.Security.Cryptography
    Assembly: CryptoPro.Security.Cryptography.dll
    Syntax
    public sealed class Gost3412_2015_MCryptoServiceProvider : Gost3412_2015_M, IDisposable

    Constructors

    Gost3412_2015_MCryptoServiceProvider()

    Создаёт экземпляр провайдера со стандартыми параметрами и случайным ключом.

    Declaration
    public Gost3412_2015_MCryptoServiceProvider()

    Gost3412_2015_MCryptoServiceProvider(CpCspParameters)

    Создаёт экземпляр провайдера с указанными параметрами.

    Declaration
    public Gost3412_2015_MCryptoServiceProvider(CpCspParameters parameters)
    Parameters
    Type Name Description
    CpCspParameters parameters

    Gost3412_2015_MCryptoServiceProvider(nint, nint)

    Создание объекта симметричного шифрования по HANDLE ключа.

    Declaration
    public Gost3412_2015_MCryptoServiceProvider(nint keyHandle, nint providerHandle)
    Parameters
    Type Name Description
    nint keyHandle

    HANDLE симметричного ключа.

    nint providerHandle

    HANDLE провайдера.

    Remarks

    При создании объекта симметричного шифрования параметры ключа устанавливаются в свои значения по умолчанию:

    Параметр Значение
    IV null
    Mode CFB
    Padding None
    KeySize 256
    FeedbackSize 64
    BlockSize 64

    Класс становится владельцем ДУБЛЯ ключа и закрывает HANDLE при закрытии класса, HANDLE провайдера не дублируется, но увеличивается счетчик его использования (DangerousAddRef).

    Exceptions
    Type Condition
    ArgumentException

    Параметр keyHandle содержит ключ не алгоритма ГОСТ 34.12.2015 Магма.

    Properties

    CipherOid

    Параметры шифрования

    Declaration
    public string CipherOid { get; set; }
    Property Value
    Type Description
    string

    Key

    Получение или установка ключа используемого для симметричного шифрования.

    Declaration
    public override byte[] Key { get; set; }
    Property Value
    Type Description
    byte[]

    Симметричный ключ в чистом виде.

    Overrides
    SymmetricAlgorithm.Key
    Remarks

    Если ключ не был задан, то при получении ключа он будет сгенерирован функцией GenerateKey().

    Размер ключа должен быть равен BlockSizeValue, т.е. 256 бит.

    Exceptions
    Type Condition
    ArgumentException

    При установке ключа неправильного размера.

    CryptographicException

    При запрете импорта (экспорта) "чистых" ключей при установке (получении).

    Methods

    ComputeHash(HashAlgorithm)

    Хэширует секретный ключ.

    Declaration
    public override byte[] ComputeHash(HashAlgorithm hash)
    Parameters
    Type Name Description
    HashAlgorithm hash

    Класс, реализующий функцию хэширования.

    Returns
    Type Description
    byte[]

    Хэш-значение секретного ключа

    Overrides
    Gost3412_2015_M.ComputeHash(HashAlgorithm)

    CreateDecryptor()

    Creates a symmetric decryptor object with the current Key property and initialization vector (IV).

    Declaration
    public override ICryptoTransform CreateDecryptor()
    Returns
    Type Description
    ICryptoTransform

    A symmetric decryptor object.

    Overrides
    SymmetricAlgorithm.CreateDecryptor()

    CreateDecryptor(byte[], byte[])

    When overridden in a derived class, creates a symmetric decryptor object with the specified Key property and initialization vector (IV).

    Declaration
    public override ICryptoTransform CreateDecryptor(byte[] rgbKey, byte[] rgbIV)
    Parameters
    Type Name Description
    byte[] rgbKey

    The secret key to use for the symmetric algorithm.

    byte[] rgbIV

    The initialization vector to use for the symmetric algorithm.

    Returns
    Type Description
    ICryptoTransform

    A symmetric decryptor object.

    Overrides
    SymmetricAlgorithm.CreateDecryptor(byte[], byte[])

    CreateEncryptor()

    Creates a symmetric encryptor object with the current Key property and initialization vector (IV).

    Declaration
    public override ICryptoTransform CreateEncryptor()
    Returns
    Type Description
    ICryptoTransform

    A symmetric encryptor object.

    Overrides
    SymmetricAlgorithm.CreateEncryptor()

    CreateEncryptor(byte[], byte[])

    When overridden in a derived class, creates a symmetric encryptor object with the specified Key property and initialization vector (IV).

    Declaration
    public override ICryptoTransform CreateEncryptor(byte[] rgbKey, byte[] rgbIV)
    Parameters
    Type Name Description
    byte[] rgbKey

    The secret key to use for the symmetric algorithm.

    byte[] rgbIV

    The initialization vector to use for the symmetric algorithm.

    Returns
    Type Description
    ICryptoTransform

    A symmetric encryptor object.

    Overrides
    SymmetricAlgorithm.CreateEncryptor(byte[], byte[])

    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
    SymmetricAlgorithm.Dispose(bool)

    GenerateIV()

    When overridden in a derived class, generates a random initialization vector (IV) to use for the algorithm.

    Declaration
    public override void GenerateIV()
    Overrides
    SymmetricAlgorithm.GenerateIV()

    GenerateKey()

    When overridden in a derived class, generates a random key (Key) to use for the algorithm.

    Declaration
    public override void GenerateKey()
    Overrides
    SymmetricAlgorithm.GenerateKey()

    Unwrap(byte[])

    Импортирует (расшифровывает) секретный ключ.

    Declaration
    public override SymmetricAlgorithm Unwrap(byte[] wrapped)
    Parameters
    Type Name Description
    byte[] wrapped

    Зашифрованный секретный ключ.

    Returns
    Type Description
    SymmetricAlgorithm
    Overrides
    Gost3412_2015_M.Unwrap(byte[])

    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[]

    Зашифрованный симметричный ключ

    Overrides
    Gost3412_2015_M.Wrap(Gost3412_2015_M, GostKeyWrapMethod)

    Implements

    IDisposable
    В этом разделе
    Наверх Generated by DocFX