首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用RSA加密对大文件进行加密

使用RSA加密对大文件进行加密
EN

Cryptography用户
提问于 2020-04-14 00:40:00
回答 2查看 4.4K关注 0票数 1

下面的文章讨论了RSA用于文件加密的方法:

https://medium.com/@ismailakkila/black-hat-python-encrypt-and-decrypt-with-rsa-cryptography-bd6df84d65bc

加密的文件是JPEG图像。我的问题是:如果我们以类似的方式加密更大的文件,比如10 MB,并且能够用现代的i7处理器达到可接受的加密速度,该怎么办?

  1. 在没有私钥的情况下,产生的密文实际上是可以解密的吗?
  2. 在这种情况下,哪些因素会影响加密的速度?RSA密钥大小?街区大小?填充物类型?

注意:我认识到RSA并不意味着以这种方式进行文件加密,而且混合加密方案更合适(用会话密钥加密数据,然后用RSA密钥加密会话密钥)。请务必容忍我,并假设我们必须加密一个大文件与RSA。我只是想了解这样做的实际影响和限制,我意识到混合加密在这里更合适。

EN

回答 2

Cryptography用户

发布于 2020-04-14 01:10:14

  1. 在没有私钥的情况下,产生的密文实际上是可以解密的吗?

不,你需要私钥。您可以使用公钥加密的次数没有实际限制。不过,我要确保填充中的随机性至少是128位。还要注意的是,使用私钥解密多次使算法更容易受到侧信道攻击(这通常依赖统计信息)。此外,它不允许您为每次解密使用PIN或密码来保护私钥。

  1. 在这种情况下,哪些因素会影响加密的速度?RSA密钥大小?街区大小?填充物类型?

对,对,对。

RSA密钥大小非常重要,因为较大的密钥大小将极大地影响性能。此外,RSA密钥大小增长非常快,如果您需要更多的密钥强度。这类操作当然非常慢,特别是在私钥操作方面。

由于填充要求,用于明文的块大小与用于密文(即输入总是小于输出)的块大小不同。普通文本的块大小通常比不太安全的PKCS#1 v1.5填充时的密钥大小小11,并且与OAEP的哈希值不同。密文的块大小与模数的大小相同(以字节为单位)。

当涉及到加密速度时,填充类型通常不是什么大问题。RSA私钥操作相当慢,与它们相比,解填充不会花费太多时间。然而,填充的生成依赖于安全的随机数生成器。随机数生成可以是快速的,但它也可能阻止或减缓系统的其他手段。

请注意,性能只是避免使用RSA进行直接加密的原因之一。与明文相比,密文的扩展是另一个重要原因。如前所述,要求私钥可用于批处理操作很可能会使其处于危险之中。

票数 3
EN

Cryptography用户

发布于 2020-04-28 15:39:07

正如您所指出的,您应该使用目标接收方的RSA公钥来加密辅助密钥,该密钥可以用于更快的流分组密码(如AES )。接收方使用相应的私钥派生辅助密钥,并继续将文件解密为AES中的明文。

我们尝试用河豚和TWOFISH加密非常大的文件,但这也是令人无法接受的缓慢。问题始终是用户群体的管理。例如,要处理健康信息隐私,您还必须使用可以审计的技术。我们尝试了一种新的方法:在密码的同时发布解密代码,并依靠客户端浏览器来完成繁重的工作。这具有不需要分发支持软件的优点。谷歌RedTitan REDWRAP。大文件演示会给你一个速度的想法。

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

https://crypto.stackexchange.com/questions/79946

复制
相关文章

相似问题

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