【问题标题】:Encrypt other person's public key to reduce overall needed key size, viable?加密其他人的公钥以减少所需的整体密钥大小,可行吗?
【发布时间】:2015-01-01 11:23:43
【问题描述】:

我需要在密钥字节大小很重要的环境中使用 RSA 加密。 我不想冒险破坏安全,所以我想知道你是否可以让一个人首先使用(2048 位)传输他的密钥,然后让另一个人传输他的大小(256 位)的密钥,用另一个人的密钥加密。如果这仍然会提供一个安全的方案?

PS:我意识到加密会增加 256 位,您可以忽略中间人问题。

TL;DR:保持公钥秘密是否允许更小的密钥大小?

【问题讨论】:

    标签: encryption rsa public-key-encryption memory-efficient


    【解决方案1】:

    通常会使用 RSA 和其他非对称算法专门用于交换密钥。 RSA 的安全性与分解大素数有关,这就是为什么它们的密钥大小通常比 AES 等算法的对称密钥长得多的原因。您不想做的是减少方案中的 RSA 密钥大小。因此,如果您正在创建一个 256 位 AES 密钥,然后使用 AES 进行加密,我认为安全方案将起作用。公钥加密比对称加密慢得多,因此出于性能和您不想使用 RSA 的其他原因。

    关于您关于保持公钥保密的问题,我认为这与 RSA 的目的相悖。公钥是公开的。

    实现也可能有失败,例如 SSL 3 在 2014 年被发现有一个填充 oracle 漏洞。我建议您使用像 TLS 这样的标准实现,而不是尝试制作自己的协议。安全协议通常是密码学中最困难的问题。

    【讨论】:

    • 只见树木不见森林。是的,这完全有道理,我一直认为 RSA 被用于一切,但那将是愚蠢的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-06
    • 2023-03-30
    • 2021-10-21
    • 1970-01-01
    • 2013-04-05
    • 1970-01-01
    • 2012-06-26
    相关资源
    最近更新 更多