Симметричная криптосистема на основе Microsoft CryptoAPI.

Ссылка на работу
image
необходимо реализовать программу симметричного шифрования файлов с выработкой имитовставки (секретного хеша). Для выполнения всех криптографических операций нужно использовать функции Microsoft CryptoAPI или криптографические сервисы .NET Framework. Шифрование. На основе хеша полученной от пользователя фразы вырабатывается ключ. Случайным образом вырабатываются и инициализируются модификатор ключа и синхропосылка. Режим шифрования можно задать константой в программе. Одновременно с шифрованием файла вырабатывается имитовставка (например, по алгоритму HMAC). Для выработки имитовставки на основании той же ключевой фразы необходимо сгенерировать другой ключ. Файл содержит шифротекст, имитовставку, параметры ключей шифрования и имитовставки и другую информацию, если это необходимо. Расшифровка. На основе хеша полученной от пользователя фразы вырабатывается ключ. Считываются из файла и инициализируются модификатор ключа и синхропосылка. Одновременно с расшифровкой файла вырабатывается имитовставка (например, по алгоритму HMAC). Для выработки имитовставки используется ключ, созданный на основании той же ключевой фразы и параметров, считанных из файла. По окончании обработки шифротекста полученный открытый текст записывается в файл, пользователю выдается результат сравнения рассчитанной имитовставки и полученной из файла.