首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenPGP.js说elgamal键被认为太弱了

OpenPGP.js说elgamal键被认为太弱了
EN

Stack Overflow用户
提问于 2021-12-30 04:09:49
回答 1查看 419关注 0票数 0

在传输之前,我们使用PGP加密来加密文件。我们使用npm包OpenPGP.js来加密来自接收方的公钥文件。我已经导出了装甲格式的公钥,以便与openpgp.encrypt函数一起使用。

下面是加密文件的代码:

代码语言:javascript
复制
const publicKey = await openpgp.readKey({ armoredKey: key.publicKey });

const encrypted = await openpgp.encrypt({
    message: await openpgp.createMessage({ text: readStream }), 
    encryptionKeys: publicKey
});

但是,函数调用会产生以下错误:

错误:错误加密消息:无法在密钥ea8be7d9f2fd53a7中找到有效的加密密钥包: elgamal密钥被认为太弱。

gpg --list-keys的输出提供了以下信息

代码语言:javascript
复制
pub   dsa1024 2010-07-23 [SCA]
      ABCDEFGHIJK
uid           [ unknown] my recipient <my.recipient@email.com>
sub   elg2048 2010-07-23 [E]

我可以使用GnuPG加密文件,但是OpenPGP似乎不喜欢公钥。此错误消息有效吗?我是否需要从客户端请求另一个密钥,或者是否有一种绕过此错误消息的方法?

*编辑:经过一些研究后,我发现DSA-1024/(ElGamal-任何东西)已经不安全了,所以我可能不得不要求制造新的密钥。

EN

回答 1

Stack Overflow用户

发布于 2022-01-04 12:47:59

OpenPGP实现有不同的安全性考虑,OpenPGP.js似乎决定通过以下PR:https://github.com/openpgpjs/openpgpjs/pull/1264/files#默认拒绝DSA/ElGamal

但是,可以通过配置覆盖此行为,在测试中可以找到示例。

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

https://stackoverflow.com/questions/70527381

复制
相关文章

相似问题

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