我对加密文件格式有点困惑。
假设我想使用 AES-256 加密文件。我通过加密算法运行该文件,现在有了一个加密字节流。
显然,我可以将该字节流写入文件,但任何第三方加密应用程序都不会理解它,因为它不期望只是原始的加密字节流。
我可以将其写入什么文件格式以便其他加密工具可以理解?
我所知道的(我认为)是:
PKCS#7
ASN.1
DER
PEM
PKCS#8
但我不确定它们之间是如何相互关联的。
显然,AESCrypt 实用程序也有一种格式,它似乎是它自己的专有格式:http://www.aescrypt.com/aes_file_format.html http://www.aescrypt.com/aes_file_format.html
有关于这个东西的备忘单吗?我一直在谷歌上搜索,发现了一些零碎的东西,但从来没有觉得我拥有完整的图片。
PKCS#8 不是加密文件格式,而是私钥格式。
ASN.1 和 DER 是将结构化消息转换为二进制的规则。尽管它们用于定义和描述文件格式,但它们本身并不是一种文件格式。
PKCS#7 与 PEM 密切相关,它们都是公钥加密文件的格式。它们是根据 Base-64 封装的 DER 编码的 ASN.1 消息定义的。它们是安全互联网邮件的 S/MIME 格式的基础。 (看RFC3851 https://www.rfc-editor.org/rfc/rfc3851)
与 S/MIME 并行的是 OpenPGP 文件格式,也主要为公钥加密文件而设计。 (看RFC4880 https://www.rfc-editor.org/rfc/rfc4880)
在 S/MIME 和 OpenPGP 格式中,都有一个包含对称密钥加密数据的块。可以创建仅包含此块的有效 S/MIME 或 OpenPGP 文件。这样,S/MIME(又名 PKCS#7)和 OpenPGP 格式也可用于对称密钥加密。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)