AES库或C ++代码

时间:2015-09-02 11:32:28

标签: c++ encryption aes twofish

我应该在下面两次超载这个课程。一旦我打算用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 */

1 个答案:

答案 0 :(得分:1)

Openssl是C / C ++最好的加密库,我认为值得一试。

您可以随时将数据分成块并使用库函数加密/解密。