Главная // Актуальные документы // ПриказСПРАВКА
Источник публикации
М.: ФГБУ "РСТ", 2022
Примечание к документу
Документ
введен в действие с 01.05.2023.
Название документа
"Р 1323565.1.040-2022. Рекомендации по стандартизации. Информационная технология. Криптографическая защита информации. Парольная защита ключевой информации"
(утв. и введены в действие Приказом Росстандарта от 20.10.2022 N 1160-ст)
"Р 1323565.1.040-2022. Рекомендации по стандартизации. Информационная технология. Криптографическая защита информации. Парольная защита ключевой информации"
(утв. и введены в действие Приказом Росстандарта от 20.10.2022 N 1160-ст)
Утверждены и введены в действие
агентства по техническому
регулированию и метрологии
от 20 октября 2022 г. N 1160-ст
РЕКОМЕНДАЦИИ ПО СТАНДАРТИЗАЦИИ
ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ
КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ
ПАРОЛЬНАЯ ЗАЩИТА КЛЮЧЕВОЙ ИНФОРМАЦИИ
Information technology. Cryptographic data security.
Password-based protection keys
Р 1323565.1.040-2022
Дата введения
1 мая 2023 года
1 РАЗРАБОТАНЫ Акционерным обществом "Информационные технологии и коммуникационные системы" (АО "ИнфоТеКС")
2 ВНЕСЕНЫ Техническим комитетом по стандартизации ТК 26 "Криптографическая защита информации"
3 УТВЕРЖДЕНЫ И ВВЕДЕНЫ В ДЕЙСТВИЕ
Приказом Федерального агентства по техническому регулированию и метрологии от 20 октября 2022 г. N 1160-ст
Правила применения настоящих рекомендаций установлены в статье 26 Федерального закона от 29 июня 2015 г. N 162-ФЗ "О стандартизации в Российской Федерации". Информация об изменениях к настоящим рекомендациям публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе "Национальные стандарты", а официальный текст изменений и поправок - в ежемесячном информационном указателе "Национальные стандарты". В случае пересмотра (замены) или отмены настоящих рекомендаций соответствующее уведомление будет опубликовано в ближайшем выпуске ежемесячного информационного указателя "Национальные стандарты". Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (www.rst.gov.ru)
Настоящие рекомендации базируются на документе
[1], который содержит рекомендации по реализации криптографических механизмов при использовании низкоэнтропийных данных (пароля пользователя), и расширяют его в плане применения соответствующих российских криптографических алгоритмов.
Данное расширение позволяет, не нарушая исходных принципов работы схем выработки общей ключевой информации из парольной информации, использовать в нем криптографические механизмы, приведенные в национальных стандартах Российской Федерации.
Разработка настоящих рекомендаций вызвана необходимостью создания решения, корректно использующего национальные криптографические стандарты для процедур взаимодействия сторон, обеспечивающих безопасную выработку общей ключевой информации при наличии общих исходных данных с низкой энтропией.
Настоящие рекомендации предназначены для применения в информационных системах, использующих механизмы шифрования и обеспечения конфиденциальности и аутентификации данных, с реализацией алгоритмов шифрования согласно
ГОСТ Р 34.12-2015 и функции хэширования согласно
ГОСТ Р 34.11-2012 для защиты информации, не содержащей сведений, составляющих государственную тайну. Описанные в данных рекомендациях методы предназначены для выработки ключевой информации с использованием пароля пользователя и обеспечения конфиденциальности и опционально аутентификации данных с использованием выработанной ключевой информации. Информация, защищенная с использованием описываемых методов, может передаваться по доверенным каналам связи или храниться при соблюдении дополнительных организационных мер, ограничивающих к ней доступ.
В настоящих рекомендациях использованы нормативные ссылки на следующие документы:
ГОСТ Р 34.11-2012 Информационная технология. Криптографическая защита информации. Функция хэширования
ГОСТ Р 34.12-2015 Информационная технология. Криптографическая защита информации. Блочные шифры
ГОСТ Р 34.13-2015 Информационная технология. Криптографическая защита информации. Режимы работы блочных шифров
Р 50.1.113-2016 Информационная технология. Криптографическая защита информации. Криптографические алгоритмы, сопутствующие применению алгоритмов электронной цифровой подписи и функции хэширования
Р 1323565.1.017-2018 Информационная технология. Криптографическая защита информации. Криптографические алгоритмы, сопутствующие применению алгоритмов блочного шифрования
Р 1323565.1.025-2019 Информационная технология. Криптографическая защита информации. Форматы сообщений, защищенных криптографическими методами
Примечание - При пользовании настоящими рекомендациями целесообразно проверить действие ссылочных документов в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет или по ежегодному информационному указателю "Национальные стандарты", который опубликован по состоянию на 1 января текущего года, и по выпускам ежемесячного информационного указателя "Национальные стандарты" за текущий год. Если заменен ссылочный документ, на который дана недатированная ссылка, то рекомендуется использовать действующую версию этого документа с учетом всех внесенных в данную версию изменений. Если заменен ссылочный документ, на который дана датированная ссылка, то рекомендуется использовать версию этого документа с указанным выше годом утверждения (принятия). Если после утверждения настоящих рекомендаций в ссылочный документ, на который дана датированная ссылка, внесено изменение, затрагивающее положение, на которое дана ссылка, то это положение рекомендуется применять без учета данного изменения. Если ссылочный документ отменен без замены, то положение, в котором дана ссылка на него, применяется в части, не затрагивающей эту ссылку.
В настоящих рекомендациях использованы следующие обозначения:
HMAC_GOSTR3411(
K,
T) - значение кода аутентификации сообщения, вычисленное для сообщения
T на ключе
K по алгоритму HMAC_GOSTR3411_2012_512, определенному в
Р 50.1.113-2016, длина значения равна 512 битам;
P - пароль, представляющий собой символьную строку в кодировке Unicode UTF-8;
S - значение синхропосылки, выбираемое по схеме равновероятного выбора без возвращения из множества Bn, где n = 8, ..., 32;
c - число итераций алгоритма выработки ключа из пароля;
dkLen - длина выходной последовательности (в байтах);
DK - производный ключ длины dkLen;

