Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Encryption 基于GPGME的对称加密_Encryption_Gnupg_Encryption Symmetric_Gpgme - Fatal编程技术网

Encryption 基于GPGME的对称加密

Encryption 基于GPGME的对称加密,encryption,gnupg,encryption-symmetric,gpgme,Encryption,Gnupg,Encryption Symmetric,Gpgme,根据文档,gpgme的gpgme\u op\u encrypt方法能够执行对称加密任务: gpgme_op_encrypt (gpgme_ctx_t ctx, gpgme_key_t recp[], gpgme_encrypt_flags_t flags, gpgme_data_t plain, gpgme_data_t cipher) 如果recp为NULL,则使用对称加密而不是公钥加密 表演。对称加密的密文可以用 gpgme_op_解密。注意,在这种情况下,加密后端需要 从用户检索密码短语

根据文档,gpgme的
gpgme\u op\u encrypt
方法能够执行对称加密任务:

gpgme_op_encrypt (gpgme_ctx_t ctx, gpgme_key_t recp[], gpgme_encrypt_flags_t flags, gpgme_data_t plain, gpgme_data_t cipher)
如果recp为NULL,则使用对称加密而不是公钥加密 表演。对称加密的密文可以用 gpgme_op_解密。注意,在这种情况下,加密后端需要 从用户检索密码短语。对称加密目前正在使用中 仅OpenPGP加密后端支持

但用于对称加密的密钥来自哪里?是否有可能获取此密钥并将其传输到另一个设备(我想在其中解密文本)?

将通过其中一个pinentry方法从用户处查询。特别强调您已经引用的文本的一部分:

如果recp为NULL,则执行对称加密而不是公钥加密。对称加密的密文可以用gpgme_op_decrypt解密请注意,在这种情况下,加密后端需要从用户检索密码短语。目前只有OpenPGP加密后端支持对称加密

我不知道您可以通过GPGME提取会话密钥,但您实际上并不需要:在另一端,您需要知道的是所使用的密码短语,并且会话密钥可以再次派生。当然,您也可以重新实现