шифрование — библиотека AES или код для переполнения стека

Я должен дважды перегружать класс ниже. Однажды я должен реализовать это с AES (Rijndael) и один раз с Twofish. Тем не менее, я не могу найти простую реализацию, которая позволяет шифровать только один блок. Реализации, которые я обнаружил, включают в себя CBC и Padding. Любой намек?

#ifndef CRYPTER_H
#define CRYPTER_H

#include <valarray>

class Crypter {
public:
Crypter();
virtual ~Crypter();

//Encrypts a single block of 16 byte.
virtual std::valarray<unsigned char> encrypt(std::valarray<unsigned char> plaintext,
std::valarray<unsigned char> passphrase) = 0;

//Decrypts a single block of 16 byte.
virtual std::valarray<unsigned char> decrypt(std::valarray<unsigned char> cyphertext,
std::valarray<unsigned char> passphrase) = 0;
};
#endif  /* CRYPTER_H */

0

Решение

Openssl — лучшая криптографическая библиотека для C / C ++, и я думаю, что на это стоит взглянуть.

Вы всегда можете разбить данные на блоки и зашифровать / расшифровать с помощью библиотечных функций.

1

Другие решения


По вопросам рекламы [email protected]