using System;
using System.Security;
namespace GostCryptography.Base
{
///
/// Базовый класс для всех алгоритмов генерации псевдослучайной последовательности (Pseudorandom Function, PRF) ГОСТ
///
public abstract class GostPRF : IDisposable, IGostAlgorithm
{
///
/// Конструктор
///
/// Тип криптографического провайдера
[SecuritySafeCritical]
protected GostPRF(ProviderType providerType)
{
ProviderType = providerType;
}
///
public ProviderType ProviderType { get; }
///
public abstract string AlgorithmName { get; }
///
/// Освобождает неуправляемые ресурсы
///
protected virtual void Dispose(bool disposing)
{
}
///
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
///
~GostPRF()
{
Dispose(false);
}
}
}