首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么ECC在GPG中没有加密功能,而RSA有加密功能?

为什么ECC在GPG中没有加密功能,而RSA有加密功能?
EN

Security用户
提问于 2021-09-18 17:51:19
回答 1查看 1.3K关注 0票数 1

我试图建立一个过程,为我自己和我的威胁模型建立一个新的GPG身份。

其中大部分是遵循我认为仍然被认为是最佳做法的指南:

这些计划似乎是在提倡:

  1. 设置仅具有"Certify“功能的脱机主键
  2. 创建一个具有功能的联机子项:“签名”
  3. 创建一个具有功能的联机子项:“身份验证”
  4. 创建一个具有功能的联机子项:“加密”

上面的指南使用的是RSA-4096,但根据我的其他读数,使用曲线25519的ECC似乎是安全的,但需要更少的存储空间和更少的能源使用,所以我想继续使用。

我正在使用临时GNUPGHOME中的工具,并且能够设置ECC主密钥,但是当我发送去生成"encrypt“子密钥时,我注意到似乎没有加密能力:

代码语言:javascript
复制
Possible actions for a ECDSA/EdDSA key: Sign Certify Authenticate 
Current allowed actions: Sign Certify 

   (S) Toggle the sign capability
   (A) Toggle the authenticate capability
   (Q) Finished

但如果我使用RSA,它似乎是一种选择:

代码语言:javascript
复制
Possible actions for a RSA key: Sign Certify Encrypt Authenticate 
Current allowed actions: Sign Certify Encrypt 

   (S) Toggle the sign capability
   (E) Toggle the encrypt capability
   (A) Toggle the authenticate capability
   (Q) Finished

我没能在网上找到很多关于这是为什么。

作为参考,我的gpg版本信息如下:

代码语言:javascript
复制
gpg (GnuPG) 2.2.20
libgcrypt 1.8.7

Supported algorithms:
Pubkey: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
        CAMELLIA128, CAMELLIA192, CAMELLIA256
Hash: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, ZIP, ZLIB, BZIP2

总括而言,我的问题是:

  • 为什么RSA有“加密”能力,但ECC没有。
  • 是否每个功能都有一个主键和三个子键仍然是最佳实践?
  • 我应该生成一个具有“加密”功能的RSA子密钥作为解决办法吗?
EN

回答 1

Security用户

发布于 2021-12-06 14:39:43

生成密钥时,首先需要生成只带符号的主键.虽然RSA允许对同一个密钥进行加密和签名(例如,它可以对主密钥进行加密),但对于ECC,ECC有不同的密钥算法:

  • 单符号ECDSA
  • 单符号EdDSA
  • 只加密ECDH

一旦生成主密钥,您就可以通过gpg --edit-key命令添加加密和签名子密钥(S)。

此消息可能提供有关如何在批处理模式下添加子项的更多详细信息:https://lists.gnupg.org/pipermail/gnupg-users/2014-September/050839.html

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

https://security.stackexchange.com/questions/255358

复制
相关文章

相似问题

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