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())));
暗号化と復号化の部分で立ち往生しています。どんな助けでも大歓迎です!