Программа сравнения скорости симметричных алгоритмов шифрования - C#
Формулировка задачи:
Всем здравствуйте на .NET SecurityFramework нужно реализовать тест который будет считать время затрачиваемое программой на операции шифрования/дешифрования то есть даю доковский файл к примеру и алгоритм считает время затраченное на операции, пните пожалуйста с чего начать , метода шифрования (DES, 3DES, Rijndael, RC2),используемого режима работы (ECB, CBC, CFB, OFB, STS). заранее спасибо
Решение задачи: «Программа сравнения скорости симметричных алгоритмов шифрования»
textual
Листинг программы
class Program
{
//Возвращает время выполнения любого кода переданного через Action
static TimeSpan GetEncryptionTime(Action encryptAlgorithm)
{
var watch = new System.Diagnostics.Stopwatch(); //Инициируем секундомер
watch.Start(); //Стартуем секундомер
encryptAlgorithm(); //Выполняем код из Action
watch.Stop(); //Останавливаем секундомер
return watch.Elapsed; //Возвращаем время выполнения
}
public static void EncryptDES()
{
// Что-то зашифровать по DES
}
public static void Encrypt2DES()
{
// Что-то зашифровать по 2DES
}
static void Main(string[] args)
{
//Выполняем EncryptDES() в "обертке" секундомера
var time = GetEncryptionTime(() => EncryptDES());
Console.WriteLine(time); //Выводим в консоль время выполнения метода EncryptDES
time = GetEncryptionTime(() => Encryp3tDES());
Console.WriteLine(time); //Выводим в консоль время выполнения метода Encrypt3tDES
}
}