1
0
mirror of https://github.com/veracrypt/VeraCrypt.git synced 2025-11-11 11:08:02 -06:00
Files
VeraCrypt/doc/html/zh-cn/Header Key Derivation.html
Jertzukka 4e112df0d2 Documentation: Remove XHTML spec and fix errors (#1547)
* Documentation: Remove XHTML spec and fix errors
None of the docs follow the XHTML specification, which means
that programs that expect this (such as Gnome Web) as it is advertised
as such, will completely fail to parse it as it is incorrect syntax. So
it is removed.

* Remove .chm files
2025-06-02 09:19:00 +09:00

84 lines
6.9 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>VeraCrypt - 为偏执狂提供强大安全保障的免费开源磁盘加密工具</title>
<meta name="description" content="VeraCrypt是一款适用于Windows、Mac OS X和Linux的免费开源磁盘加密软件。若攻击者迫使您透露密码VeraCrypt可提供似是而非的否认。与文件加密不同VeraCrypt进行的数据加密是实时即时、自动、透明的仅需极少内存且不涉及临时未加密文件。"/>
<meta name="keywords" content="加密, 安全"/>
<link href="styles.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div>
<a href="Documentation.html"><img src="VeraCrypt128x128.png" alt="VeraCrypt"/></a>
</div>
<div id="menu">
<ul>
<li><a href="Home.html">主页</a></li>
<li><a href="Code.html">源代码</a></li>
<li><a href="Downloads.html">下载</a></li>
<li><a class="active" href="Documentation.html">文档</a></li>
<li><a href="Donation.html">捐赠</a></li>
<li><a href="https://sourceforge.net/p/veracrypt/discussion/" target="_blank">论坛</a></li>
</ul>
</div>
<div>
<p>
<a href="Documentation.html">文档</a>
<img src="arrow_right.gif" alt=">>" style="margin-top: 5px">
<a href="Technical%20Details.html">技术细节</a>
<img src="arrow_right.gif" alt=">>" style="margin-top: 5px">
<a href="Header%20Key%20Derivation.html">头密钥推导、盐值和迭代次数</a>
</p></div>
<div class="wikidoc">
<h1>头密钥推导、盐值和迭代次数</h1>
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
头密钥用于加密和解密VeraCrypt卷头的加密区域对于
<a href="System%20Encryption.html" style="text-align:left; color:#0080c0; text-decoration:none">
系统加密</a>,则是密钥数据区域),该区域包含主密钥和其他数据(请参阅
<a href="Encryption%20Scheme.html" style="text-align:left; color:#0080c0; text-decoration:none">
加密方案</a><a href="VeraCrypt%20Volume%20Format%20Specification.html" style="text-align:left; color:#0080c0; text-decoration:none">
VeraCrypt卷格式规范</a> 部分。在VeraCrypt创建的卷中以及对于
<a href="System%20Encryption.html" style="text-align:left; color:#0080c0; text-decoration:none">
系统加密</a>该区域采用XTS模式进行加密请参阅 <a href="Modes%20of%20Operation.html" style="text-align:left; color:#0080c0; text-decoration:none">
操作模式</a> 部分。VeraCrypt用于生成头密钥和辅助头密钥XTS模式的方法是PBKDF2该方法在PKCS #5 v2.0中定义;请参阅
<a href="References.html" style="text-align:left; color:#0080c0; text-decoration:none">
[7]</a>
</div>
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
使用了512位的盐值这意味着每个密码有2<sup style="text-align:left; font-size:85%">512</sup> 个密钥。这显著降低了对“离线”字典/“彩虹表”攻击的脆弱性(使用盐值时,为字典中的所有密码预先计算所有密钥非常困难) [7]。盐值由
<a href="Random%20Number%20Generator.html" style="text-align:left; color:#0080c0; text-decoration:none">
VeraCrypt随机数生成器</a> 在卷创建过程中生成的随机值组成。头密钥推导函数基于HMAC - SHA - 512、HMAC - SHA - 256、HMAC - BLAKE2S - 256、HMAC - Whirlpool或HMAC - Streebog请参阅 [8, 9, 20, 22] — 用户可以选择使用哪种。派生密钥的长度不取决于底层哈希函数的输出大小。例如即使使用HMAC - SHA - 512AES - 256密码的头密钥始终为256位长在XTS模式下还会使用一个额外的256位辅助头密钥因此AES - 256总共使用两个256位密钥。更多信息请参阅 [7]。为了推导出头密钥,必须执行大量的密钥推导函数迭代,这增加了进行密码穷举搜索(即暴力攻击)所需的时间 [7]。
</div>
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
<p>在1.12版本之前VeraCrypt始终使用固定的迭代次数该次数仅取决于卷类型和使用的推导算法。
从1.12版本开始,<a href="Personal%20Iterations%20Multiplier%20%28PIM%29.html">
PIM </a>字段(<a href="Personal%20Iterations%20Multiplier%20%28PIM%29.html">个人迭代乘数</a>)使用户能够更好地控制密钥推导函数使用的迭代次数。</p>
<p>
<p>当未指定 <a href="Personal%20Iterations%20Multiplier%20%28PIM%29.html">
PIM </a>值或该值等于零时VeraCrypt使用以下默认值<br/>
<ul>
<li>对于使用SHA - 256、BLAKE2s - 256或Streebog的系统分区加密引导加密使用 <strong>200000</strong> 次迭代。</li>
<li>对于使用SHA - 512或Whirlpool的系统加密使用 <strong>500000</strong> 次迭代。</li>
<li>对于非系统加密和文件容器,所有推导算法都将使用 <strong>500000</strong> 次迭代。
</li></ul>
</p>
<p>当用户提供 <a href="Personal%20Iterations%20Multiplier%20%28PIM%29.html">
PIM </a>值时,密钥推导函数的迭代次数计算如下:</p>
<ul>
<li>对于不使用SHA - 512或Whirlpool的系统加密迭代次数 = <strong>PIM x 2048</strong>
</li><li>对于使用SHA - 512或Whirlpool的系统加密迭代次数 = <strong>15000 + (PIM x 1000)</strong>
</li><li>对于非系统加密和文件容器:迭代次数 = <strong>15000 + (PIM x 1000)</strong>
</li></ul>
</div>
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
级联密码中使用的头密钥相互独立即使它们是从单个密码可能已应用密钥文件派生而来。例如对于AES - Twofish - Serpent级联头密钥推导函数会根据给定密码推导出一个768位的加密密钥在XTS模式下还会从给定密码推导出一个768位的
<em style="text-align:left">辅助</em> 头密钥。生成的768位头密钥随后被拆分为三个256位密钥在XTS模式下
<em style="text-align:left">辅助</em> 头密钥也被拆分为三个256位密钥因此级联实际上总共使用六个256位密钥其中第一个密钥由Serpent使用第二个密钥由Twofish使用第三个密钥由AES使用此外在XTS模式下第一个辅助密钥由Serpent使用第二个辅助密钥由Twofish使用第三个辅助密钥由AES使用。因此即使攻击者拥有其中一个密钥他也无法使用该密钥推导出其他密钥因为除了对弱密码进行暴力攻击外没有可行的方法来确定派生该密钥的密码。
</div>
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
<a href="Random%20Number%20Generator.html" style="text-align:left; color:#0080c0; text-decoration:none; font-weight:bold">下一部分 &gt;&gt;</a></div>
</div><div class="ClearBoth"></div></body></html>