using GostCryptography.Config;
using System.Security;
using System.Security.Cryptography;
namespace GostCryptography.Base
{
///
/// Базовый класс для всех реализаций Hash-based Message Authentication Code (HMAC) на базе алгоритмов ГОСТ
///
public abstract class GostHMAC : HMAC, IGostAlgorithm
{
///
/// Конструктор
///
/// Размер хэш-кода в битах
///
/// По умолчанию использует криптографический провайдер, установленный в
///
[SecuritySafeCritical]
protected GostHMAC(int hashSize) : this(GostCryptoConfig.ProviderType, hashSize)
{
}
///
/// Конструктор
///
/// Тип криптографического провайдера
/// Размер хэш-кода в битах
[SecuritySafeCritical]
protected GostHMAC(ProviderType providerType, int hashSize)
{
ProviderType = providerType;
HashSizeValue = hashSize;
}
///
public ProviderType ProviderType { get; }
///
public abstract string AlgorithmName { get; }
}
}