- операция покомпонентного сложения по модулю 2 двух двоичных строк одинаковой длины;
Bn - множество байтовых строк длины
n,
n >= 0
. Строка
b = (
bn, ...,
b1) принадлежит множеству
Bn, если

. При
n = 0 множество
Bn состоит из единственной пустой строки длины 0;

- конкатенация двух байтовых строк (

и

), то есть строка

;

- функция усечения байтовой строки до размера
r путем взятия старших
r байт, то есть

;

- функция усечения байтовой строки до размера
r путем взятия младших
r байт, то есть

;
Int(
i) - представление целого неотрицательного числа
i < 2
32 в виде байтовой строки длины

, такой, что
i =
i1 +
i2·2
8 +
i3·2
16 +
i4·2
24;
b[
i..j] - строка

, где 1 <=
i <
j s и

;

- целая часть сверху числа
x, то есть

.
4 Алгоритм выработки ключа из пароля
Для выработки ключа DK из пароля P кроме самого пароля используются следующие параметры:
- значение синхропосылки S;
- число итераций c;
- длина выходной последовательности dkLen (в байтах).
Рекомендуемый способ выбора пароля
P и значения его длины приведены в
приложении А. Для одного и того же значения пароля значение синхропосылки
S должно выбираться по схеме равновероятного выбора без возвращения из множества
Bn, где
n = 8, ..., 32. Рекомендуемое значение
n = 32. Число итераций
c должно выбираться в зависимости от условий эксплуатации и длины пароля (рекомендуемые значения приведены в
приложении А).
Ключ DK вычисляется с помощью функции диверсификации PBKDF2 (P, S, c, dkLen) с использованием в качестве псевдослучайной функции PRF функцию HMAC_GOSTR3411:
DK = PBKDF2(P, S, c, dkLen).
Функцию диверсификации вычисляют по следующему алгоритму:
- если dkLen > (232 - 1)·64, то алгоритм завершает работу с ошибкой (неверные параметры);
- вычисляют

