标准加密文件格式有哪些?

2024-02-18

我对加密文件格式有点困惑。

假设我想使用 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(使用前将#替换为@)

标准加密文件格式有哪些? 的相关文章

随机推荐

  • maven 找不到我的本地工件

    我似乎无法奔跑mvn o package因为它抱怨 存储库系统已离线但工件 com liferay portal util bridges jar 6 1 20 在以下版本中不可用 本地存储库 但我检查了我的本地存储库 该工件确实存在于那里
  • cakephp 2 CakeEmail 无法发送电子邮件错误

    我正在尝试让 CakeEmail 正常工作 但收到 无法发送电子邮件 内部错误 堆栈跟踪的最后一行是 CORE Cake Network Email MailTransport php line 47 gt MailTransport gt
  • React JSX 与当前组件的函数调用

    const Component text gt div text div const Example gt div div
  • libgdx sprite 和 actor 之间的区别

    我正在浏览有关 libgdx 的 javadoc 和各种教程 并且正处于尝试找出与我相似或在 libgdx 中提供类似功能的各种概念之间的差异的阶段 起初我认为 scene2d 是关于创建交互式项目 例如菜单等 但我正在阅读的各种教程使用
  • 为什么我的 VS Code 智能感知建议“i”使用“await”关键字? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 当我输入 i 时 智能感知会将字符 i 更改为 awa it 并使该方法异步 当我为语句编写代码时 这真的很困扰我 当我只用 C 编程而不
  • 创建 HWND 的最简单方法

    我需要 MSVC 中的虚拟窗口 它永远不可见 甚至在应用程序的主窗口之前创建 它是渲染引擎所需要的 因此 如果可能的话 我宁愿不必注册课程 为了测试 最好让它可见以证明它的存在 我可以使用静态或按钮或其他东西吗 我一直在尝试使用 Creat
  • 将我的应用程序推送到 Heroku 时,为什么会收到错误 500“我们很抱歉,但出了点问题”?

    我将我的应用程序推送到 Heroku 并收到 我们很抱歉 但出了点问题 500 为什么是这样 我知道错误消息来自 public 目录中我自己的文件之一 标题为 500 html 但我不确定为什么会发生这种情况 我的 heroku 日志以及我
  • apache Spark sql 中的缓存表

    来自 Spark 官方document http spark apache org docs latest sql programming guide html caching data in memory 它说 Spark SQL 可以通
  • 如何在 Javascript 循环中重新绘制 HTML 元素?

    我有一些 Javascript 可以在 HTML 元素上 动画 颜色变化 如下所示 var element document getElementById someid while i lt 255 element style color
  • 仅通过 GDI+ 和 DotNet 指定大小来创建 Dib

    我最近刚刚发现 GDI 中不同构造函数之间的差异 去 var bmp new Bitmap width height pixelFormat 创建 DDB 设备相关位图 而 var bmp new Bitmap someFile 创建 DI
  • 字符串必须正好是一个字符长

    我有一个我认为很简单的问题 由于某种原因 以下代码生成异常 字符串必须恰好是一个字符长 int n 0 foreach char letter in charMsg Get the integral value of the charact
  • 2D 循环卷积与卷积 FFT [Matlab/Octave/Python]

    我试图理解 FTT 和卷积 互相关 理论 因此我创建了以下代码来理解它 代码是 Matlab Octave 但我也可以用 Python 来完成 In 1D x 5 6 8 2 5 y 6 1 3 5 1 x1 x zeros 1 4 y1
  • Android DataBinding 泄漏内存

    我正在使用数据绑定并且我已经声明了lateinit var对于绑定以及当我要使用不同的片段 Leaky canary 显示泄漏时 Fragment class HomeFragment BottomNavViewHostBaseFragme
  • SemaphoreSlim.WaitAsync 延续代码

    我的理解await关键字是下面的代码await合格的语句在完成后将作为该语句的延续运行 因此以下两个版本应该产生相同的输出 public static Task Run SemaphoreSlim sem TraceThreadCount
  • VSCode 中的 Python 路径

    我在 Mac OSX 10 14 2 上安装了 Anaconda 发行版 有了它 我安装了 VSCode 我将用它来编写 python 脚本 最近 我更新了 Anaconda 中的一些环境 VSCode 用于其集成终端的 python 路径
  • 为不同语言生成不同的 docpad 集合

    我想调整我的多语言 DocPad 博客 以便以 ru md 结尾的页面进入 ru 目录 以 en md 结尾的页面进入 en 目录 假设这是初始结构 src pages page1 ru md page1 en md page2 ru md
  • 如何检查json数组是否有值?

    我正在使用条件 if obj2 getString patronCheckoutInfo equals null 但它不适用于数组获取值的情况 例如 情况 1 当 json 获取 patronCheckoutInfo 的值时 ErrorMe
  • Python中的时间范围重叠算法

    我有一个包含不同 ID 开始日期和结束日期的列表 让我们说 5 d datetime 2010 9 19 0 0 0 d datetime 2010 9 19 0 5 10 6 d datetime 2010 9 19 0 0 0 d da
  • 如何在远程存储库上运行 Git 命令

    我正在尝试编写一个简单的 PHP 应用程序 它将使用终端命令从远程 Git 存储库检索一些信息 我不想创建本地工作副本或存储库 我只想从远程存储库读取信息 浏览树 提交历史记录 文件差异 下载文件 因此它将是只读连接 我需要做的是运行一系列
  • 标准加密文件格式有哪些?

    我对加密文件格式有点困惑 假设我想使用 AES 256 加密文件 我通过加密算法运行该文件 现在有了一个加密字节流 显然 我可以将该字节流写入文件 但任何第三方加密应用程序都不会理解它 因为它不期望只是原始的加密字节流 我可以将其写入什么文