面向长期存档与机器检索的安全加密策略技术分析
面向长期存档与机器检索的安全加密策略技术分析
I. 核心原则验证:公开标准与密钥保密
一份面向长期存档(long-term archiving)的安全策略,其有效性不仅取决于当前的安全强度,还取决于其未来几十年的可恢复性与可验证性。此场景的基石是柯克霍夫原则(Kerckhoffs's principle)。
A. 柯克霍夫原则的定义
该原则由 Auguste Kerckhoffs 在 19 世纪提出,其核心论点是:一个密码系统(cryptosystem)的安全性,应仅仅依赖于密钥(key)的保密性,而非系统(包括算法)的保密性 1。换言之,即使系统的所有细节(算法、实现、协议)都已公开,系统也应保持安全 1。这一概念与“通过晦涩实现安全”(security through obscurity)的做法截然相反,并被现代密码学界广泛接受 1。
B. NIST 的立场与现代密码学实践
美国国家标准与技术研究院(NIST)的密码学标准体系是柯克霍夫原则的现代实践。NIST 早在引用 Kerckhoffs 时就已明确:加密数据(ciphertext)的安全“仅取决于加密密钥的保密性,而非加密算法的保密性” 2。
NIST 的各类联邦信息处理标准(FIPS)和特殊出版物(Special Publications, SP)的目的,正是为了将健壮、公开、并经过严格审查的算法(如 AES)标准化 3。NIST SP 800-175b 指出,密码学的应用依赖两个基本组件:算法(algorithm)和密钥(key) 4。通过将算法公开化和标准化,NIST 确保了安全性被集中到单一的、可管理的变量上:即密钥管理 4。
C. 理论基础:香农的信息论
Claude Shannon 在其 1949 年的奠基性论文《保密系统的通信理论》(Communication Theory of Secrecy Systems)中,为现代密码学提供了信息论的数学基础 5。Shannon 的工作从理论上证明了柯克霍夫原则的必要性,并定义了实现安全(如“混淆”与“扩散”)所需的条件 6。
D. 综合验证:原则与长期存档的内在联系
基于上述权威标准与理论,所提出的结论是原则上正确的。选择 VeraCrypt、7z 或 ZIP(AES)作为存档工具,完全符合柯克霍夫原则,因为它们均依赖于公开、标准化的组件。
这种符合性不仅是安全选择,更是长期存档的物流需求。分析如下:
一个跨越 50 年以上的存档,其存活时间必然超过其原始的软件和硬件环境。
为了确保数据在未来(例如 2077 年)仍然可读,解密和解包格式必须能够通过公开文档被重新实现(re-implemented)。
依赖“晦涩”或闭源算法的系统,一旦原始实现丢失,数据将永久封存,无法恢复。
因此,选择具有公开标准(AES 2, PBKDF2 9, Argon2id 10)和开放格式(VeraCrypt 11, ZIP 12, 7z 13)的工具,是确保跨年代可读性的唯一途径。
结论是,所选策略(开源实现 + 公开标准)不仅是安全的,更是实现长期可访问性的逻辑前提。
II. 存档加密标准的技术规格分析
对所选工具链的技术细节进行深入剖析,揭示了它们在密码学实现上的关键差异,这些差异直接影响安全策略的制定。
A. 方案一:VeraCrypt (卷加密)
VeraCrypt 是一个全盘/卷加密工具,其设计严格遵循公开标准。
开放性与许可: VeraCrypt 是多重许可(multi-licensed)软件,包含了 Apache License 2.0 11。这确保了其源代码的永久可用性、可审计性以及未来重新实现的可能性,是长期存档的法律和技术基石。
密码套件与模式 (Cipher and Mode): VeraCrypt 仅使用 FIPS 批准的算法,如 AES-256 14。其运行模式(Mode of Operation)为 XTS 16。此组合符合 NIST SP 800-38E (XTS-AES) 和 FIPS 197 (AES) 18。
密钥派生函数 (KDF): VeraCrypt 支持两种标准化的 KDF,用于从用户口令安全地派生出卷头加密密钥 19:
PBKDF2: 遵循 PKCS #5 v2.0 规范,NIST 在 SP 800-132 中推荐 9。VeraCrypt 实现时使用 HMAC,并允许用户选择哈希函数(如 SHA-512, SHA-256)20。
Argon2id: 现代的内存困难(memory-hard)型 KDF,由 IETF RFC 9106 标准化 10。
参数化 (PIM): VeraCrypt 引入了“个人迭代乘数”(Personal Iterations Multiplier, PIM)来自定义 KDF 的工作因子 22。
对于 PBKDF2(非系统容器),迭代次数 = $15000 + (PIM \times 1000)$ 22。
对于 Argon2id,PIM 控制内存成本和时间成本(迭代次数)22。
VeraCrypt (XTS 模式) 的设计权衡:
VeraCrypt 缺乏内置数据完整性认证(将在 III.A 节详述)并非一个“缺陷”,而是针对特定用例的有意设计选择。
VeraCrypt 旨在模拟一个块设备(如硬盘驱动器),这些设备以固定大小的扇区(如 512 字节)运行。
提供完整性认证的模式(AEAD,如 GCM)需要在每个数据块后附加一个“认证标签”(authentication tag)。这会导致数据膨胀(例如,512 字节变为 528 字节),使其无法在原始扇区上“就地”工作。
NIST 专门为这种用例发布了 SP 800-38E (XTS-AES) 26。该标准明确用于“存储设备上的数据保密性”,特别是当“扩展数据以包含认证标签不可行时” 27。
因此,VeraCrypt 正确地应用了 XTS 标准来实现其磁盘加密的目标。这也意味着用户必须采用外部机制来验证完整性。
B. 方案二:ZIP (PKWARE 规范)
ZIP 格式通过 PKWARE 发布的公开规范“APPNOTE.TXT”进行定义,该规范确保了其跨平台的互操作性 12。
密码套件与模式: ZIP 的 AES 加密扩展(压缩方法 99)30 支持 128、192 或 256 位的 AES 31。其运行模式被定义为 AES-CTR (计数器模式) 30。
内置完整性: ZIP AES 规范(AE-1/AE-2)包含了一个HMAC-SHA-1认证码 30。这构成了一种“加密后认证”(Encrypt-then-MAC)的结构,提供了内置的数据完整性(integrity)和来源认证(authentication)。
格式细节 (AE-1 vs AE-2): AE-2 规范是 AE-1 的改进。AE-1 在文件头中存储了未加密文件的 32 位 CRC 校验码;而 AE-2 将此字段置零 31。AE-2 是首选,因为明文 CRC 可能会泄露有关原始数据的信息 34。
ZIP (AES 规范) 的安全缺陷:
尽管 ZIP AES 格式在设计上优于 VeraCrypt (XTS) 和 7z (CBC)——因为它同时提供了保密性和完整性——但其规范在 KDF 实现上存在一个致命缺陷。
ZIP AES 规范(如 WinZip 所述)使用 PBKDF2-HMAC-SHA-1 作为 KDF 35。
然而,该规范将其迭代次数固定为 1,000 次 35。
在现代计算能力下,1,000 次迭代的 KDF 提供的保护微乎其微,极易受到 GPU 加速的暴力破解攻击(参见 III.B 节中对 GPU 破解 PBKDF2 的分析 36)。
因此,虽然 ZIP AES 格式是合理的,但任何严格遵循其 KDF 规范(1,000 次迭代)的实现,在密码强度上都是严重不足的,不适用于高安全性的长期存档。
C. 方案三:7z (7-zip.org 规范)
7z 格式是一种开放架构(open architecture)的存档格式 13。其参考实现 7-Zip 根据 GNU LGPL 许可发布源代码,确保了完全的透明度和可复现性 39。
密码套件与模式: 7z 格式原生支持强大的 AES-256 加密 13。分析显示,.7z 存档使用的运行模式是 AES-CBC (密码块链接模式) 41。
密钥派生函数 (KDF): 7-Zip 使用了一个基于 SHA-256 哈希算法的 KDF 13。该 KDF 被设计为使用“大量迭代次数”(big number of iterations)来显著增加破解口令的成本 13。
文件名加密: 7z 格式支持归档头部(headers)压缩和加密 13,允许隐藏存档内的完整文件列表和目录结构。
7z (AES-CBC 模式) 的安全权衡:
7z 格式在安全设计上呈现出与 ZIP AES 截然相反的权衡。
7z 提供了非常强大的、基于 SHA-256 且具有高迭代次数的 KDF 13,远强于 ZIP AES 规范中的弱 KDF 35。
但是,7z 格式规范 13 并未定义内置的数据完整性机制(如 HMAC)。它依赖的 AES-CBC 模式 41 本身并不是一种认证加密(AEAD)模式(参见 NIST SP 800-38A 42)。
与 XTS 类似,CBC 模式在没有 MAC 保护的情况下易受攻击(例如,针对性的比特翻转攻击 (bit-flipping attacks))。
这导致了一个关键的策略选择:
ZIP (AE-2): 提供(弱的,HMAC-SHA-1)完整性,但 KDF(口令保护)极弱。
7z: 提供极强的 KDF,但没有内置完整性。
对于长期存档而言,强大的 KDF 是不可或缺的。因此,7z 是一个更优的基础,但其完整性缺陷必须通过外部手段来弥补。
D. 存档加密方案对比
下表总结了基于上述技术分析的关键安全属性。
III. 关键安全细节深度分析:完整性与密钥派生
对所选工具的分析表明,安全存档策略必须解决两个核心问题:数据完整性(Integrity)和密钥派生(Key Derivation)。
A. 完整性鸿沟:XTS-AES 与认证加密 (AEAD)
加密模式分为两类:仅提供保密性的模式(如 XTS, CBC, CTR)和同时提供保密性与认证/完整性的模式(AEAD)。
XTS 与 CBC 的局限性:
如前所述,VeraCrypt 使用的 XTS-AES 模式被 NIST SP 800-38E 明确定义为仅提供保密性 26。NIST 承认该模式不提供“数据或其来源的认证” 26。7z 使用的 CBC 模式 41 同样不提供原生认证。这些模式的共同弱点是无法检测密文是否被恶意篡改。NIST 的演示文稿指出,XTS 模式对于“相应块”中的“比特翻转”攻击是脆弱的 44。
AEAD 标准 (GCM):
对于文件级加密(数据大小可变,无扇区限制),NIST 推荐使用认证加密与关联数据(AEAD)模式 45。NIST 标准化的主要 AEAD 模式包括:
GCM (Galois/Counter Mode): 在 NIST SP 800-38D 中指定 42。
CCM (Counter with CBC-MAC): 在 NIST SP 800-38C 中指定 42。
ZIP AES 规范 30 采用的“AES-CTR + HMAC”是一种类 AEAD 结构,其目标是正确的(提供完整性),但其选择的 HMAC-SHA-1 在今天已被视为弱标准。
对存档策略的启示:
存档策略必须根据加密上下文区分对待。VeraCrypt 正确地将其 XTS 用于卷上下文。7z 将非 AEAD 模式 (CBC) 用于文件上下文,这在安全上是不理想的。
因此,任何依赖 VeraCrypt (XTS) 或 7z (CBC) 的长期存档策略,都必须实施一个独立的、外部的完整性验证层。一个 SHA-256 清单(manifest)文件是解决此问题的标准且健壮的方法。对于 ZIP AES,鉴于其 KDF 的弱点和 HMAC 算法的老化,外部清单同样是强烈建议的。
B. 密钥派生函数 (KDF) 标准
当使用口令(password/passphrase)而非原始密钥文件时,KDF 的强度是整个系统中最关键的环节。
PBKDF2 (NIST SP 800-132):
PBKDF2 (Password-Based Key Derivation Function 2) 是 NIST SP 800-132 推荐的 KDF 46。它通过重复应用伪随机函数(如 HMAC-SHA1)数千次(迭代)来增加计算成本,从而减慢暴力破解速度 9。VeraCrypt 正确地实现了此标准 19。
Argon2id (IETF RFC 9106):
Argon2 是 2015 年“密码哈希竞赛”(Password Hashing Competition)的获胜者 24,并由 IETF 在 RFC 9106 中标准化 10。它的关键优势在于“内存困难”(memory-hard)23。
行业趋势:从 PBKDF2 转向 Argon2
仅依赖 CPU 计算成本的 KDF(如 PBKDF2)正迅速被淘汰,因为它们无法有效抵抗专为并行计算优化的硬件(GPU 和 ASIC)。
证据 (NIST): NIST 已提议修订 SP 800-132 48。针对该修订的公开评论(Public Comments)明确指出,PBKDF2 “在大多数情况下不再被认为是适当的……因为它缺乏对 ASIC 的抵抗力” 36。
证据 (性能): 分析显示,单个商用 NVIDIA RTX 4090 GPU 每秒可以测试 90,000 次 PBKDF2-SHA256 哈希(即使在 100,100 次迭代的高设置下)36。
证据 (解决方案): Argon2id 的内存困难设计 24 通过要求大量 RAM(这在 GPU/ASIC 上难以大规模并行化)来直接对抗这种威胁 49。VeraCrypt 已支持 Argon2id 21。
行动建议: 对于所有新创建的存档,应始终优先选择 Argon2id。如果必须使用 PBKDF2(例如为了兼容性),则必须配置极高的 PIM 值(迭代次数),以提供最低限度的保护。
IV. 实施指南:参数模板与操作步骤
根据上述分析,本节提供符合安全最佳实践的、完整的、可直接执行的命令行模板。
A. 模板 A: VeraCrypt 容器创建
分析: 如 III.B 节所述,应优先使用 Argon2id。然而,在所提供的 VeraCrypt 命令行文档 50 中,并未列出用于创建容器时指定 Argon2id 的开关(/hash 开关仅列出了 PBKDF2 相关的 PRF 算法,如 sha512)。尽管 VeraCrypt 1.26.27 版本已宣布支持 Argon2id 21,但基于已验证文档的最强命令是使用 PBKDF2-SHA-512 并将 PIM 设置为最大安全值。
参数选择:
--hash=sha512: 选择 PBKDF2-HMAC-SHA-512 20。
--pim=485: 对于非系统容器,这将设置迭代次数为 $15000 + (485 \times 1000) = 500,000$ 次 22。
VeraCrypt (Linux) 完整命令:
Bash
# 描述: 创建一个 500MB 的文件容器 'archive.vc'
# KDF: PBKDF2-HMAC-SHA-512
# 迭代次数: 500,000 (通过 PIM=485)
# 密码套件: AES-256 (默认)
# 文件系统: FAT
#
# 注意: '--password' 开关会将口令暴露在 shell 历史中。
# 为获得最高安全性,请省略 '--password' 开关以进行交互式提示。
veracrypt --text --create./archive.vc \
--volume-type=Normal \
--size=500M \
--password="YOUR_SECURE_PASSWORD" \
--pim=485 \
--hash=sha512 \
--encryption=AES \
--filesystem=FAT \
--random-source=/dev/urandom
22
VeraCrypt (Windows) 完整命令:
DOS
:: 描述: 创建一个 500MB 的文件容器 'C:\archive.vc'
:: KDF: PBKDF2-HMAC-SHA-512
:: 迭代次数: 500,000 (通过 PIM=485)
:: 密码套件: AES-256 (默认)
:: 文件系统: exFAT
::
:: 注意: /password 开关会将口令暴露在批处理文件或命令行中。
:: 为获得最高安全性,请省略 /password 开关以在 GUI 中交互式输入。
"C:\Program Files\VeraCrypt\VeraCrypt Format.exe" /create C:\archive.vc ^
/volumeType Normal ^
/size 500M ^
/password "YOUR_SECURE_PASSWORD" ^
/pim 485 ^
/hash sha512 ^
/encryption AES ^
/filesystem exFAT ^
/silent
22
B. 模板 B: 7-Zip 归档创建
B.1: 7z 格式 (最高 KDF 强度,需外部完整性)
分析: 此方案使用 .7z 格式,该格式利用强大的 SHA-256 KDF 13 和 AES-256 13。必须使用 -mhe=on 开关来加密文件头(隐藏文件名)37。
7-Zip (Windows/Linux) 完整命令 (.7z 格式):
Bash
# 描述: 创建 'archive.7z',压缩 'data_directory' 目录
# 格式:.7z
# KDF: 强 (SHA-256-based, 高迭代次数)
# 密码套件: AES-256 (默认) [40, 52]
# 文件头加密 (文件名): 开启 (-mhe=on)
#
# -p 开关将交互式地提示输入口令,避免其出现在 shell 历史中。
7z a -t7z -mhe=on -p archive.7z./data_directory/
13
B.2: ZIP 格式 (高兼容性,内置完整性)
分析: 此方案利用 7-Zip 程序来创建一个符合 ZIP AES 规范的 .zip 文件。这种方法巧妙地结合了两种方案的优点:
它创建了一个高度兼容的 ZIP AES 文件 39,该文件具有内置的(尽管是 SHA-1)完整性检查 30。
它绕过了 ZIP 规范中 KDF 迭代 1,000 次的弱点 35,转而使用 7-Zip 自己的强大 KDF 13 来生成密钥。
7-Zip (Windows/Linux) 完整命令 (.zip 格式):
Bash
# 描述: 创建 'archive.zip',压缩 'data_directory' 目录
# 格式:.zip (-tzip) [53]
# KDF: 7-Zip 的强 KDF
# 密码套件: AES-256 (通过 -mem=AES256 指定) [52, 53]
#
# -p 开关将交互式地提示输入口令。
7z a -tzip -mem=AES256 -p archive.zip./data_directory/
13
C. 模板 C: 完整性清单 (Manifest) 的生成与验证
分析: 如 III.A 节所述,这是 VeraCrypt (XTS) 和 7z (CBC) 存档的强制步骤,用于防范数据篡改。
生成清单 (Linux / macOS):
此命令将查找当前目录下的所有 .vc 和 .7z 文件,并使用 openssl 以 sha256sum 兼容的格式(-r)54 生成一个哈希清单。
Bash
# 描述: 为所有.vc 和.7z 文件生成一个 SHA-256 哈希清单
#
# LC_ALL=C 确保跨系统排序一致性
# -print0 和 -0 处理包含特殊字符的文件名
LC_ALL=C find. -type f \( -name "*.vc" -o -name "*.7z" \) -print0 | \
sort -z | \
xargs -0 openssl dgst -sha256 -r > archive_manifest.sha256
54
验证清单 (Linux / macOS):
Bash
# 描述: 验证当前目录中的文件是否与其在清单中的哈希值匹配
sha256sum --check archive_manifest.sha256
64
生成清单 (Windows / PowerShell):
PowerShell
# 描述: 为指定文件生成 SHA-256 哈希 (PowerShell)
# CertUtil 是一个内置工具 [55, 56]
CertUtil -hashfile C:\archive.vc SHA256 > archive_manifest.txt
CertUtil -hashfile C:\archive.7z SHA256 >> archive_manifest.txt
55
D. 模板 D: 严重警告 - OpenSSL enc 命令的误用
分析: 一个常见的、符合逻辑的错误是尝试使用 OpenSSL 的 enc 命令行工具来应用 AEAD 模式(如 AES-GCM)。
严正警告:openssl enc 命令不支持认证加密。
证据: OpenSSL 官方文档 57 及技术分析 58 明确指出,openssl enc 工具“不支持像 CCM 和 GCM 这样的认证加密模式”。
失败模式: 该命令在加密时“不会存储或检索认证标签” 57。
危险: 这会导致静默失败。当使用 openssl enc -d -aes-256-gcm 解密一个被篡改的文件时,该工具不会报告完整性校验失败 58。它会输出损坏的数据,并可能只在标准错误(stderr)中打印一条“bad decrypt”消息,而该消息在管道中通常会被忽略 58。
正确工具: OpenSSL 文档推荐使用 openssl-cms(1) 命令进行此类操作,因为它提供了标准数据格式并正确管理密钥/IV 和认证标签 57。
结论: 严禁使用 openssl enc 命令执行 AES-GCM 或任何 AEAD 加密。应使用模板 B.1 (7z) 或 B.2 (ZIP) 中描述的、使用 7-Zip 的健壮实现。
V. 最终建议:长期存档与机器检索策略
对技术规范和安全标准的分析,验证了所提出的结论(原则上是正确的),但前提是必须严格执行以下缓解措施,以应对所选工具的特定弱点。
A. 策略一:卷级存档 (VeraCrypt)
此策略适用于将大量数据聚合到一个单一的、不透明的加密块中,优先考虑的是“静态”的保密性。
执行: 使用模板 A 创建 VeraCrypt 容器。优先使用 Argon2id KDF(如果 GUI 或更新的命令行支持)。如果使用 PBKDF2,必须使用高 PIM 值(例如,基于 SHA-512,PIM >= 485,迭代次数 500k+)22。
机器检索: 为了满足“未来智能体检索”的需求,所有非敏感的元数据(文件路径、MIME 类型、时间戳、哈希值)应存储在容器外部的一个独立明文数据库或索引文件中。检索代理应查询此外部索引,仅在确定目标后才请求挂载(mount)加密卷。
完整性 (强制): 由于 VeraCrypt 使用 XTS(仅保密)26,必须对生成的 .vc 文件本身执行模板 C(生成清单)。此外部 archive_manifest.sha256 文件是防止存档被静默篡改的唯一保证。
B. 策略二:文件级存档 (7-Zip)
此策略适用于需要对存档进行粒度化管理、单独传输或要求跨平台兼容性的场景。
选项 B.1 (最高安全性):.7z 格式
执行: 使用模板 B.1 (-t7z -mhe=on)。这将提供最强的 KDF 保护 13 和文件名加密 37。
机器检索: 由于文件名被加密(-mhe=on),外部索引对于机器检索同样是必要的。
完整性 (强制): 由于 7z 使用 AES-CBC(仅保密)41,必须对每个生成的 .7z 文件执行模板 C(生成清单)。
选项 B.2 (最高兼容性):.zip 格式 (由 7-Zip 创建)
执行: 使用模板 B.2 (-tzip -mem=AES256)。
分析: 这是两种策略的巧妙结合。它产生了广泛兼容的 ZIP AES 文件 39,该文件具有内置的(尽管是弱的 HMAC-SHA-1)完整性检查 30,同时利用了 7-Zip 强大的 KDF 13,避免了 ZIP 规范 KDF 的弱点 35。
完整性 (推荐): 尽管此格式具有内置完整性,但鉴于其依赖 SHA-1,强烈建议仍然使用模板 C(生成清单)作为额外的、更强的外部完整性保证。
C. 总结
所提出的两种存档方向(VeraCrypt 卷和 AES 加密的压缩文件)在配置正确时均是安全、有效且符合柯克霍夫原则的。
VeraCrypt (XTS) 和 7z (CBC) 提供了强大的 KDF(口令保护),但其完整性缺陷(分别源于 XTS 26 和 CBC 41)必须通过外部 SHA-256 清单(模板 C)来强制弥补。
使用 7-Zip 创建的 ZIP AES 文件(模板 B.2)提供了一个在 KDF 强度和内置完整性之间取得最佳平衡的粒度化解决方案。
最终,“开源实现 + 公开标准(AES、XTS、PBKDF2/Argon2id、ZIP/7z 规范)+ 独立的完整性校验(SHA-256 清单)” 这一组合,构成了符合柯克霍夫原则的、可用于长期存档和未来检索的安全基石。
Works cited
Kerckhoffs's principle - Wikipedia, accessed November 1, 2025,
NIST and Computer Security - National Institute of Standards and Technology, accessed November 1, 2025,
SP 800-175B Rev. 1, Guideline for Using Cryptographic Standards in the Federal Government - NIST Computer Security Resource Center, accessed November 1, 2025,
Guideline for Using Cryptographic Standards in the Federal Government - NIST Technical Series Publications, accessed November 1, 2025,
Communication Theory of Secrecy Systems - cryptologie.net, accessed November 1, 2025,
Communication Theory of Secrecy Systems - Wikipedia, accessed November 1, 2025,
Communication Theory of Secrecy Systems - cs.wisc.edu, accessed November 1, 2025,
Communication Theory of Secrecy Systems* - By CE SHANNON - 1. INTRODUCTION AND SUMMARY, accessed November 1, 2025,
NIST SP 800-132, Recommendation for Password-Based Key Derivation Part 1: Storage Applications - National Institute of Standards and Technology, accessed November 1, 2025,
draft-irtf-cfrg-argon2-13 - Argon2 Memory-Hard Function for Password Hashing and Proof-of-Work Applications - IETF Datatracker, accessed November 1, 2025,
VeraCrypt License - VeraCrypt - Free Open source disk encryption ..., accessed November 1, 2025,
APPNOTE - PKWARE Support, accessed November 1, 2025,
7z Format, accessed November 1, 2025,
AES - VeraCrypt, accessed November 1, 2025,
Encryption Algorithms - VeraCrypt, accessed November 1, 2025,
Encryption Scheme - VeraCrypt, accessed November 1, 2025,
Modes of Operation - VeraCrypt, accessed November 1, 2025,
Compliance with Standards and Specifications - VeraCrypt, accessed November 1, 2025,
Header Key Derivation, Salt, and Iteration Count - VeraCrypt, accessed November 1, 2025,
pbkdf2 - VeraCrypt - Free Open source disk encryption with strong security for the Paranoid, accessed November 1, 2025,
Release Notes - VeraCrypt - Free Open source disk encryption with strong security for the Paranoid, accessed November 1, 2025,
PIM - VeraCrypt - Free Open source disk encryption with strong security for the Paranoid, accessed November 1, 2025,
Information on RFC 9106 - » RFC Editor, accessed November 1, 2025,
Argon2 - Wikipedia, accessed November 1, 2025,
Argon2id - VeraCrypt, accessed November 1, 2025,
SP 800-38E, Recommendation for Block Cipher Modes of Operation: the XTS-AES Mode for Confidentiality on Storage Devices - NIST Computer Security Resource Center - National Institute of Standards and Technology, accessed November 1, 2025,
Announcement of Proposal to Update NIST SP 800-38E, Using the XTS-AES Mode for Confidentiality on Storage Devices - National Institute of Standards and Technology, accessed November 1, 2025,
Block Cipher Techniques | CSRC - NIST Computer Security Resource Center, accessed November 1, 2025,
document, accessed November 1, 2025,
PKWARE's APPNOTE.TXT - .ZIP File Format Specification, accessed November 1, 2025,
AES Encryption Information - WinZip, accessed November 1, 2025,
What is AES Encryption? - WinZip Knowledge Base, accessed November 1, 2025,
RFC 3686 - Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP) - IETF Datatracker, accessed November 1, 2025,
Attacking and Repairing the WinZip Encryption Scheme, accessed November 1, 2025,
WinZip AE-2 for small files and AE-1 for larger - how small/how large for each?, accessed November 1, 2025,
Public Comments on SP 800-132, Recommendation for Password-Based Key Derivation - NIST Computer Security Resource Center, accessed November 1, 2025,
Encrypting and decrypting archives with 7-Zip - Red Hat, accessed November 1, 2025,
7z File Format - The Library of Congress, accessed November 1, 2025,
7-Zip, accessed November 1, 2025,
Using 7-Zip to Encrypt Sensitive Files - Concord University Help Desk, accessed November 1, 2025,
The use of cryptography in 7-zip, accessed November 1, 2025,
Block Cipher Techniques | CSRC - NIST Computer Security Resource Center, accessed November 1, 2025,
Report on the Block Cipher Modes of Operation in the NIST SP 800-38 Series, accessed November 1, 2025,
Report on the Block Cipher Modes of Operation in the NIST SP 800-38 Series, accessed November 1, 2025,
SP 800-132, Recommendation for Password-Based Key Derivation: Part 1: Storage Applications | CSRC - NIST Computer Security Resource Center - National Institute of Standards and Technology, accessed November 1, 2025,
PBKDF2 - Wikipedia, accessed November 1, 2025,
Proposal to Revise NIST SP 800-132, Password-Based Key Derivation | CSRC, accessed November 1, 2025,
RFC 9106 - Argon2 Memory-Hard Function for Password Hashing and Proof-of-Work Applications - IETF Datatracker, accessed November 1, 2025,
Command Line Usage - VeraCrypt - Free Open source disk ..., accessed November 1, 2025,
7z command line with highest encryption: AES-256 + Encrypting the Filenames - Ask Ubuntu, accessed November 1, 2025,
7z with encryption: System ERROR: The parameter is incorrect - Super User, accessed November 1, 2025,
How do I create a store-only AES256 7zip archive from linux/macOS command line?, accessed November 1, 2025,
Can you use OpenSSL to generate an md5 or sha hash on a directory of files? - Super User, accessed November 1, 2025,
Verify SHA-256 checksum - Akamai TechDocs, accessed November 1, 2025,
How to Check an MD5 Checksum on desktop/laptop (PC/MAC) - Nutanix Support Portal, accessed November 1, 2025,
openssl-enc - OpenSSL Documentation, accessed November 1, 2025,
openssl aes gcm encryption with authentication TAG; command line - Stack Overflow, accessed November 1, 2025,
Generate a new VeraCrypt container on the linux command line - Super User, accessed November 1, 2025,
How do I encrypt the system disk with VeraCrypt on the command line on Linux?, accessed November 1, 2025,
VeraCrypt On The Command Line for Windows - Arcane Code, accessed November 1, 2025,
7-Zip Command Line Reference Wizard, accessed November 1, 2025,
command line - Create checksum sha256 of all files and directories? - Ask Ubuntu, accessed November 1, 2025,
How to take sha256sum of file and compare to check in one line? - Super User, accessed November 1, 2025,
K23373507: How to use ''certutil'' Windows command to verify a file's MD5 checksum - MyF5, accessed November 1, 2025,
How to Check/Verify Checksum from Windows Command Prompt - Prashant Mhatre, accessed November 1, 2025,