;
- для каждого i от до n вычисляют набор значений:
U1(i) = HMAC_GOSTR3411(P, S || Int(i)), |
U2(i) = HMAC_GOSTR3411(P, U1(i)), |
... |
Uc(i) = HMAC_GOSTR3411(P, Uc-1(i)), |
 ; |
- ключ DK вычисляют как конкатенацию байтовых строк T(i) с последующим усечением полученной последовательности до длины dkLen выходной последовательности:
Контрольные примеры для различных значений параметров приведены в
приложении Б.
5 Шифрование с использованием алгоритма ГОСТ Р 34.12-2015
Процесс зашифрования данных M в схеме PBES2 осуществляется следующим образом:
- выбирается случайное значение S размерности от 8 до 32 байт. Рекомендуемая размерность - 32 байта;
- выбирается число итераций
c в зависимости от условий эксплуатации и длины пароля (рекомендуемые значения приведены в
приложении А);
- устанавливается значение dkLen = 32;
- ключ шифрования данных
DK вычисляется с помощью функции диверсификации согласно алгоритму из
раздела 4 с использованием параметров
S,
c,
dkLen, то есть
DK =
PBKDF2(
P,
S,
c, 32);
- значение ukm выбирается случайно равновероятно из множества Bn, где n принимает значение 12 или 16 байт в зависимости от выбранного алгоритма шифрования. Для обработки каждого отдельного сообщения на одном начальном ключе используется уникальное значение ukm:
- устанавливается значение синхропосылки S' = ukm[1..n-8];
- для алгоритмов id-gostr3412-2015-magma-ctracpkm и id-gostr3412-2015-kuznyechik-ctracpkm данные зашифровываются в соответствии с
ГОСТ Р 34.12-2015 в режиме CTR-ACPKM согласно
Р 1323565.1.017-2018, в качестве начального ключа используется значение
DK, в качестве синхропосылки - значение
S';
- для алгоритмов id-gostr3412-2015-magma-ctracpkm-omac и id-gostr3412-2015-kuznyechik-ctracpkm-omac данные зашифровываются в соответствии с
ГОСТ Р 34.12-2015 в режиме CTR-ACPKM согласно
Р 1323565.1.017-2018 на ключе
DK с использованием
ukm следующим образом:
а) из ключа
DK с использованием алгоритма KDF_TREE_GOSTR3411_2012_256 согласно
Р 50.1.113-2016 вырабатывается два ключа:
1) ключ шифрования сообщения K(1);
2) ключ имитозащиты K(2);
входные параметры для алгоритма KDF_TREE_GOSTR3411_2012_256 принимают следующие значения:
Kin = DK
label = "kdf tree"
seed = ukm[n-7..n]
R = 1;
б) с использованием ключа имитозащиты
K(2), выработанного из
DK, осуществляется вычисление имитовставки
mac для открытых данных
M в соответствии с
ГОСТ Р 34.12-2015 в режиме выработки имитовставки согласно
ГОСТ Р 34.13-2015. Значение имитовставки
mac добавляется в конец открытых данных;
в) полученная строка
M||
mac зашифровывается с использованием ключа шифрования
K(1), выработанного из
DK в соответствии с
ГОСТ Р 34.12-2015 в режиме CTR-ACPKM согласно
Р 1323565.1.017-2018, с начальным значением
S' согласно выбранному алгоритму шифрования;
- параметры
S,
c,
ukm сохраняют в качестве параметров алгоритмов в соответствии с
разделом 7.
Процесс расшифрования данных C с использованием параметров S, c, ukm в схеме PBES2 осуществляется следующим образом:
- устанавливается значение dkLen = 32;
- ключ расшифрования данных
DK вычисляется с помощью функции диверсификации согласно алгоритму из
раздела 4 с использованием параметров
S,
c,
dkLen, то есть
DK =
PBKDF2(
P,
S,
c, 32);
- устанавливается значение синхропосылки S' = ukm[1..n-8], где n - размерность ukm в байтах;
- для алгоритмов id-gostr3412-2015-magma-ctracpkm и id-gostr3412-2015-kuznyechik-ctracpkm данные расшифровываются в соответствии с
ГОСТ Р 34.12-2015 в режиме CTR-ACPKM согласно
Р 1323565.1.017-2018 на ключе
DK с начальным значением
S';
- для алгоритмов id-gostr3412-2015-magma-ctracpkm-omac и id-gostr3412-2015-kuznyechik-ctracpkm-omac данные расшифровываются в соответствии с
ГОСТ Р 34.12-2015 в режиме CTR-ACPKM согласно
Р 1323565.1.017-2018 на ключе
DK с использованием
ukm следующим образом:
а) из ключа
DK с использованием алгоритма KDF_TREE_GOSTR3411_2012_256 согласно
Р 50.1.113-2016 вырабатывается два ключа:
1) ключ шифрования сообщения K(1);
2) ключ имитозащиты K(2);
входные параметры для алгоритма KDF_TREE_GOSTR3411_2012_256 принимают следующие значения:
Kin = DK
label = "kdf tree"
seed = ukm[n-7..n]
R = 1;
б) с использованием ключа
K(1), выработанного из
DK, осуществляется расшифрование данных C в соответствии с
ГОСТ Р 34.12-2015 в режиме CTR-ACPKM согласно
Р 1323565.1.017-2018. Расшифрованные данные
M' представляются в виде конкатенации данных
M' =
M||mac, где длина данных
mac определяется исходя из выбранного алгоритма шифрования;
в) для полученных расшифрованных данных
M с помощью ключа имитозащиты
K(2), выработанного из
DK, осуществляется вычисление имитовставки в соответствии с
ГОСТ Р 34.12-2015 в режиме выработки имитовставки согласно
ГОСТ Р 34.13-2015;
г) вычисленное значение имитовставки сравнивается с полученным значением mac. При несовпадении размеров или значений сообщение считается искаженным.
В данном разделе описана схема PBMAC1 вычисления контрольной суммы передаваемых данных на основе функции HMAC_GOSTR3411.
6.1 Процесс вычисления контрольной суммы
Процесс вычисления контрольной суммы в схеме PBMAC1 выглядит следующим образом:
- выбирается случайное значение S размерности от 8 до 32 байт. Рекомендуемая размерность - 32 байта;
- выбирается число итераций
c в зависимости от условий эксплуатации и длины пароля (рекомендуемые значения приведены в
приложении А);
- устанавливается значение dkLen не менее 32 байт. Значение dkLen выбирается в зависимости от выбранного механизма защиты, использующего выработку ключа из пароля;
- вычисляется последовательность
K с помощью функции диверсификации согласно алгоритму из
раздела 4 с использованием параметров
S,
c,
dkLen, то есть
K =
PBKDF2(
P,
S,
c,
dkLen);
- для получения контрольной суммы вычисляется ключ
DK путем усечения последовательности
K до 32 байт следующим образом:

