我正在尝试使用 C++ 中的 ElGamal 加密和解密图像文件。它必须使用 ElGamal 加密。我想同时保存加密文件和恢复文件。我将 Crypto++ 库用于加密/解密部分。这是我到目前为止所拥有的。
AutoSeededRandomPool prng;
ElGamal::Decryptor decryptor;
decryptor.AccessKey().GenerateRandomWithKeySize(prng, 2048);
const ElGamalKeys::PrivateKey& privateKey = decryptor.AccessKey();
ElGamal::Encryptor encryptor(decryptor);
const PublicKey& publicKey = encryptor.AccessKey();
string ofilename = "test.bmp";
string efilename = "test.enc";
string rfilename = "test-recovered.bmp";
FileSource fs1(ofilename.c_str(), true, encryptor.CreateEncryptionFilter(encryptor.Encrypt, new FileSink(efilename.c_str())));
FileSource fs2(efilename.c_str(), true, decryptor.CreateDecryptionFilter(decryptor.Decrypt, new FileSink(rfilename.c_str())));
我被困在加密和解密部分。任何帮助将不胜感激!