Скачиваний:
64
Добавлен:
24.07.2017
Размер:
153.6 Кб
Скачать

ВВЕДЕНИЕ

Расширяющееся применение информационных технологий при создании, обработке, передаче и хранении документов требует в определенных случаях сохранения конфиденциальности их со­держания, обеспечения полноты и достоверности.

Одним из эффективных направлений защиты информации яв­ляется криптография (криптографическая защита), широко при­меняемая в различных сферах деятельности в государственных и. коммерческих структурах.

Криптографические методы защиты информации являются объ­ектом серьезных научных исследований и стандартизации на на­циональных, региональных и международных уровнях.

Настоящий стандарт определяет процедуру вычисления хэш-функции для любой последовательности двоичных символов.

Функция хэширования заключается в сопоставлении произволь­ного набора данных в виде последовательности двоичных симво­лов и его образа фиксированной небольшой длины, что 'позволяет использовать эту функцию в процедурах электронной цифровой подписи для сокращения времени подписывания и проверки под­писи. Эффект сокращения времени достигается за счет вычисления подписи только под образом подписываемого набора данных.

Государственный стандарт российской федерации

Информационная технология

КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ Функция хэширования

Information technology. Cryptographic Data Security. Hashing function

Дата введения 1995-01-01

1 Область применения

Настоящий стандарт определяет алгоритм и процедуру вычис­ления хэш-функции для любой последовательности двоичных сим­волов, которые применяются в криптографических методах обра­ботки и защиты информации, в том числе для реализации про­цедур электронной цифровой подписи (ЭЦП) при передаче, обработке и хранении информации в автоматизированных, системах.

Определенная в настоящем стандарте функция хэширования используется при реализации систем электронной цифровой подписи на базе асимметричного криптографического алгоритма по ГОСТ Р 34.10.

2 Нормативные ссылки

В настоящем стандарте использованы ссылки на следующие стандарты:

ГОСТ 28147—89 Системы обработки информации. Защита крип­тографическая. Алгоритмы криптографического преобразования.

ГОСТ Р 34.10—94 Информационная технология. Криптографи­ческая защита информации. Процедуры выработки и проверки электронной цифровой подписи на базе асимметричного крипто­графического алгоритма.

3 Обозначения

В настоящем стандарте используются следующие обозначения:

В*—множество всех конечных слов в алфавите В={0,1}. Чте­ние слов и нумерация знаков алфавита (символов) осуществляют­ся справа налево (номер правого символа в слове равен единице, 'второго справа — двум и т. д.).

эрого справа — двум и т. , ]А|—длина слова А 6 В*.

V'k(2) — множество всех бинарных слов длины k. Aji В — конкатенация слов А, В6В*—слово длины |А[+|В|, в котором левые |А| символов образуют слово А, а правые |В| сим­волов образуют слово В. Можно также использовать обозначение А||В=АВ.

A k—конкатенация k экземпляров слова А (А(: В*). ^N>i;—слово длины k, содержащее двоичную запись вычета N(mod-2") неотрицательного целого числа N.

А — неотрицательное целое число, имеющее двоичную запись А (А (-Б*).

ф — побитовое сложение слов одинаковой длины по модулю 2.

€> '—сложение по правилу А ®'В = <A+B>k, (k=|A[=|B|).

М — последовательность- двоичных символов, подлежащая хэ­шированию 'сообщение в системах ЭЦП), М 6 В*.

h.—хэш-функция, отображающая последовательность Мб В* в слово h(M)?V25e(2).

Ек(А) —результат зашифрования слова А на ключе К с ис­пользованием алгоритма шифрования по ГОСТ 28147 в режиме простой замены (К СУ25б(2), А(-Ve4(2)).

Н — стартовый вектор хэширования.

e:=g — присвоение параметру е значения g.

4 Общие положения

Под хэш-функцней h понимается зависящее от параметра (стартового вектора хэширования Н, являющегося слово'м из У25б(2)] отображение

i': B^----V^(2).

Для определения ^эш-функции необходимы:

— алгоритм (исчисления 'шаговой функции хэширования х, т. е. отображения;..'"'' ^

1- '';' »: V^(2) xV^(2)-"--\W2); •

— описание итеративной процедуры вычисления значения хэш-функции. h.

S ШАГОВАЯ ФУНКЦИЯ ХЭШИРОВАНИЯ

Алгоритм вычисления шаговой фикции хэширования включает

в себя три части, реализующие последовательно:

— генерацию ключей—слов длины 256 битов;

— шифрующее преобразование—зашифрование 64-битных яодслов слова Н на ключах Ki (i=l, 2, 3, 4) с использованием -алгоритма по ГОСТ 28147 в режиме простой замены;

— перемешивающее преобразование результата шифрования.

5.1 Генерация ключей, РассмотримХ=(Ьгвб, bass, .... bi)eV25e(2). Пусть Х==Х4||Хз||х2||х,=

^(вИ-и...!!'')^ . -^IMl.-.lISi, " • • __

x,=(bix64 ,..., b(i-ux64+i)eV(>t(2), i= 1,4;

'^(b/xie,..., b(j-i)xi6+i)<'Vie(2), 1=1,16;

где

Sk=(bkx8,..., b(k-i)x8±i)eVg(2), k==f,32.. . . Обозначают A(X)=(Xl®X2)l,|x4|]xз||x2.

-.Используют преобразование Р: У25с(2)-——-»-У25б(2)

•слова ^11. •• IKi в слово ^(32)'l. ..11^ »i),

тде (p(i+l+4(k-l))=8i+k, 1=0-3, k=l—8.

Для генерации ключей необходимо использовать следующие

исходные данные:

— слова Н, МеУа5б(2);

— параметры: слова Ci (i=2, 3, 4), имеющие значения

C^Ci^O25» и Cg^W'WM^O8!8)^^8)4^^. При вычислении ключей реализуется следующий алгоритм:

1 Присвоить значения

i:==l, U:=H, V:=M. .

2 Выполнить вычисление W==U^V, K,--=P(W).

3 Присвоить i:-=i+l.

4 Проверить условие i=5.

При положительном исходе перейти к шагу 7. При отрицатель*,-,

иом — перейти к шагу 5. • . .5 Выполнить вычисление _

U:=A(U)^Ci, V:==A(A(V)), W:==Ui®V, Ki=P(W).

6 Перейти к шагу 3.

7 Конец работы алгоритма.

5.2 Шифрующее преобразование

• На данном этапе осуществляется зашифрование 64-битных под-слов слова Н на ключах k| (i=l, 2, 3, 4).

Для шифрующего преобразования необходимо использовать следующие исходные данные:

Н=-МЬзМЬ,, h,(EV,;4(2), i==L4

и набор ключей Кь К2, Кз, К4. Реализуют алгоритм зашифрования и получают слова

s,--EK,(hi), где 1=1, 2, 3, 4. В результате данного этапа образуется последовательность.

S- с. "о 11с- 1|о

==S4iiS^|Sai|S). 5.3 Перемешивающее преобразование

bia данном этапе осуществляется перемешивание полученной последовательности с применением регистра сдвига.

Исходными данными являются:

. слова Н, M(?V25e(2) и слово S 6 Vase (2).

Пусть отображение

ф:У2^(2)----^Уйб(2) преобразует слово

"iJ-.. hi, ^ev,„(2). i=i~i6'

в слово

^Ф^зФ^зФ^Ф^зФ^М- • -ha.

Тогда з качестве значения шаговой функции хэширования при­нимается слово _ _. '

х(М, ^^'"(Н^МФ^З))), где i|)' — i-я степень преобразования ij).