;
- осуществляется процесс вычисления контрольной суммы с использованием в качестве алгоритма вычисления контрольной суммы функции HMAC_GOSTR3411 на ключе DK;
- параметры
S,
c сохраняют в качестве параметров алгоритмов в соответствии с
разделом 7.3.
6.2 Процесс проверки контрольной суммы
Процесс проверки контрольной суммы с использованием параметров S, c в данной схеме PBMAC1 выглядит следующим образом:
- устанавливается значение dkLen не менее 32 байт. Значение dkLen выбирается в зависимости от выбранного механизма защиты, использующего выработку ключа из пароля;
- вычисляется последовательность
K с помощью функции диверсификации согласно алгоритму из
раздела 4 с использованием параметров
S,
c,
dkLen, то есть
K =
PBKDF2(
P,
S,
c,
dkLen);
- для получения контрольной суммы вычисляется ключ
DK путем усечения последовательности
K до 32 байт следующим образом:

;
- осуществляется процесс вычисления контрольной суммы в соответствии с выбранным алгоритмом вычисления контрольной суммы на ключе DK;
- исходная и полученная контрольные суммы сравниваются между собой. При несовпадении размеров или значений сообщение считается искаженным.
7 Идентификаторы и параметры
rsadsi OBJECT IDENTIFIER ::=
{
iso(1) member-body(2) us(840) 113549
}
pkcs OBJECT IDENTIFIER ::={ rsadsi 1 }
pkcs-5 OBJECT IDENTIFIER ::={ pkcs 5 }
Объектный идентификатор для схемы PBKDF2:
id-PBKDF2 OBJECT IDENTIFIER ::={ pkcs-5 12}
Параметры алгоритма:
id-tc26-hmac-gost-3411-12-512 OBJECT IDENTIFIER ::=
{
iso(1) member-body(2) ru(643) reg7(7)
tk26(1) algorithms(1) hmac(4) 512(2)
}
PBKDF2-params ::= SEQUENCE
{
salt CHOICE
{
specified OCTET STRING,
otherSource AlgorithmIdentifier {{PBKDF2- SaltSources}
},
iterationCount INTEGER (1..MAX),
keyLength INTEGER (32..MAX) OPTIONAL,
prf AlgorithmIdentifier {{PBKDF2-PRFs}}
}
Поля структуры PBKDF2-params имеют следующий смысл:
- salt - поле должно содержать значение синхропосылки S', представленное в виде OCTET STRING;
- iterationCount - число итераций алгоритма c;
- keyLength - размер ключа в байтах; размер ключа в рамках схемы PBES2 может отсутствовать, так как всегда равен 32. В рамках схемы PBMAC1 он должен быть не менее 32 байт и должен всегда присутствовать, так как функция HMAC_GOSTR3411 имеет переменный размер ключа;
- prf - идентификатор и параметры алгоритма псевдослучайной функции. Значение идентификатора должно быть равным идентификатору id-tc26-hmac-gost-3411-12-512, параметры алгоритма принимают значение NULL.
Объектный идентификатор для схемы PBES2:
id-PBES2 OBJECT IDENTIFIER ::={ pkcs-5 13 }
Параметры алгоритма:
PBES2-params ::= SEQUENCE
{
keyDerivationFunc AlgorithmIdentifier {{PBES2-KDFs}},
encryptionScheme AlgorithmIdentifier {{PBES2-Encs}}
}
- Поля структуры PBES2-params имеют следующий смысл:
- keyDerivationFunc - идентификатор и параметры алгоритма выработки парольного ключа PBKDF2 с параметрами в соответствии с
7.1;
- encryptionScheme - идентификатор и параметры алгоритма шифрования.
id-gostr3412-2015-magma-ctracpkm OBJECT IDENTIFIER ::=
{
iso(1) member-body(2) ru(643) rosstandart(7) tc26(1)
algorithms(1) cipher(5) gostr3412-2015-magma(1) mode-ctracpkm(1)
}
id-gostr3412-2015-magma-ctracpkm-omac OBJECT IDENTIFIER ::=
{
iso(1) member-body(2) ru(643) rosstandart(7) tc26(1)
algorithms(1) cipher(5) gostr3412-2015-magma(1) mode-ctracpkm-omac(2)
}
id-gostr3412-2015-kuznyechik-ctracpkm OBJECT IDENTIFIER ::=
{
iso(1) member-body(2) ru(643) rosstandart(7) tc26(1)
algorithms(1) cipher(5) gostr3412-2015-kuznyechik(2) mode-ctracpkm(1)
}
id-gostr3412-2015-kuznyechik-ctracpkm-omac OBJECT IDENTIFIER ::=
{
iso(1) member-body (2) ru(643) rosstandart(7) tc26(1)
algorithms(1) cipher(5) gostr3412-2015-kuznyechik(2) mode-ctracpkm-omac(2)
}
| | ИС МЕГАНОРМ: примечание. В официальном тексте документа, видимо, допущена опечатка: имеется в виду ГОСТ Р 34.12-2015, а не ГОСТ Р 34.1-2015. | |
При использовании идентификатора id-gostr3412-2015-kuznyechik-ctracpkm-omac вычисление имитовставки осуществляется в соответствии с
ГОСТ Р 34.1-2015 ("Кузнечик") в режиме выработки имитовставки согласно
ГОСТ Р 34.13-2015 (размер имитовставки - 128 бит), а шифрование осуществляется в соответствии с
ГОСТ Р 34.12-2015 ("Кузнечик") в режиме CTR-ACPKM согласно
Р 1323565.1.017-2018. При этом длина блока гаммы
s, приведенная в
Р 1323565.1.017-2018, равна 128 бит.
Размер секции в режиме CTR-ACPKM выбирается в зависимости от условий эксплуатации для конкретных решений с учетом рекомендаций
приложения В Р 1323565.1.017-2018. Например, в
Р 1323565.1.025-2019 определены размеры секций для некоторых форматов сообщений.
Параметры представлены следующей структурой:
Gost3412-15-Encryption-Parameters ::= SEQUENCE
{
ukm OCTET STRING
}
Поле ukm структуры Gost3412-15-Encryption-Parameters имеет следующий смысл: ukm - ключевой материал пользователя UKM. Параметр является обязательным и должен содержать n байт. В зависимости от алгоритма n принимает следующие значения для алгоритмов на основе блочного шифра:
Объектный идентификатор для схемы PBMAC1:
id-PBMAC1 OBJECT IDENTIFIER ::= {pkcs-5 14 }
Параметры алгоритма:
PBMAC1-params ::= SEQUENCE
{
keyDerivationFunc AlgorithmIdentifier {{PBMAC1-KDFs}},
messageAuthScheme AlgorithmIdentifier {{PBMAC1-MACs}},
}
Поля структуры PBMAC1-params имеют следующий смысл:
- keyDerivationFunc - идентификатор и параметры алгоритма выработки парольного ключа в соответствии с
7.1;
- messageAuthScheme - идентификатор и параметры алгоритма HMAC_GOSTR3411.
При выработке ключевой информации с использованием пароля пользователя необходимо выполнять следующие условия:
- для разных пользователей и для разных сессий одного пользователя необходимо гарантировать уникальность выбора значений синхропосылки S, которые должны выбираться по схеме равновероятного выбора без возвращения из множества Bn, где n = 8, ..., 32;
- для разных пользователей и для разных сессий одного пользователя необходимо гарантировать, что значение c является одинаковым;
- выбор параметров PBKDF2 должен исключать совпадение ключей, предназначенных для выполнения различных криптографических преобразований;
- для обработки каждого отдельного сообщения на одном начальном ключе необходимо гарантировать уникальность значения ukm.
(справочное)
Зависимость длины пароля
P и числа итераций
c, обеспечивающая эффективную длину ключа в 256 бит, представленная в
таблице А.1, получена в предположении, что значение
S выбирается по схеме равновероятного выбора без возвращения из множества
B32, а символы пароля выбираются случайно, независимо и равновероятно из алфавита мощностью в 156 символов.
Таблица А.1
Соответствие между длиной пароля и количеством итераций
алгоритма выработки ключа из пароля
Длина пароля (в символах) | Число итераций c |
32 | 8,3·106 |
33 | 6,5·105 |
34 | 5,1·102 |
35 | 4 |
36 | 1 |
В случае необходимости использования других значений параметров требуется проведение дополнительных исследований, подтверждающих уровень безопасности защищаемой информации.
Допустимое количество ключей, вырабатываемых из одного пароля, в зависимости от длины синхропосылки, приведено в таблице А.2.
Таблица А.2
Соответствие между длиной синхропосылки и допустимым
количеством ключей, вырабатываемых из одного пароля
Длина синхропосылки (в байтах) | Допустимое количество ключей |
8 | 1,9·108 |
16 | 8,2·1017 |
32 | 1,5·1037 |
(справочное)
Данные тестовые вектора сформированы по аналогии с тестовыми векторами из
[2].
Input:
P = "password" (8 octets)
S = "salt" (4 octets)
c = 1
dkLen = 64
DK = 64 77 0a f7 f7 48 c3 b1 c9 ac 83 1d bc fd 85 c2
61 11 b3 0a 8a 65 7d dc 30 56 b8 0c a7 3e 04 0d
28 54 fd 36 81 1f 6d 82 5c c4 ab 66 ec 0a 68 a4
90 a9 e5 cf 51 56 b3 a2 b7 ee cd db f9 a1 6b 47
Input:
P = "password" (8 octets)
S = "salt" (4 octets)
c = 2
dkLen = 64
DK = 5a 58 5b af df bb 6e 88 30 d6 d6 8a a3 b4 3a c0
0d 2e 4a eb ce 01 c9 b3 1c 2c ae d5 6f 02 36 d4
d3 4b 2b 8f bd 2c 4e 89 d5 4d 46 f5 0e 47 d4 5b
ba c3 01 57 17 43 11 9e 8d 3c 42 ba 66 d3 48 de
Input:
P = "password" (8 octets)
S = "salt" (4 octets)
c = 4096
dkLen = 64
DK = e5 2d eb 9a 2d 2a af f4 e2 ac 9d 47 a4 1f 34 c2
03 76 59 1c 67 80 7f 04 77 e3 25 49 dc 34 1b c7
86 7c 09 84 1b 6d 58 e2 9d 03 47 c9 96 30 1d 55
df 0d 34 e4 7c f6 8f 4e 3c 2c da f1 d9 ab 86 c3
Input:
P = "password" (8 octets)
S = "salt" (4 octets)
c = 16777216
dkLen = 64
DK = 49 e4 84 3b ba 76 e3 00 af e2 4c 4d 23 dc 73 92
de f1 2f 2c 0e 24 41 72 36 7c d7 0a 89 82 ac 36
1a db 60 1c 7e 2a 31 4e 8c b7 b1 e9 df 84 0e 36
ab 56 15 be 5d 74 2b 6c f2 03 fb 55 fd c4 80 71
Input:
P = "passwordPASSWORDpassword" (24 octets)
S = "saltSALTsaltSALTsaltSALTsaltSALTsalt" (36 octets)
c = 4096
dkLen = 100
DK = b2 d8 f1 24 5f c4 d2 92 74 80 20 57 e4 b5 4e 0a
07 53 aa 22 fc 53 76 0b 30 1c f0 08 67 9e 58 fe
4b ee 9a dd ca e9 9b a2 b0 b2 0f 43 1a 9c 5e 50
f3 95 c8 93 87 d0 94 5a ed ec a6 eb 40 15 df c2
bd 24 21 ee 9b b7 11 83 ba 88 2c ee bf ef 25 9f
33 f9 e2 7d c6 17 8c b8 9d c3 74 28 cf 9c c5 2a
2b aa 2d 3a
Input:
P = "pass\0word" (9 octets)
S = "sa\0lt" (5 octets)
c = 4096
dkLen = 64
DK = 50 df 06 28 85 b6 98 01 a3 c1 02 48 eb 0a 27 ab
6e 52 2f fe b2 0c 99 1c 66 0f 00 14 75 d7 3a 4e
16 7f 78 2c 18 e9 7e 92 97 6d 9c 1d 97 08 31 ea
78 cc b8 79 f6 70 68 cd ac 19 10 74 08 44 e8 30
| PKCS#5 (v 2.1) | Криптографический стандарт на основе пароля [Password-Based Cryptography Standard, RSA Laboratories, 2006] |
| RFC6070 | С. Йозефссон. PKCS#5 Основанная на пароле функция выработки ключа (PBKDF2). Тестовый набор [S. Josefsson. PKCS#5 Password-Based Key Derivation Function 2 (PBKDF2). Test Vectors, IETF RFC 6070, January 2011] |
УДК 681.3.06:006.354 | |
Ключевые слова: пароль, ключ, контроль целостности |