mirror of
https://github.com/veracrypt/VeraCrypt.git
synced 2026-06-17 18:16:07 -05:00
docs: clarify Argon2id and BLAKE2b-512 KDF usage
Document BLAKE2b-512 and Argon2id usage in the HTML/CHM user guide and Russian/Chinese translations. Clarify Argon2id's non-system scope, PBKDF2-HMAC system encryption behavior, PIM parameters, and regenerate the CHM files.
This commit is contained in:
@@ -45,44 +45,55 @@ VeraCrypt (в случае
|
||||
Спецификация формата томов 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>). Для генерирования ключа заголовка и вторичного ключа заголовка (режим XTS)
|
||||
VeraCrypt использует метод PBKDF2, определённый в PKCS #5 v2.0; см.
|
||||
Режимы работы</a>). Для шифрования системы VeraCrypt использует PBKDF2-HMAC. Для несистемных томов и файловых контейнеров VeraCrypt поддерживает две функции формирования ключей заголовка: PBKDF2,
|
||||
определённую в PKCS #5 v2.0; см.
|
||||
<a href="References.html" style="text-align:left; color:#0080c0; text-decoration:none">
|
||||
[7]</a>.</div>
|
||||
[7]</a>, и Argon2id.</div>
|
||||
|
||||
<h3>Формирование ключа PBKDF2-HMAC</h3>
|
||||
<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]) –
|
||||
Метод PBKDF2 использует псевдослучайные функции на основе HMAC со следующими доступными алгоритмами хеширования: HMAC-SHA-512, HMAC-SHA-256, HMAC-BLAKE2S-256, HMAC-Whirlpool или HMAC-Streebog (см. [8, 9, 20, 22]) –
|
||||
какая из них будет применяться, выбирается пользователем. Длина сформированного ключа не зависит от
|
||||
размера вывода лежащей в основе хеш-функции. Например, длина ключа заголовка для шифра AES-256 всегда равна
|
||||
256 битам, даже если используется HMAC-SHA-512 (в режиме XTS применяется дополнительный 256-битовый
|
||||
вторичный ключ заголовка; следовательно, для AES-256 в целом применяются два 256-битовых ключа). Более
|
||||
подробную информацию см. в [7]. Для формирования ключа заголовка выполняется большое количество итераций,
|
||||
что увеличивает время, необходимое для полного поиска паролей (то есть атакой методом перебора) [7].</div>
|
||||
|
||||
<h3>Формирование ключа Argon2id</h3>
|
||||
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
|
||||
<p>До версии 1.12 в VeraCrypt всегда использовалось фиксированное количество итераций, зависящее только от типа
|
||||
тома и алгоритма формирования ключа.</p>
|
||||
Argon2id — это функция формирования ключа с повышенными требованиями к памяти, обеспечивающая устойчивость к атакам с компромиссом время-память и атакам по сторонним каналам. В отличие от PBKDF2-HMAC, Argon2id не использует отдельный выбор алгоритма хеширования, а применяет собственную внутреннюю хеш-функцию (<a href="BLAKE2b-512.html" style="text-align:left; color:#0080c0; text-decoration:none">BLAKE2b-512</a>). Для Argon2id требуются три параметра: затраты памяти (объём используемой памяти), затраты времени (число итераций) и параллелизм (число потоков). VeraCrypt во всех случаях устанавливает параметр параллелизма равным 1.</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> в процессе создания тома.</div>
|
||||
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
|
||||
<p>До версии 1.12 VeraCrypt всегда использовал PBKDF2-HMAC с фиксированным количеством итераций, зависящим только от типа
|
||||
тома и используемого алгоритма хеширования.</p>
|
||||
<ul></ul>
|
||||
<p>Начиная с версии 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>
|
||||
<h4>Параметры PBKDF2-HMAC</h4>
|
||||
<p>Если <a href="Personal%20Iterations%20Multiplier%20%28PIM%29.html">
|
||||
PIM</a> не указан или равен нулю, VeraCrypt использует следующие стандартные значения:</p>
|
||||
PIM</a> не указан или равен нулю, VeraCrypt использует следующие стандартные значения для PBKDF2-HMAC:</p>
|
||||
<ul>
|
||||
<li>Для шифрования системы (шифрование загрузки), если используется SHA-256, BLAKE2s-256 или Streebog, <i>число итераций</i> = <strong>200 000</strong>.</li>
|
||||
<li>Для шифрования системы, если используется SHA-512 или Whirlpool, а также для несистемных разделов и файловых контейнеров <i>число итераций</i> = <strong>500 000</strong>.
|
||||
<li>Для шифрования системы, если используется SHA-512 или Whirlpool, а также для несистемных разделов и файловых контейнеров с PBKDF2-HMAC <i>число итераций</i> = <strong>500 000</strong>.
|
||||
</li></ul>
|
||||
</p>
|
||||
<p>Если <a href="Personal%20Iterations%20Multiplier%20%28PIM%29.html">
|
||||
PIM</a> указан, то количество итераций функции формирования ключа вычисляется следующим образом:</p>
|
||||
PIM</a> указан, то количество итераций функции формирования ключа PBKDF2 вычисляется следующим образом:</p>
|
||||
<ul>
|
||||
<li>Для шифрования системы, если не используется SHA-512 или Whirlpool, <i>число итераций</i> = <strong>PIM × 2048</strong>.</li>
|
||||
<li>Для шифрования системы, если используется SHA-512 или Whirlpool, а также для несистемных разделов и файлов-контейнеров <i>число итераций</i> = <strong>15 000 + (PIM × 1000)</strong>.
|
||||
<li>Для шифрования системы, если используется SHA-512 или Whirlpool, а также для несистемных разделов и файлов-контейнеров с PBKDF2-HMAC <i>число итераций</i> = <strong>15 000 + (PIM × 1000)</strong>.
|
||||
</li></ul>
|
||||
<h4>Параметры Argon2id</h4>
|
||||
<p>Для Argon2id значение PIM управляет затратами памяти и времени. Если PIM не указан, используются параметры по умолчанию, соответствующие PIM = 12 (416 MiB памяти, 6 итераций).</p>
|
||||
<p>Для Argon2id VeraCrypt формирует фиксированные 192 байта ключевого материала заголовка для текущего формата томов независимо от выбранного алгоритма шифрования. Затем выбранный алгоритм шифрования использует требуемый префикс этого вывода. Например, AES-XTS использует первые 64 байта. Реализации должны запрашивать у Argon2id 192 байта, а затем выбирать требуемый префикс; запрос только длины ключевого материала выбранного алгоритма даёт другой вывод Argon2id, поскольку Argon2id включает запрошенную длину вывода в своё вычисление.</p>
|
||||
</div>
|
||||
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
|
||||
Ключи заголовка, используемые шифрами при каскадном (последовательном) шифровании, не зависят друг от друга,
|
||||
|
||||
Reference in New Issue
Block a user