Расшифровка CryptoStream в с++

281
16 мая 2018, 19:00

Есть файл зашифрованный с помощью класса CryptoStream (.NET Framework). Можно узнать какой его расшифровать, если ключ(Key) и инит вектор(IV) известны? Пишу программу на плюсах в QT.

var cryptic = new DESCryptoServiceProvider
{
    Key = Encoding.UTF8.GetBytes("Key"),
    IV = Encoding.UTF8.GetBytes("IV")
};
var crStream = new CryptoStream(stream, cryptic.CreateEncryptor(), CryptoStreamMode.Write);

Хотелось бы узнать как такое рассшифровать? Понял что CreateEncryptor() создает AES шифрование. Но не понял что такое IV.

Answer 1

CryptoStream не шифрует данные сам по себе - он просто предоставляет потоковый интерфейс интерфейс (Stream) поверх готового ICryptoTransform.

Т.е. нет никакого готового, вшитого в CryptoStream алгоритма. Найдите у себя в коде конкретный ICryptoTransform, передаваемый в конструктор CryptoStream - и напишите соответствующий код расшифровки.

Скорее всего у вас будет использоваться один из стандартных ICryptoTransform-оберток поверх Cryptography API, так что достаточно будет вызвать тот же алгоритм через плюсовую версию Cryptography API.

READ ALSO
Наследование шаблона с++ [дубликат]

Наследование шаблона с++ [дубликат]

На данный вопрос уже ответили:

230
Ошибка в библиотеке functional? - C++

Ошибка в библиотеке functional? - C++

При попытке подключения библиотеки thread или mutex компиляция падаетОшибка находится в библиотеке functional из стандарта C++ При ее подключении программа...

276
Int перевести в string

Int перевести в string

Есть переменная:

318
C++ сериализация целочисленных типов

C++ сериализация целочисленных типов

Хочу написать шаблон для сериализации целочисленных типов в массив байт (std::vector)Каким способом это можно сделать, чтобы шаблонная функция...

229