当前位置: 首页 > 知识库问答 >
问题:

OpenSSL CLI文件加密与AES-256-CBC

万俟超
2023-03-14

目前,我正在使用以下OpenSSL命令加密敏感文件:

openssl aes-256-cbc -a -salt -in large_file.zip -out large_file.zip.enc

以及解密:

openssl aes-256-cbc -d -a -in large_file.zip.enc -out large_file.zip

到目前为止,这一切都很好,但由于我对加密和密码学没有太多经验,所以我想了解一下这是否是最好的方法。

我是否正确加密/解密文件?这样我是否充分利用了AES-256?我是否在这里做了一些可能会影响加密文件安全性的错误操作?

非常感谢评论/回复。

丹尼尔。

PS:我不太确定这是属于超级用户还是stackoverflow,请告知。

共有1个答案

柴嘉年
2023-03-14

它可以是安全的,因为密码足够安全,而且你只需要保密。如果没有用例、威胁模型和特定的系统设置,就不可能说任何东西是否安全。

基于OpenSSL密码的密钥派生方法是安全的,CBC模式下的AES-256也是安全的。这就是说,现代加密通常使用某种完整性/身份验证,如在安全加密模式(如GCM)中或通过添加MAC(使用单独的密钥)。

这更适合http://security.stackexchange.com,尽管如果你没有展示足够的研究等,你可能会被关闭/投票否决。

 类似资料:
  • 首先,这是我在这里的第一个问题,我希望我能让你对这个问题有一个清晰的认识,也能帮助其他可能面临类似挑战的人!问题的标题也是最短的TL;我能得到的医生:-) 所以为了给你一点背景知识,我基本上设计了一个协议,需要通过TCP从服务器(在Node.js中实现)到设备的同步有序文件传输。流式传输文件不是一个选项,因此每个文件块都封装在一条包含其他非加密字段的消息中,这些字段超出了本问题的范围。 其中一个要

  • 我在这个网站上用AES-256加密一个虚拟字符串: https://www.devglan.com/online-tools/aes-encryption-decryption 具有以下参数: null 当我尝试用OpenSSL从命令行解密它时: 我得到这个错误:

  • 问题内容: 我有下面的Java代码来加密使用64个字符的密钥的字符串。我的问题是这将是AES-256加密吗? 以下是结合了divanov和laz建议的代码。 问题答案: 是的,它将是64个字符,即32个字节和256位,并且256位的任何序列都可以用作AES-256密钥。 我建议您使用DatatypeConverter.parseHexBinary(或您选择的库中的类似实用程序)将十六进制字符串转换

  • 我使用Botan库进行加密,我的加密代码如下所示。 这段代码看起来很好,可以加密输入文件。我发布这段代码是为了确定加密是否有错误。(但我假设加密做得正确)

  • 我使用以下命令加密了一个文件 openssl rand 32>test.key openssl enc-aes-256-cbc-iter 10000-pbkdf2-salt-输入test.txt-输出test.txt.enc-通过文件:test.key 我的代码 我得到的错误 我引用了以下链接 尝试使用时,仍然得到错误

  • 几天来,我一直试图用java解密一个用OpenSSL加密的消息。使用以下命令对邮件进行了加密: openssl enc-e-aes-256-cbc-kfile$file.key-in toto-out toto.enc。 文件file.key包含256位的对称密钥。命令中没有指定salt,但文件以salted__开头。下面是我编写的类,试图解密文件,但即使删除文件的16个字符也无法得到任何东西,即