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:
@@ -0,0 +1,174 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<title>VeraCrypt - Бесплатное надёжное шифрование дисков с открытым исходным кодом</title>
|
||||
<meta name="description" content="VeraCrypt это бесплатное программное обеспечение для шифрования дисков с открытым исходным кодом для Windows, Mac OS X (macOS) и Linux. В случае, если злоумышленник вынуждает вас раскрыть пароль, VeraCrypt обеспечивает правдоподобное отрицание наличия шифрования. В отличие от пофайлового шифрования, VeraCrypt шифрует данные в реальном времени (на лету), автоматически, прозрачно, требует очень мало памяти и не использует временные незашифрованные файлы."/>
|
||||
<meta name="keywords" content="encryption, security, шифрование, безопасность"/>
|
||||
<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="Key%20Derivation%20Algorithms.html">Алгоритмы формирования ключа</a>
|
||||
<img src="arrow_right.gif" alt=">>" style="margin-top: 5px">
|
||||
<a href="Argon2id.html">Argon2id</a>
|
||||
</p></div>
|
||||
|
||||
<div class="wikidoc">
|
||||
<h1>Argon2id</h1>
|
||||
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
|
||||
Argon2id — это функция формирования ключа с повышенными требованиями к памяти, разработанная для противодействия как атакам с компромиссом время-память, так и атакам по сторонним каналам. В 2015 году она была выбрана победителем Password Hashing Competition (PHC) и определена в RFC 9106. VeraCrypt поддерживает Argon2id как альтернативу PBKDF2-HMAC для формирования ключа заголовка несистемных томов.
|
||||
</div>
|
||||
|
||||
<h3>Основные свойства</h3>
|
||||
<ul style="text-align:left; margin-top:18px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
|
||||
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
|
||||
<strong>Повышенные требования к памяти:</strong> использует настраиваемый объём памяти, что повышает устойчивость к атакам с применением специализированного оборудования.
|
||||
</li>
|
||||
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
|
||||
<strong>Устойчивость к атакам по сторонним каналам:</strong> сочетает шаблоны доступа к памяти, зависящие и не зависящие от данных.
|
||||
</li>
|
||||
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
|
||||
<strong>Внутренняя хеш-функция:</strong> использует <a href="BLAKE2b-512.html" style="color:#0080c0; text-decoration:none">BLAKE2b-512</a> внутри алгоритма, поэтому отдельный выбор хеш-алгоритма не требуется.
|
||||
</li>
|
||||
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
|
||||
<strong>Настраиваемые параметры:</strong> позволяет изменять затраты памяти, затраты времени и степень параллелизма.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>Варианты Argon2</h3>
|
||||
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
|
||||
У Argon2 есть три варианта:
|
||||
</div>
|
||||
<ul style="text-align:left; margin-top:18px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
|
||||
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
|
||||
<strong>Argon2d:</strong> использует доступ к памяти, зависящий от данных; устойчив к атакам с компромиссом время-память, но уязвимее к атакам по сторонним каналам.
|
||||
</li>
|
||||
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
|
||||
<strong>Argon2i:</strong> использует доступ к памяти, не зависящий от данных; устойчив к атакам по сторонним каналам, но менее устойчив к атакам с компромиссом время-память.
|
||||
</li>
|
||||
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
|
||||
<strong>Argon2id:</strong> гибридный вариант, объединяющий оба подхода и обеспечивающий устойчивость к обоим типам атак (используется в VeraCrypt).
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>Параметры в VeraCrypt</h3>
|
||||
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
|
||||
VeraCrypt использует Argon2id со следующей конфигурацией параметров:
|
||||
</div>
|
||||
|
||||
<h4>Затраты памяти (m_cost)</h4>
|
||||
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
|
||||
Объём памяти, используемый при формировании ключа, управляется значением PIM:
|
||||
</div>
|
||||
<ul style="text-align:left; margin-top:18px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
|
||||
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
|
||||
<strong>Формула:</strong> m_cost(pim) = min(64 MiB + (pim - 1) × 32 MiB, 1024 MiB)
|
||||
</li>
|
||||
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
|
||||
<strong>Диапазон:</strong> от 64 MiB до 1024 MiB (ограничение достигается при PIM = 31)
|
||||
</li>
|
||||
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
|
||||
<strong>По умолчанию:</strong> 416 MiB (эквивалентно PIM = 12)
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h4>Затраты времени (t_cost)</h4>
|
||||
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
|
||||
Количество итераций, выполняемых при формировании ключа:
|
||||
</div>
|
||||
<ul style="text-align:left; margin-top:18px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
|
||||
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
|
||||
<strong>Для PIM ≤ 31:</strong> t_cost(pim) = 3 + floor((pim - 1) / 3)
|
||||
</li>
|
||||
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
|
||||
<strong>Для PIM > 31:</strong> t_cost(pim) = 13 + (pim - 31)
|
||||
</li>
|
||||
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
|
||||
<strong>По умолчанию:</strong> 6 итераций (эквивалентно PIM = 12)
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h4>Параллелизм</h4>
|
||||
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
|
||||
Количество параллельных потоков, используемых при вычислении:
|
||||
</div>
|
||||
<ul style="text-align:left; margin-top:18px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
|
||||
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
|
||||
<strong>Значение:</strong> в VeraCrypt всегда фиксировано на уровне 1 потока.
|
||||
</li>
|
||||
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
|
||||
<strong>Причина:</strong> обеспечивает одинаковое поведение на разных аппаратных конфигурациях.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>Преимущества перед PBKDF2</h3>
|
||||
<ul style="text-align:left; margin-top:18px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
|
||||
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
|
||||
<strong>Требовательность к памяти:</strong> требует выделения значительного объёма памяти, что делает атаки с использованием GPU и ASIC дороже.
|
||||
</li>
|
||||
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
|
||||
<strong>Современная конструкция:</strong> специально разработан с учётом современных методов атак.
|
||||
</li>
|
||||
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
|
||||
<strong>Устойчивость к атакам по сторонним каналам:</strong> содержит встроенные меры защиты от атак по времени доступа к кэшу и других сторонних каналов.
|
||||
</li>
|
||||
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
|
||||
<strong>Стандартизация:</strong> официально стандартизован в RFC 9106.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>Рекомендации по использованию</h3>
|
||||
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
|
||||
При использовании Argon2id в VeraCrypt:
|
||||
</div>
|
||||
<ul style="text-align:left; margin-top:18px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
|
||||
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
|
||||
<strong>Требования к памяти:</strong> убедитесь, что доступен достаточный объём ОЗУ, особенно при больших значениях PIM.
|
||||
</li>
|
||||
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
|
||||
<strong>Производительность:</strong> более высокие затраты памяти могут увеличить время монтирования, но обеспечивают более высокий уровень защиты.
|
||||
</li>
|
||||
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
|
||||
<strong>Совместимость:</strong> доступен в версиях VeraCrypt, поддерживающих несколько функций формирования ключа.
|
||||
</li>
|
||||
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
|
||||
<strong>Без выбора хеш-алгоритма:</strong> в отличие от PBKDF2-HMAC, отдельный хеш-алгоритм выбирать не нужно.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>Технические характеристики</h3>
|
||||
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
|
||||
<strong>Алгоритм:</strong> Argon2id согласно RFC 9106<br/>
|
||||
<strong>Внутренняя хеш-функция:</strong> <a href="BLAKE2b-512.html" style="color:#0080c0; text-decoration:none">BLAKE2b-512</a><br/>
|
||||
<strong>Размер соли:</strong> 512 бит (как и у PBKDF2-HMAC)<br/>
|
||||
<strong>Длина вывода KDF заголовка:</strong> фиксирована и составляет 1536 бит (192 байта) для текущего формата VeraCrypt. Для выбранного алгоритма шифрования используется требуемый префикс этого вывода (например, первые 64 байта для AES (AES-256-XTS)). Сторонние реализации должны запрашивать у Argon2id 192 байта до выбора требуемого префикса; запрос только длины ключевого материала выбранного алгоритма даёт другой вывод Argon2id.<br/>
|
||||
<strong>Версия:</strong> Argon2 версии 0x13 (19 в десятичной системе)
|
||||
</div>
|
||||
|
||||
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
|
||||
Дополнительные сведения о значениях PIM и их влиянии на параметры Argon2id см. в разделе
|
||||
<a href="Personal%20Iterations%20Multiplier%20%28PIM%29.html" style="text-align:left; color:#0080c0; text-decoration:none">
|
||||
Персональный множитель итераций (PIM)</a>.
|
||||
</div>
|
||||
|
||||
</div><div class="ClearBoth"></div></body></html>
|
||||
@@ -0,0 +1,51 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<title>VeraCrypt - Бесплатное надёжное шифрование дисков с открытым исходным кодом</title>
|
||||
<meta name="description" content="VeraCrypt это бесплатное программное обеспечение для шифрования дисков с открытым исходным кодом для Windows, Mac OS X (macOS) и Linux. В случае, если злоумышленник вынуждает вас раскрыть пароль, VeraCrypt обеспечивает правдоподобное отрицание наличия шифрования. В отличие от пофайлового шифрования, VeraCrypt шифрует данные в реальном времени (на лету), автоматически, прозрачно, требует очень мало памяти и не использует временные незашифрованные файлы."/>
|
||||
<meta name="keywords" content="encryption, security, шифрование, безопасность"/>
|
||||
<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="Hash%20Algorithms.html">Алгоритмы хеширования</a>
|
||||
<img src="arrow_right.gif" alt=">>" style="margin-top: 5px">
|
||||
<a href="BLAKE2b-512.html">BLAKE2b-512</a>
|
||||
</p></div>
|
||||
|
||||
<div class="wikidoc">
|
||||
<h1>BLAKE2b-512</h1>
|
||||
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
|
||||
<p>
|
||||
BLAKE2b — это вариант BLAKE2 с 64-битовыми словами и преемник BLAKE-512. BLAKE2b и BLAKE2s указаны в документе RFC 7693.
|
||||
</p>
|
||||
<p>
|
||||
VeraCrypt использует BLAKE2b с максимальным выходным размером 64 байта (512 бит) внутри <a href="Argon2id.html" style="text-align:left; color:#0080c0; text-decoration:none">Argon2id</a>. Для формирования ключа заголовка несистемных томов BLAKE2b-512 применяется при выборе алгоритма формирования ключа Argon2 в VeraCrypt; внутри это соответствует Argon2id. В контекстах, связанных с хешированием, например при перемешивании пула случайных чисел и создании ключевых файлов, эта же базовая хеш-функция может отображаться как BLAKE2b-512.
|
||||
</p>
|
||||
<p>
|
||||
BLAKE2b-512 не предлагается как отдельный алгоритм хеширования PBKDF2-HMAC. Чтобы использовать BLAKE2b-512 при формировании ключа заголовка несистемного тома VeraCrypt, выберите <a href="Argon2id.html" style="text-align:left; color:#0080c0; text-decoration:none">Argon2id</a>; для Argon2id отдельный выбор алгоритма хеширования недоступен.
|
||||
</p>
|
||||
</div>
|
||||
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
|
||||
<a href="SHA-256.html" style="text-align:left; color:#0080c0; text-decoration:none; font-weight:bold">Следующий раздел >></a></div>
|
||||
</div><div class="ClearBoth"></div></body></html>
|
||||
@@ -50,9 +50,9 @@ BLAKE2 убирает добавление констант к словам со
|
||||
BLAKE2b и BLAKE2s указаны в документе RFC 7693.
|
||||
</p>
|
||||
<p>
|
||||
VeraCrypt использует только BLAKE2s с максимальным выходным размером 32 байта (256 бит).
|
||||
VeraCrypt использует BLAKE2s с максимальным выходным размером 32 байта (256 бит) как алгоритм хеширования PBKDF2-HMAC. Для Argon2id VeraCrypt внутренне использует <a href="BLAKE2b-512.html" style="text-align:left; color:#0080c0; text-decoration:none">BLAKE2b-512</a>.
|
||||
</p>
|
||||
</div>
|
||||
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
|
||||
<a href="SHA-256.html" style="text-align:left; color:#0080c0; text-decoration:none; font-weight:bold">Следующий раздел >></a></div>
|
||||
<a href="BLAKE2b-512.html" style="text-align:left; color:#0080c0; text-decoration:none; font-weight:bold">Следующий раздел >></a></div>
|
||||
</div><div class="ClearBoth"></div></body></html>
|
||||
|
||||
@@ -48,8 +48,8 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td> <em>/hash</em></td>
|
||||
<td>После этого ключа указывается хеш-алгоритм PRF, используемый при монтировании тома. Возможные значения ключа /hash: <code>sha256, sha-256, sha512, sha-512, whirlpool, blake2s</code> и <code>blake2s-256</code>. Если ключ <code>/hash</code> не указан, VeraCrypt будет пробовать
|
||||
все доступные PRF-алгоритмы, тем самым увеличивая время монтирования.</td>
|
||||
<td>После этого ключа указывается хеш-алгоритм PRF или KDF, используемый при монтировании тома. Возможные значения ключа /hash: <code>sha256, sha-256, sha512, sha-512, whirlpool, blake2s, blake2s-256, streebog</code> и <code>blake2b-512</code> (для томов Argon2id). Если ключ <code>/hash</code> не указан, VeraCrypt будет пробовать
|
||||
все доступные PRF/KDF-алгоритмы, тем самым увеличивая время монтирования.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td id="volume"> <em>/volume</em> или <em>/v</em></td>
|
||||
@@ -233,7 +233,7 @@
|
||||
<tr>
|
||||
<td> <em>/hash</em></td>
|
||||
<td>(Только с ключом <code>/create</code>)<br>
|
||||
После этого ключа указывается хеш-алгоритм PRF, используемый при создании тома. Синтаксис такой же, как у VeraCrypt.exe.</td>
|
||||
После этого ключа указывается хеш-алгоритм PRF или KDF, используемый при создании тома. Синтаксис такой же, как у VeraCrypt.exe; также принимается <code>argon2</code> как псевдоним Argon2id.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> <em>/encryption</em></td>
|
||||
@@ -305,9 +305,9 @@
|
||||
</tbody>
|
||||
</table>
|
||||
<h4>Синтаксис</h4>
|
||||
<p><code>VeraCrypt.exe [/tc] [/hash {sha256|sha-256|sha512|sha-512|whirlpool |blake2s|blake2s-256}][/a [devices|favorites]] [/b] [/c [y|n|f]] [/d [буква диска]] [/e] [/f] [/h [y|n]] [/k ключевой файл или путь поиска] [tryemptypass [y|n]] [/l буква диска] [/m {bk|rm|recovery|ro|sm|ts|noattach}]
|
||||
<p><code>VeraCrypt.exe [/tc] [/hash {sha256|sha-256|sha512|sha-512|whirlpool|blake2s|blake2s-256|streebog|blake2b-512}][/a [devices|favorites]] [/b] [/c [y|n|f]] [/d [буква диска]] [/e] [/f] [/h [y|n]] [/k ключевой файл или путь поиска] [tryemptypass [y|n]] [/l буква диска] [/m {bk|rm|recovery|ro|sm|ts|noattach}]
|
||||
[/p пароль] [/pim значение pim] [/q [background|preferences]] [/s] [/tokenlib путь] [/v том] [/w]</code></p>
|
||||
<p><code>"VeraCrypt Format.exe" [/n] [/create] [/size число[{K|M|G|T}]] [/p пароль] [/encryption {AES | Serpent | Twofish | Camellia | Kuznyechik | AES(Twofish) | AES(Twofish(Serpent)) | Serpent(AES) | Serpent(Twofish(AES)) | Twofish(Serpent) | Camellia(Kuznyechik) | Kuznyechik(Twofish) | Camellia(Serpent) | Kuznyechik(AES) | Kuznyechik(Serpent(Camellia))}] [/hash {sha256|sha-256|sha512|sha-512|whirlpool|blake2s|blake2s-256}]
|
||||
<p><code>"VeraCrypt Format.exe" [/n] [/create] [/size число[{K|M|G|T}]] [/p пароль] [/encryption {AES | Serpent | Twofish | Camellia | Kuznyechik | AES(Twofish) | AES(Twofish(Serpent)) | Serpent(AES) | Serpent(Twofish(AES)) | Twofish(Serpent) | Camellia(Kuznyechik) | Kuznyechik(Twofish) | Camellia(Serpent) | Kuznyechik(AES) | Kuznyechik(Serpent(Camellia))}] [/hash {sha256|sha-256|sha512|sha-512|whirlpool|blake2s|blake2s-256|streebog|blake2b-512|argon2}]
|
||||
[/filesystem {пусто|FAT|NTFS|ExFAT|ReFS}] [/dynamic] [/force] [/silent] [/noisocheck] [FastCreateFile] [/quick]</code></p>
|
||||
<p>Порядок, в котором указаны параметры, не имеет значения.</p>
|
||||
<h4>Примеры</h4>
|
||||
|
||||
@@ -82,11 +82,17 @@
|
||||
</li><li><strong><a href="Hash%20Algorithms.html">Алгоритмы хеширования</a></strong>
|
||||
<ul>
|
||||
<li><a href="BLAKE2s-256.html">BLAKE2s-256</a></li>
|
||||
<li><a href="BLAKE2b-512.html">BLAKE2b-512</a></li>
|
||||
<li><a href="SHA-256.html">SHA-256</a></li>
|
||||
<li><a href="SHA-512.html">SHA-512</a></li>
|
||||
<li><a href="Whirlpool.html">Whirlpool</a></li>
|
||||
<li><a href="Streebog.html">Streebog</a></li>
|
||||
</ul>
|
||||
</li><li><strong><a href="Key%20Derivation%20Algorithms.html">Алгоритмы формирования ключа</a></strong>
|
||||
<ul>
|
||||
<li><a href="Argon2id.html">Argon2id</a></li>
|
||||
<li><a href="pbkdf2.html">PBKDF2</a></li>
|
||||
</ul>
|
||||
</li><li><strong><a href="Supported%20Operating%20Systems.html">Поддерживаемые операционные системы</a></strong>
|
||||
</li><li><strong><a href="Command%20Line%20Usage.html">Использование в командной строке</a></strong>
|
||||
</li><li><strong><a href="Security%20Model.html">Модель безопасности</a></strong>
|
||||
|
||||
@@ -53,11 +53,15 @@
|
||||
и сгенерированные в ходе дешифрования, хранятся в ОЗУ (VeraCrypt никогда не сохраняет их на диске). Указанные ниже параметры
|
||||
неизвестны и определяются методом проб и ошибок (то есть проверкой всех возможных комбинаций следующего):
|
||||
<ol type="a">
|
||||
<li>PRF (псевдослучайная функция), применяемая при формировании (деривации) ключа заголовка (как определено в PKCS #5 v2.0; см.
|
||||
<li>Функция формирования ключа (KDF) и связанные параметры:
|
||||
<ul>
|
||||
<li><strong>PBKDF2-HMAC:</strong> PRF (псевдослучайная функция), применяемая при формировании (деривации) ключа заголовка (как определено в PKCS #5 v2.0; см.
|
||||
<a href="Header%20Key%20Derivation.html">
|
||||
<em>Формирование ключа заголовка, соль и количество итераций</em></a>), которая может быть одной из следующих:
|
||||
<p>HMAC-SHA-512, HMAC-SHA-256, HMAC-BLAKE2S-256, HMAC-Whirlpool.</p>
|
||||
<p>Если PRF указана пользователем явно, используется непосредственно она, без опробования других функций.</p>
|
||||
HMAC-SHA-512, HMAC-SHA-256, HMAC-BLAKE2S-256, HMAC-Whirlpool, HMAC-Streebog.</li>
|
||||
<li><strong>Argon2id:</strong> функция формирования ключа с повышенными требованиями к памяти для несистемных томов, использующая внутреннюю хеш-функцию <a href="BLAKE2b-512.html">BLAKE2b-512</a>.</li>
|
||||
</ul>
|
||||
<p>Если алгоритм формирования ключа заголовка (или, для PBKDF2-HMAC, хеш PRF) явно указан пользователем, он используется напрямую без опробования других вариантов.</p>
|
||||
<p>Введённый пользователем пароль (который может сопровождаться одним или несколькими ключевыми файлами – см. раздел
|
||||
<a href="Keyfiles%20in%20VeraCrypt.html">
|
||||
<em>Ключевые файлы</em></a>), значение PIM (если указано) и соль, считанные на этапе 1, передаются в функцию формирования
|
||||
|
||||
@@ -34,17 +34,14 @@
|
||||
<div class="wikidoc">
|
||||
<h1>Алгоритмы хеширования</h1>
|
||||
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
|
||||
Выбор алгоритма хеширования предлагается в мастере создания томов, в диалоговом окне смены пароля,
|
||||
а также в окне генератора ключевых файлов. Выбранный пользователем алгоритм хеширования применяется
|
||||
во встроенном в VeraCrypt генераторе случайных чисел как функция псевдослучайного "смешивания",
|
||||
а также в функции формирования ключа заголовка (HMAC – алгоритме усиления криптостойкости других
|
||||
криптоалгоритмов на основе хеш-функции, как определено в PKCS #5 v2.0) как псевдослучайная функция.
|
||||
При создании нового тома, генератором случайных чисел создаются мастер-ключ, вторичный ключ (режим XTS)
|
||||
и соль. Более подробную информацию см. в разделах <a href="Random%20Number%20Generator.html" style="text-align:left; color:#0080c0; text-decoration:none">
|
||||
В мастере создания томов и диалоговом окне смены пароля можно выбрать алгоритм хеширования при использовании PBKDF2-HMAC как функции формирования ключа. В окне генератора ключевых файлов выбранный алгоритм хеширования применяется генератором случайных чисел VeraCrypt как функция перемешивания пула. Если в качестве функции формирования ключа выбран Argon2id, отдельный выбор алгоритма хеширования для формирования ключа заголовка недоступен, поскольку Argon2id использует собственную внутреннюю хеш-функцию BLAKE2b-512.
|
||||
</div>
|
||||
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
|
||||
Для PBKDF2-HMAC выбранный пользователем алгоритм хеширования применяется генератором случайных чисел VeraCrypt как псевдослучайная функция "смешивания", а также функцией формирования ключа заголовка (HMAC на основе хеш-функции, как определено в PKCS #5 v2.0) как псевдослучайная функция. При создании нового тома генератор случайных чисел создаёт мастер-ключ, вторичный ключ (режим XTS) и соль. Более подробную информацию см. в разделах <a href="Random%20Number%20Generator.html" style="text-align:left; color:#0080c0; text-decoration:none">
|
||||
Генератор случайных чисел</a> и <a href="Header%20Key%20Derivation.html" style="text-align:left; color:#0080c0; text-decoration:none">
|
||||
Формирование ключа заголовка, соль и количество итераций</a>.</div>
|
||||
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
|
||||
В настоящее время VeraCrypt поддерживает следующие алгоритмы хеширования:</div>
|
||||
В настоящее время VeraCrypt поддерживает следующие алгоритмы хеширования для PBKDF2-HMAC:</div>
|
||||
<ul style="text-align:left; margin-top:18px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
|
||||
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
|
||||
<a href="BLAKE2s-256.html"><strong style="text-align:left">BLAKE2s-256</strong></a>
|
||||
@@ -57,5 +54,11 @@
|
||||
</li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
|
||||
<strong style="text-align:left"><a href="Streebog.html">Streebog</a></strong>
|
||||
</li></ul>
|
||||
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
|
||||
VeraCrypt также связывает с Argon2id следующую хеш-функцию:</div>
|
||||
<ul style="text-align:left; margin-top:18px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
|
||||
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
|
||||
<a href="BLAKE2b-512.html"><strong style="text-align:left">BLAKE2b-512</strong></a> (связана с Argon2id; недоступна для выбора в PBKDF2-HMAC)
|
||||
</li></ul>
|
||||
<p><a href="BLAKE2s-256.html" style="text-align:left; color:#0080c0; text-decoration:none; font-weight:bold">Следующий раздел >></a></p>
|
||||
</div><div class="ClearBoth"></div></body></html>
|
||||
|
||||
@@ -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">
|
||||
Ключи заголовка, используемые шифрами при каскадном (последовательном) шифровании, не зависят друг от друга,
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<title>VeraCrypt - Бесплатное надёжное шифрование дисков с открытым исходным кодом</title>
|
||||
<meta name="description" content="VeraCrypt это бесплатное программное обеспечение для шифрования дисков с открытым исходным кодом для Windows, Mac OS X (macOS) и Linux. В случае, если злоумышленник вынуждает вас раскрыть пароль, VeraCrypt обеспечивает правдоподобное отрицание наличия шифрования. В отличие от пофайлового шифрования, VeraCrypt шифрует данные в реальном времени (на лету), автоматически, прозрачно, требует очень мало памяти и не использует временные незашифрованные файлы."/>
|
||||
<meta name="keywords" content="encryption, security, шифрование, безопасность"/>
|
||||
<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="Key%20Derivation%20Algorithms.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">
|
||||
Функция формирования ключа (KDF) преобразует пароль и, при наличии, ключевые файлы в криптографические ключи, используемые для расшифрования заголовка тома VeraCrypt. Такие функции замедляют атаки перебором и защищают от предвычислений благодаря большой случайной соли и настраиваемому рабочему фактору, например числу итераций или объему памяти.
|
||||
</div>
|
||||
|
||||
<h3>Доступные алгоритмы в VeraCrypt</h3>
|
||||
<ul style="text-align:left; margin-top:18px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
|
||||
<li style="text-align:left; margin-top:0px; margin-bottom:8px; padding:0px">
|
||||
<strong><a href="Argon2id.html" style="color:#0080c0; text-decoration:none">Argon2id</a>:</strong> современная функция формирования ключа с повышенными требованиями к памяти, внутри использующая <a href="BLAKE2b-512.html" style="color:#0080c0; text-decoration:none">BLAKE2b-512</a>. Рекомендуется для новых несистемных томов. Отдельный выбор хеш-алгоритма не требуется.
|
||||
</li>
|
||||
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding:0px">
|
||||
<strong><a href="pbkdf2.html" style="color:#0080c0; text-decoration:none">PBKDF2-HMAC</a>:</strong> широко применяемая KDF, использующая HMAC с выбираемой хеш-функцией. Поддерживаемые HMAC-хеши в VeraCrypt:
|
||||
<a href="SHA-512.html" style="color:#0080c0; text-decoration:none">SHA-512</a>, <a href="SHA-256.html" style="color:#0080c0; text-decoration:none">SHA-256</a>, <a href="Whirlpool.html" style="color:#0080c0; text-decoration:none">Whirlpool</a>, <a href="BLAKE2s-256.html" style="color:#0080c0; text-decoration:none">BLAKE2s-256</a> и <a href="Streebog.html" style="color:#0080c0; text-decoration:none">Streebog</a>.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div><div class="ClearBoth"></div></body></html>
|
||||
@@ -37,27 +37,57 @@
|
||||
<h1>PIM (Персональный множитель итераций)</h1>
|
||||
<div>
|
||||
<p>PIM расшифровывается как "Персональный множитель итераций". Это параметр впервые появился в VeraCrypt 1.12,
|
||||
его значение определяет количество итераций, используемых функцией формирования ключа заголовка. Это значение можно
|
||||
указать в диалоговом окне пароля или в командной строке.</p>
|
||||
<p>Если значение PIM указано, количество итераций вычисляется следующим образом:</p>
|
||||
его значение управляет вычислительными параметрами функции формирования ключа заголовка. Это значение можно указать
|
||||
в диалоговом окне пароля или в командной строке.</p>
|
||||
<p>Точное значение PIM зависит от используемой функции формирования ключа (KDF):</p>
|
||||
|
||||
<h3>Формирование ключа PBKDF2-HMAC</h3>
|
||||
<p>При использовании PBKDF2-HMAC значение PIM управляет количеством итераций следующим образом:</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>
|
||||
<li>Для шифрования несистемных разделов и файловых контейнеров <i>количество итераций</i> = <strong>15 000 + (PIM × 1000)</strong></li>
|
||||
</ul>
|
||||
<p>Если значение PIM не указано, будет использоваться количество итераций по умолчанию, применяемое в версиях до 1.12
|
||||
(см. <a href="Header%20Key%20Derivation.html">Формирование ключа заголовка</a>).
|
||||
Это можно резюмировать следующим образом:<br/>
|
||||
<ul>
|
||||
<li>Для шифрования системного раздела (шифрования загрузки) с использованием SHA-256, BLAKE2s-256 или Streebog применяется <strong>200 000</strong> итераций, что эквивалентно значению PIM <strong>98</strong>.</li>
|
||||
<li>Для шифрования системного раздела с использованием SHA-512 или Whirlpool применяется <strong>500 000</strong> итераций, что эквивалентно значению PIM <strong>485</strong>.</li>
|
||||
<li>Для шифрования несистемных разделов и файловых контейнеров все алгоритмы формирования ключа (деривации) будут использовать <strong>500 000</strong> итераций, что эквивалентно значению PIM <strong>485</strong>.</li>
|
||||
</ul>
|
||||
|
||||
<h3>Формирование ключа Argon2id</h3>
|
||||
<p>При использовании Argon2id значение PIM управляет параметрами затрат памяти и времени:</p>
|
||||
<ul>
|
||||
<li><strong>Затраты памяти (m_cost) в MiB:</strong><br/>
|
||||
m_cost(pim) = min(64 MiB + (pim - 1) * 32 MiB, 1024 MiB)<br/>
|
||||
Затраты памяти увеличиваются на 32 MiB при каждом увеличении PIM, начиная с 64 MiB, и ограничиваются 1024 MiB, когда PIM достигает 31 или более.
|
||||
</li>
|
||||
<li><strong>Затраты времени (t_cost) в итерациях:</strong><br/>
|
||||
Если PIM ≤ 31: t_cost(pim) = 3 + floor((pim - 1) / 3)<br/>
|
||||
Если PIM > 31: t_cost(pim) = 13 + (pim - 31)<br/>
|
||||
Затраты времени увеличиваются на 1 итерацию при каждых 3 увеличениях PIM, когда PIM ≤ 31, и на 1 итерацию при каждом увеличении PIM, когда PIM > 31.
|
||||
</li>
|
||||
<li><strong>Параллелизм:</strong> фиксирован на 1 поток во всех случаях.</li>
|
||||
</ul>
|
||||
|
||||
<p><strong>Примеры Argon2id:</strong></p>
|
||||
<ul>
|
||||
<li>При PIM = 12: затраты памяти = 416 MiB, затраты времени = 6 итераций</li>
|
||||
<li>При PIM = 31: затраты памяти = 1024 MiB, затраты времени = 13 итераций</li>
|
||||
<li>При PIM = 32: затраты памяти = 1024 MiB, затраты времени = 14 итераций</li>
|
||||
</ul>
|
||||
|
||||
<p>Если значение PIM не указано, VeraCrypt будет использовать параметры по умолчанию, применявшиеся в версиях до 1.12 для PBKDF2-HMAC
|
||||
(см. <a href="Header%20Key%20Derivation.html">Формирование ключа заголовка</a>). Для Argon2id параметры по умолчанию эквивалентны PIM = 12:
|
||||
</p>
|
||||
<ul>
|
||||
<li><strong>Значения PBKDF2-HMAC по умолчанию:</strong></li>
|
||||
<ul>
|
||||
<li>Для шифрования системного раздела (шифрования загрузки) с использованием SHA-256, BLAKE2s-256 или Streebog применяется <strong>200 000</strong> итераций, что эквивалентно значению PIM <strong>98</strong>.</li>
|
||||
<li>Для шифрования системного раздела с использованием SHA-512 или Whirlpool применяется <strong>500 000</strong> итераций, что эквивалентно значению PIM <strong>485</strong>.</li>
|
||||
<li>Для шифрования несистемных разделов и файловых контейнеров с PBKDF2-HMAC применяется <strong>500 000</strong> итераций, что эквивалентно значению PIM <strong>485</strong>.</li>
|
||||
</ul>
|
||||
<li><strong>Значения Argon2id по умолчанию:</strong> затраты памяти = 416 MiB, затраты времени = 6 итераций (эквивалентно PIM = 12)</li>
|
||||
</ul>
|
||||
|
||||
<p>До версии 1.12 безопасность тома VeraCrypt основывалась только на надёжности пароля, поскольку VeraCrypt использовал
|
||||
фиксированное количество итераций.<br>
|
||||
Благодаря реализации управления PIM у VeraCrypt появилось двумерное пространство безопасности для томов, основанное
|
||||
на паре (Пароль, PIM). Это обеспечивает большую гибкость при настройке желаемого уровня безопасности, одновременно
|
||||
Благодаря реализации управления PIM у VeraCrypt появилось многомерное пространство безопасности для томов, основанное
|
||||
на сочетании (Пароль, PIM, функция формирования ключа). Это обеспечивает большую гибкость при настройке желаемого уровня безопасности, одновременно
|
||||
контролируя производительность операции монтирования/загрузки.</p>
|
||||
<h3>Использование PIM</h3>
|
||||
Указывать PIM не обязательно.</div>
|
||||
@@ -69,7 +99,7 @@
|
||||
<div>PIM обрабатывается как секретное значение, которое пользователь должен вводить каждый раз вместе с паролем.
|
||||
Если указано неверное значение PIM, операция монтирования/загрузки завершится ошибкой.</div>
|
||||
<div> </div>
|
||||
<div>Чем больше PIM, тем выше безопасность, так как увеличивается число итераций, но тем медленнее
|
||||
<div>Чем больше PIM, тем выше безопасность благодаря увеличению параметров затрат KDF, но тем медленнее
|
||||
монтирование/загрузка.</div>
|
||||
<div>Чем меньше PIM, тем быстрее монтирование/загрузка, но возможно ухудшение безопасности, если используется
|
||||
слабый пароль.</div>
|
||||
@@ -79,11 +109,11 @@
|
||||
того, чтобы убедиться, что для коротких паролей уровень безопасности по крайней мере равен уровню по умолчанию,
|
||||
когда PIM пуст.</div>
|
||||
<div> </div>
|
||||
<div>Минимальное значение PIM для коротких паролей равно <b>98</b> для шифрования системы без использования
|
||||
SHA-512 или Whirlpool, и <b>485</b> для других случаев. Для пароля, состоящего из 20 и более символов,
|
||||
<div>Минимальное значение PIM для коротких паролей равно <b>12</b> для томов с Argon2id, <b>98</b> для шифрования системы без использования
|
||||
SHA-512 или Whirlpool, и <b>485</b> для PBKDF2-HMAC в остальных случаях. Для пароля, состоящего из 20 и более символов,
|
||||
минимальное значение PIM равно <b>1</b>.
|
||||
Во всех случаях, если оставить PIM пустым или установить его значение равным 0, VeraCrypt будет использовать
|
||||
большое количество итераций по умолчанию, как это объяснено в разделе
|
||||
параметры KDF по умолчанию, как это объяснено в разделе
|
||||
<a href="Header%20Key%20Derivation.html">
|
||||
Формирование ключа заголовка</a>.</div>
|
||||
<div><br>
|
||||
@@ -92,8 +122,8 @@ SHA-512 или Whirlpool, и <b>485</b> для других случаев. Дл
|
||||
<li>добавление дополнительного секретного параметра (PIM), который злоумышленнику придётся угадывать;</li>
|
||||
<li>повышение уровня безопасности при использовании больших значений PIM, чтобы воспрепятствовать дальнейшему
|
||||
развитию атак методом перебора;</li>
|
||||
<li>ускорение загрузки или монтирования за счет использования небольшого значения PIM (менее 98 для
|
||||
шифрования системы без использования SHA-512 или Whirlpool, и менее 485 для других случаев)
|
||||
<li>ускорение загрузки или монтирования за счет использования небольшого значения PIM (менее 12 для томов с Argon2id, менее 98 для
|
||||
шифрования системы без использования SHA-512 или Whirlpool, и менее 485 для PBKDF2-HMAC в остальных случаях)
|
||||
</li></ul>
|
||||
<p>На приведённых ниже снимках экрана показан шаг монтирования тома с использованием PIM, равного 231:</p>
|
||||
<table style="margin-left:auto; margin-right:auto">
|
||||
|
||||
@@ -59,9 +59,9 @@
|
||||
<p>Описание функции перемешивания пула:</p>
|
||||
<ol>
|
||||
<li>Пусть <em>R</em> это пул случайных значений</li>
|
||||
<li>Пусть <em>H</em> это выбранная пользователем функция хеширования (SHA-512, BLAKE2S-256 или Whirlpool)</li>
|
||||
<li>Пусть <em>H</em> это текущая хеш-функция перемешивания пула RNG. В отдельных контекстах работы со случайным пулом и генерации ключевых файлов это хеш-функция, выбранная пользователем. При операциях с томами VeraCrypt получает её из выбранного алгоритма формирования ключа заголовка: для PBKDF2-HMAC это выбранный хеш (SHA-512, SHA-256, BLAKE2s-256, Whirlpool или Streebog); для Argon2id это <a href="BLAKE2b-512.html">BLAKE2b-512</a>.</li>
|
||||
<li><em>l</em> = байтовый размер вывода функции хеширования <em>H</em> (то есть если
|
||||
<em>H</em> – BLAKE2S-256, то <em>l</em> = 20; если <em>H</em> – SHA-512, то <em>l</em> = 64)</li>
|
||||
<em>H</em> – BLAKE2s-256 или SHA-256, то <em>l</em> = 32; если <em>H</em> – SHA-512, Whirlpool, Streebog или BLAKE2b-512, то <em>l</em> = 64)</li>
|
||||
<li><em>z</em> = байтовый размер пула случайных значений <em>R </em>(320 байт)</li>
|
||||
<li><em>q</em> = <em>z</em> / <em>l</em> – 1 (например, если <em>H</em> – Whirlpool, то
|
||||
<em>q</em> = 4)</li>
|
||||
@@ -93,7 +93,7 @@
|
||||
<li>Состояние каждого бита в пуле инвертируется (то есть 0 становится 1, а 1 становится 0).</li>
|
||||
<li>Данные, полученные из какого-либо перечисленного выше источника, добавляются в пул, как описано выше.</li>
|
||||
<li>Содержимое пула трансформируется с помощью функции перемешивания пула.<br>
|
||||
Примечание. Эта функция использует криптографически стойкую одностороннюю хеш-функцию, выбираемую пользователем
|
||||
Примечание. Эта функция использует криптографически стойкую одностороннюю хеш-функцию, связанную с выбранным вариантом KDF/хеширования
|
||||
(подробности см. выше в разделе <em>Функция перемешивания пула</em>).</li>
|
||||
<li>Преобразованное содержимое пула подвергается операции XOR в выходной буфер следующим образом:
|
||||
<ol type="a">
|
||||
|
||||
@@ -0,0 +1,82 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<title>VeraCrypt - Бесплатное надёжное шифрование дисков с открытым исходным кодом</title>
|
||||
<meta name="description" content="VeraCrypt это бесплатное программное обеспечение для шифрования дисков с открытым исходным кодом для Windows, Mac OS X (macOS) и Linux. В случае, если злоумышленник вынуждает вас раскрыть пароль, VeraCrypt обеспечивает правдоподобное отрицание наличия шифрования. В отличие от пофайлового шифрования, VeraCrypt шифрует данные в реальном времени (на лету), автоматически, прозрачно, требует очень мало памяти и не использует временные незашифрованные файлы."/>
|
||||
<meta name="keywords" content="encryption, security, шифрование, безопасность"/>
|
||||
<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="Key%20Derivation%20Algorithms.html">Алгоритмы формирования ключа</a>
|
||||
<img src="arrow_right.gif" alt=">>" style="margin-top: 5px">
|
||||
<a href="pbkdf2.html">PBKDF2</a>
|
||||
</p></div>
|
||||
<div class="wikidoc">
|
||||
<h1>PBKDF2</h1>
|
||||
|
||||
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding:0px">
|
||||
PBKDF2 (Password-Based Key Derivation Function 2) — широко применяемая KDF, которая многократно применяет псевдослучайную функцию HMAC, чтобы замедлить подбор пароля. В VeraCrypt PBKDF2 доступна с несколькими HMAC-хеш-функциями и используется для формирования ключей, расшифровывающих заголовок тома.
|
||||
</div>
|
||||
|
||||
<h3>Варианты PBKDF2-HMAC, поддерживаемые в VeraCrypt</h3>
|
||||
<ul style="text-align:left; margin-top:18px; margin-bottom:19px; padding:0px">
|
||||
<li style="text-align:left; margin:0px 0px 6px 0px; padding:0px"><strong>PBKDF2-HMAC-<a href="SHA-512.html" style="color:#0080c0; text-decoration:none">SHA-512</a></strong></li>
|
||||
<li style="text-align:left; margin:0px 0px 6px 0px; padding:0px"><strong>PBKDF2-HMAC-<a href="SHA-256.html" style="color:#0080c0; text-decoration:none">SHA-256</a></strong></li>
|
||||
<li style="text-align:left; margin:0px 0px 6px 0px; padding:0px"><strong>PBKDF2-HMAC-<a href="Whirlpool.html" style="color:#0080c0; text-decoration:none">Whirlpool</a></strong></li>
|
||||
<li style="text-align:left; margin:0px 0px 6px 0px; padding:0px"><strong>PBKDF2-HMAC-<a href="BLAKE2s-256.html" style="color:#0080c0; text-decoration:none">BLAKE2s-256</a></strong></li>
|
||||
<li style="text-align:left; margin:0px 0px 0px 0px; padding:0px"><strong>PBKDF2-HMAC-<a href="Streebog.html" style="color:#0080c0; text-decoration:none">Streebog</a></strong></li>
|
||||
</ul>
|
||||
|
||||
<h3>Параметры в VeraCrypt</h3>
|
||||
|
||||
<h4>Соль</h4>
|
||||
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding:0px">
|
||||
512-битовая случайная соль, сохраняемая в заголовке тома, смешивается с паролем, чтобы предотвратить предвычисления и атаки с радужными таблицами.
|
||||
</div>
|
||||
|
||||
<h4>Количество итераций</h4>
|
||||
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding:0px">
|
||||
Количество итераций PBKDF2 зависит от выбранного HMAC-хеша, контекста (например, системное или несистемное шифрование) и значения <a href="Personal%20Iterations%20Multiplier%20%28PIM%29.html" style="color:#0080c0; text-decoration:none">PIM</a>. Увеличение PIM повышает число итераций и, следовательно, время, необходимое для формирования ключей. Точные значения и формулы приведены в разделе <a href="Header%20Key%20Derivation.html" style="color:#0080c0; text-decoration:none">Формирование ключа заголовка, соль и количество итераций</a>.
|
||||
</div>
|
||||
|
||||
<h4>Длина вывода</h4>
|
||||
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding:0px">
|
||||
Объём сформированного ключевого материала заголовка зависит от выбранного алгоритма или каскада шифрования. В текущих томах XTS VeraCrypt использует как первичные, так и вторичные ключи заголовка; например, для AES-256-XTS требуется всего 512 бит (два 256-битовых ключа), а для каскада AES-Twofish-Serpent-XTS — 1536 бит (шесть 256-битовых ключей).
|
||||
</div>
|
||||
|
||||
<h3>Преимущества и особенности</h3>
|
||||
<ul style="text-align:left; margin-top:18px; margin-bottom:19px; padding:0px">
|
||||
<li style="text-align:left; margin:0px 0px 6px 0px; padding:0px"><strong>Широкая совместимость:</strong> PBKDF2 широко поддерживается на разных платформах и в разных средах.</li>
|
||||
<li style="text-align:left; margin:0px 0px 6px 0px; padding:0px"><strong>Низкие требования к памяти:</strong> подходит для систем с ограниченными ресурсами.</li>
|
||||
<li style="text-align:left; margin:0px 0px 0px 0px; padding:0px"><strong>Не обладает повышенными требованиями к памяти:</strong> по сравнению с <a href="Argon2id.html" style="color:#0080c0; text-decoration:none">Argon2id</a>, PBKDF2 обеспечивает меньшую устойчивость к атакам с использованием массово-параллельного оборудования (GPU/ASIC). Если необходимо использовать PBKDF2, рассмотрите возможность повышения PIM.</li>
|
||||
</ul>
|
||||
|
||||
<h3>Связанные разделы</h3>
|
||||
<ul style="text-align:left; margin-top:18px; margin-bottom:19px; padding:0px">
|
||||
<li style="text-align:left; margin:0px 0px 6px 0px; padding:0px"><a href="Key%20Derivation%20Algorithms.html" style="color:#0080c0; text-decoration:none">Алгоритмы формирования ключа (обзор)</a></li>
|
||||
<li style="text-align:left; margin:0px 0px 6px 0px; padding:0px"><a href="Argon2id.html" style="color:#0080c0; text-decoration:none">Argon2id</a></li>
|
||||
<li style="text-align:left; margin:0px 0px 6px 0px; padding:0px"><a href="Header%20Key%20Derivation.html" style="color:#0080c0; text-decoration:none">Формирование ключа заголовка, соль и количество итераций</a></li>
|
||||
<li style="text-align:left; margin:0px 0px 0px 0px; padding:0px"><a href="Personal%20Iterations%20Multiplier%20%28PIM%29.html" style="color:#0080c0; text-decoration:none">PIM (Персональный множитель итераций)</a></li>
|
||||
</ul>
|
||||
</div><div class="ClearBoth"></div></body></html>
|
||||
Reference in New Issue
Block a user