更快地加密大文件公钥和三个用户



这是一个要加密的大文件。我在加密部分。错误显示:

"从 BIOS 读取密码时出错"

"获取密码时出错。">

请让我知道该怎么做。提前谢谢。

我有点想删除 cbc 模式,因为它很慢。我在一篇文章中读到了它。此外,说明说要使其更快,因为三个用户需要它。

我认为这是使用 192 而不是 4096 或更高的问题,但我需要降低它以使其从问题中更快地进行。

openssl genrsa -aes256 -out pubPrivate.key 192
openssl enc -aes-256-cbc -in BigFile.txt -out cipher.bin -pass File: pubPrivate.key

另外,我在某处读到代码前面有数字 0000 导致错误,如果这很重要?

目前还不清楚你想做什么。 当然,加密一个大文件。但是怎么做呢?与 AES 对称,还是与 RSA 不对称?

你的第一个命令openssl genrsa创建一个长度为192的RSA公钥/私钥对,正如Ken White所指出的,这是一个坏主意,它不仅不是2的幂,而且密钥长度也非常短;为了给你一个估计有多糟糕,512位RSA密钥在二十年前被破坏了。事实上,我的openssl版本1.1.1b甚至拒绝创建这样的密钥对:

$ openssl genrsa -aes256 -out foo.key 192
Generating RSA private key, 192 bit long modulus (2 primes)
25769803792:error:04081078:rsa routines:rsa_builtin_keygen:key size too small:crypto/rsa/rsa_gen.c:78:

然后,您的第二个命令会执行完全不同的操作。它尝试在CBC模式下使用AES256加密Bigfile.txt这是可以的,但您不会为命令提供256位AES密钥。相反,你告诉它在RSA密钥文件中查找密码,这肯定不是你想要的。Openssl也不接受这一点:

$ openssl enc -aes-256-cbc -in BigFile.txt -out cipher.bin -pass File: pubPrivate.key
Extra arguments given.
enc: Use -help for summary.

因此,让我们假设您想要的是对称地加密 BigFile.txt AES256 在 CBC 模式下使用从密码派生的密钥。然后,您将此密码分发给三个收件人。这有多快?在我的笔记本电脑上,有一个1GB的大文件.txt:

$ time openssl enc -aes-256-cbc -in BigFile.txt -out cipher.bin -pass pass:start123
*** WARNING : deprecated key derivation used.
Using -iter or -pbkdf2 would be better.
real    0m3,099s
user    0m1,562s
sys     0m0,968s

因此,openssl 加密大约 330MB/秒,它还告诉我们密钥派生是不安全的,我们应该使用 PBKDF2 代替。让我们这样做:

$ time openssl enc -aes-256-cbc -in BigFile.txt -out cipher.bin -pbkdf2 -pass pass:start123
real    0m3,202s
user    0m1,656s
sys     0m1,077s

相关内容

最新更新