首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于GPGME的对称加密

基于GPGME的对称加密
EN

Stack Overflow用户
提问于 2016-01-25 07:25:13
回答 1查看 485关注 0票数 2

根据文档,GPGME的gpgme_op_encrypt方法能够执行对称加密任务:

代码语言:javascript
复制
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为空,则执行对称加密而不是公钥加密。对称加密的密码文本可以用gpgme_op_decrypt解码。请注意,在本例中,密码后端需要从用户检索密码短语。对称加密目前只支持OpenPGP密码后端。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-25 10:29:56

对称加密的会话密钥是从密码派生出来的。,它将通过其中一个pinentry方法从用户处查询。特别强调你已经引用的文本的一部分:

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

我不知道您可以通过GPGME提取会话密钥,但实际上并不需要:您需要知道的是在另一端使用的密码,可以再次派生会话密钥。当然,您也可以重新实现用于OpenPGP的字符串到键函数

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34987156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档