2022-03-31 00:49:42 +02:00
< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" xml:lang = "ru" 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/" > Исходный код< / 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.html" >
шифрования системы< / a > – области ключевых данных), которая содержит мастер-ключ и другую информацию (см. разделы
< a href = "Encryption%20Scheme.html" style = "text-align:left; color:#0080c0; text-decoration:none.html" >
Схема шифрования< / a > и < a href = "VeraCrypt%20Volume%20Format%20Specification.html" style = "text-align:left; color:#0080c0; text-decoration:none.html" >
Спецификация формата томов VeraCrypt< / a > ). В томах, созданных с помощью VeraCrypt (и для
< a href = "System%20Encryption.html" style = "text-align:left; color:#0080c0; text-decoration:none.html" >
шифрования системы< / a > ), эта область зашифрована в режиме XTS (см. раздел < a href = "Modes%20of%20Operation.html" style = "text-align:left; color:#0080c0; text-decoration:none.html" >
Режимы работы< / a > ). Для генерирования ключа заголовка и вторичного ключа заголовка (режим XTS)
VeraCrypt использует метод PBKDF2, определённый в PKCS #5 v2.0; см.
< a href = "References.html" style = "text-align:left; color:#0080c0; text-decoration:none.html" >
[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.html" >
генератором случайных чисел VeraCrypt< / a > в процессе создания тома. Функция формирования (деривации) ключа
заголовка основана на 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]. Для формирования ключа заголовка выполняется большое количество итераций,
2023-09-03 00:50:37 +02:00
что увеличивает время, необходимое для полного поиска паролей (то есть атакой методом перебора) [7].< / div >
2022-03-31 00:49:42 +02:00
< div style = "text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px" >
< p > До версии 1.12 в VeraCrypt всегда использовалось фиксированное количество итераций, зависящее только от типа
тома и алгоритма формирования ключа.< / 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 > Если < a href = "Personal%20Iterations%20Multiplier%20%28PIM%29.html" >
PIM< / a > не указан или равен нулю, VeraCrypt использует следующие стандартные значения:< / p >
< ul >
< li > Для шифрования системы (шифрование загрузки), если используется SHA-256, BLAKE2s-256 или Streebog, < i > число итераций< / i > = < strong > 200 000< / strong > .< / li >
2023-07-16 11:01:28 +02:00
< li > Для шифрования системы, если используется SHA-512 или Whirlpool, а также для несистемных разделов и файловых контейнеров < i > число итераций< / i > = < strong > 500 000< / strong > .
2022-03-31 00:49:42 +02:00
< / li > < / ul >
< / p >
< p > Если < a href = "Personal%20Iterations%20Multiplier%20%28PIM%29.html" >
PIM< / a > указан, то количество итераций функции формирования ключа вычисляется следующим образом:< / p >
< ul >
< li > Для шифрования системы, если не используется SHA-512 или Whirlpool, < i > число итераций< / i > = < strong > PIM × 2048< / strong > .< / li >
2023-07-16 11:01:28 +02:00
< li > Для шифрования системы, если используется SHA-512 или Whirlpool, а также для несистемных разделов и файлов-контейнеров < i > число итераций< / i > = < strong > 15 000 + (PIM × 1000)< / strong > .
2022-03-31 00:49:42 +02:00
< / 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.html" > Следующий раздел > > < / a > < / div >
< / div > < div class = "ClearBoth" > < / div > < / body > < / html >