Совет директоров Национального банка Республики Беларусь ПОСТАНОВЛЯЕТ:
Утвердить прилагаемый Руководящий документ Республики Беларусь "Банковские технологии. Процедура выработки псевдослучайных данных с использованием секретного параметра".
Председатель Правления П.П.ПРОКОПОВИЧ
РУКОВОДЯЩИЙ ДОКУМЕНТ РЕСПУБЛИКИ БЕЛАРУСЬ
БАНКОВСКИЕ ТЕХНОЛОГИИ
ПРОЦЕДУРА ВЫРАБОТКИ ПСЕВДОСЛУЧАЙНЫХ ДАННЫХ С
ИСПОЛЬЗОВАНИЕМ СЕКРЕТНОГО ПАРАМЕТРА
БАНКАЎСКIЯ ТЭХНАЛОГII
ПРАЦЭДУРА ВЫПРАЦОЎКI ПСЕЎДАВЫПАДКОВЫХ ДАДЗЕНЫХ З
ВЫКАРЫСТАННЕМ САКРЭТНАГА ПАРАМЕТРА
РД РБ 07040.1202-2003 Дата введения 2003-04-01
УДК
Ключевые слова: псевдослучайные данные, процедура выработки псевдослучайных данных
ОКС 35.240.40
Издан на русском языке
Предисловие
1. РАЗРАБОТАН Государственным центром безопасности информации, Учреждением Белорусского государственного университета "Национальный научно-исследовательский центр прикладных проблем математики и информатики"
2. ВНЕСЕН Управлением безопасности и защиты информации Национального банка Республики Беларусь
3. УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ постановлением Совета директоров Национального банка Республики Беларусь от 3 марта 2003 г. N 76
4. ВВЕДЕН ВПЕРВЫЕ
Настоящий документ не может быть тиражирован и распространен без разрешения Национального банка Республики Беларусь
1. Область применения
Настоящий руководящий документ устанавливает процедуру и алгоритм выработки псевдослучайных данных с секретным параметром, которые применяются в криптографических методах защиты информации, в том числе для реализации процедуры выработки электронной цифровой подписи.
Настоящий руководящий документ применяется при разработке и сертификации средств криптографической защиты информации.
2. Нормативные ссылки
В настоящем стандарте использованы ссылки на стандарт:
СТБ 1176.1-99 Информационная технология. Защита информации. Функция хэширования
3. Обозначения
В настоящем руководящем документе применяют следующие обозначения:
n
Z(n) - множество всех неотрицательных целых чисел, меньших 2 ,
где n - натуральное число;
* *
h - функция хэширования. Значения h вычисляются в
соответствии с алгоритмом, установленным в СТБ 1176.1, в котором
на шаге 15 вместо проверки d = n + 2 используется проверка d = n +
+ 1, а значения параметров выбираются следующим образом:
H = 4Е4Е9С9С 9С9С4Е4Е 9С9С4Е4Е 4Е4Е9С9С 9С9С4Е4Е 4Е4Е9С9С
4Е4Е9С9С 9С9С4Е4Е (в шестнадцатеричной системе счисления), L = 256;
* *
h (m , m ,..., m ) - значение функции хэширования h ,
1 2 128
вычисленное от последовательности чисел m , m ,..., m ,
1 2 128
где m e Z(8) для i = 1, 2, ..., 128;
i
------------------------------------
буква "e" в математическом выражении - знак принадлежности
(+) - бинарная операция, определенная на множестве
неотрицательных целых чисел по формуле
k-1 i
a (+) b = SUM ((a + b ) mod 2) x 2 , (1)
i=0 i i
k-1 i
где a = SUM a x 2 ,
i=0 i
k-1 i
b = SUM b x 2 , a , ..., a , b , ..., b e Z(1);
i=0 i 0 k-1 0 k-1
------------------------------------
буква "e" в математическом выражении - знак принадлежности
c := d - присвоение параметру (переменной) c значения d.
4. Общие положения
Настоящий документ определяет процедуру выработки
псевдослучайных данных в виде последовательности
z , z , ..., z e Z(256)
1 2 T
------------------------------------
буква "e" в математическом выражении - знак принадлежности
с использованием секретного параметра из множества Z(256). В
алгоритме выработки псевдослучайных данных используется функция
*
хэширования h .
5. Процедура выработки псевдослучайных данных
5.1. Исходные данные
Исходными данными для процедуры выработки последовательности
псевдослучайных данных z , z ,..., z являются:
1 2 T
T - натуральное число, определяющее длину последовательности
данных, которую необходимо выработать;
K - K e Z(256), секретный параметр, который должен храниться в
тайне;
------------------------------------
буква "e" в математическом выражении - знак принадлежности
C - C e Z(256), инициализирующее значение. При заданном K
0 0
должны использоваться различные C .
0
------------------------------------
буква "e" в математическом выражении - знак принадлежности
Допускается использование дополнительных входных данных, полученных произвольным образом, в том числе случайным или псевдослучайным методом.
5.2. Используемые переменные
В процедуре выработки псевдослучайных данных используются следующие переменные:
31 8 i
C - C e Z(256), C = SUM c x (2 ) ,
i=0 i
------------------------------------
буква "e" в математическом выражении - знак принадлежности
где c e Z(8) для i = 0, 1, ..., 31;
i
Y - Y e Z(256). Если T > 1, то значение переменной Y должно
быть уничтожено сразу после выработки псевдослучайных данных;
------------------------------------
буква "e" в математическом выражении - знак принадлежности
X - X e Z(256);
------------------------------------
буква "e" в математическом выражении - знак принадлежности
t - натуральное число, t <= T + 1;
128 8 i-1
M - M e Z(1024), M = SUM m x (2 ) ,
i=1 i
где m e Z(8) для i = 1, 2, ..., 128.
i
------------------------------------
буква "e" в математическом выражении - знак принадлежности
Значение переменной M должно быть уничтожено сразу после выработки
псевдослучайных данных.
5.3. Алгоритм выработки псевдослучайных данных
Алгоритм выработки последовательности данных z , z ,..., z
1 2 T
включает в себя следующие шаги:
1. C := C ;
0
31 8 i
2. Y := SUM (255 - c ) x (2 ) ;
i=0 i
3. t := 1;
4. Задать значение X на основании дополнительных входных
данных. Если дополнительные входные данные не используются, то
установить X := 0;
256 512 768
5. M := K + C x 2 + X x 2 + Y x 2 ;
*
6. z := h (m , m ,..., m );
t 1 2 128
7. t := t + 1;
8. Если t > T, то перейти к шагу 12;
256
9. C := (C + 1) mod 2 ;
10. Y := Y (+) z ;
t
------------------------------------
(+) - бинарная операция
11. Перейти к шагу 4;
12. Конец работы алгоритма.
|