Я ищу две функции, концептуально похожие на них:
// returns the encrypted text
string encrypt( string public_key, string pass_phrase, string text );
// returns the original text
string decrypt( string private_key, string pass_phrase, string encrypted_text );
где string может быть char*, a std::string или что-то легко конвертируемое в эти два. И где public_key и private_key могут быть в основном любыми, от ключей, сгенерированных с помощью некоторых команд (gpg/ssl stuff или любого другого), к ключам, сгенерированным с помощью других простых функций.
Я просмотрел несколько библиотек криптографии (libgcrypt, libgpgme, openssl...), но совсем не просто реализовать такие функции с этими библиотеками: им нужны не поверхностные знания об асимметричном шифровании и много кода.
В любом случае эта задача не кажется необычной. Как реализовать две функции выше?