1. Алгоритм формирования ключей подписи и проверки подписи.

(a) Формирования ключа подписи.

Ключ подписи формируется как nK-битовый блок данных с помощью аппаратного генератора случайных кодов или криптостойкого программного генератора псевдослучайных кодов KS=GnT(...). Биты ключа должны быть независимы и с равной вероятностью принимать оба возможных значения – 0 и 1.

(b) Формирования ключа проверки подписи. Схема алгоритма формирования ключа проверки подписи изображена на рисунке 4.

Шаг 0. Исходные данные алгоритма – nK–битовый массив данных KS – ключ подписи.

Шаг 1. Вычисляем nG – количество nT-битовых групп в подписываемых блоках.

Следующие шаги 2–9 выполняются столько раз, на сколько подписей рассчитана схема, т.е. для каждого номера подписи системы.

Проблема аутентификации данных и блочные шифры Рис. 4. Алгоритм выработки ключа проверки подписи.

Шаг 2. Выработать блок гаммы размером 2nnG бит с помощью генератора криптостойкой гаммы на ключе KS с начальным заполнением i (номером подписи) и поместить его в 2nnG–битовый массив X.

Шаг 3. 2nnG–битовый массив X интерпретируется как массив из 2nG n-битовых элементов Xj, X=(X1,X2,...,X2nG), |Xj|=n,

затем для каждого элемента этого массива вычисляется результат его «односторонней прокрутки» 2nT–1 раз.

Шаг 4. Для массива X вычисляется и записывается в блок данных S его хэш-код, который является индивидуальной проверочной комбинацией для подписи номер i.

Следующие шаги 5,6 выполняются количество раз, равное фактору количества подписей L.

Шаг 5. Если l младших бит номера подписи – единицы, переход к шагу 6, иначе – выполнение цикла прекращается и управление передается на шаг 7.

Шаг 6. Текущая хэш-комбинация S объединяется c текущей хэш-комбинацией Dl уровня l, и для полученного массива вычисляется хэш–значение, которое становится новой текущей хэш–комбинацией.

Шаг 7. Текущая хэш-комбинация S заменяет хэш-комбинацию Dl уровня l.

Шаг 8. Последняя вычисленная при выполнении алгоритма текущая хэш-комбинация S и будет являться результатом работы алгоритма – ключом проверки подписи. Кроме того, в ходе выполнения алгоритма будут последовательно выработаны хэш-комбинации всех уровней от 0 до L Проблема аутентификации данных и блочные шифры, 0£l£L, 0£i<2L–l, которые могут храниться в системе и использоваться при формировании подписи.

2. Алгоритм подписи хэш-блока массива данных.

Схема алгоритма подписи хэш-блока массива данных изображена на рисунке 5.

Шаг 0. Исходные данные алгоритма:

T – подписываемый – n-битовый хэш-блок массива данных;

KS – ключ подписи – nK-битовый массив данных;

i – порядковый номер подписи.

Шаг 1. Вычисляем nG – число nT-битовых групп в подписываемом n-битном хэш-блоке.

Шаг 2. Выработать блок гаммы размером 2nnG бит с помощью генератора криптостойкой гаммы на ключе KS с начальным заполнением i (номером подписи) и поместить его в 2nnG-битовый массив X.

Шаг 3. 2nnG-битовый массив X интерпретируется как массив из nG пар n-битовых элементов X=((X1,X2),...,(X2nG–1,X2nG)), |Xj|=n,

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

Проблема аутентификации данных и блочные шифры Рис. 5. Алгоритм подписи хэш-кода сообщения.

Шаг 4. К индивидуальной проверочной комбинации последовательно добавляется попарные хэш-комбинации, по одной комбинации с каждого уровня от 0 до L–1, которые необходимы при вычислении проверочной комбинации самого верхнего уровня (L), общей для всех сообщений. Номер добавляемой комбинации каждого уровня определяется отбрасыванием количества последних бит в номере подписи, равного номеру уровня, и в инвертировании младшего бита полученного числа.

Шаг 5. В результате получаем цифровую подпись хэш-блока сообщения S=(X,D), состоящую из массива подписей битовых групп блока X=(X1,X2,...,X2nG) и из массива дополнительных проверочных комбинаций D=(D0,D1,...,DL–1), необходимых для выполнения процедуры проверки подписи и используемых при вычислении попарных проверочных комбинаций.

3. Алгоритм проверки подписи хэш-блока массива данных.

Схема алгоритма проверки подписи хэш-блока массива данных изображена на рисунке 6.

Проблема аутентификации данных и блочные шифры Рис. 6. Алгоритм проверки подписи.

Шаг 0. Исходные данные алгоритма:

T – подписанный – n-битовый хэш-блок массива данных;

s – подпись хэш–блока, состоит из массива X, содержащего 2nG n-битовых элементов подписи битовых групп, и массива D, содержащего L n-битовых хэш–комбинаций;

i – порядковый номер подписи.

Шаг 1. Вычисляем nG – число nT–битовых групп в подписываемом хэш–блоке, имеющем размер n бит.

Шаг 2. В соответствии с правилами проверки подписи производится «односторонняя прокрутка» элементов подписи битовых групп, содержащихся в массиве X, по два элемента на каждую группу.

Шаг 3. Для массива X вычисляется и записывается в S его хэш-код, который должен быть равен индивидуальной проверочной комбинацией для i-той подписи.

Следующие шаги 4–6 выполняются количество раз, равное фактору количества подписей L.

Шаг 4. Производится выбор по значению l-того бита (нумерация с 0 со стороны младшего бита) номера подписи.

Шаг 5. Если значение бита равно 0, то к коду справа добавляется очередная хэш-комбинация, содержащаяся в подписи, для полученного блока вычисляется хэш-функция, которая замещает предыдущее содержимое S.

Шаг 6. Если значение бита равно 1, то выполняется то же самое, только хэш-комбинация добавляется к коду слева.

Шаг 7. В конце выполнения алгоритма в S содержится код, который должен быть сравнен с ключом проверки подписи, если коды одинаковы, подпись считается верной, иначе – неверной.

Заключение.

Стойкость предложенной схемы цифровой подписи определяется стойкостью использованного блочного шифра, а устойчивость ко вскрытию переборными методами –наименьшим из чисел n, nK. Ключевой комплект в данной схеме рассчитан на определенное число подписей, что, с одной стороны, может восприниматься как недостаток схемы, но с другой позволяет лицензировать количество подписей, облегчая тем самым ее коммерческое использование. Рассматриваемая схема подписи не соответствует стандарту России на цифровую подпись, а алгоритм вычисления MDC – стандарту на выработку хэш-кода массива данных, что делает невозможным аттестацию в соответствующих организациях устройств и программных продуктов, их реализующих. Однако изложенные схемы вполне могут быть использованы там, где спорные вопросы не могут быть вынесены на уровень арбитражных и судебных разбирательств, например, в системах автоматизации внутреннего документооборота учреждений, особенно если электронный документооборот не заменяет бумажный, а существует в дополнение к нему для ускорения прохождения документов.

В качестве приложения к настоящей статье приведены исходные тексты на языке ассемблера для процессоров клона Intel 8086 функции вычисления MDC для блоков данных и функции, реализующие алгоритмы описанной схемы цифровой подписи. Функция выработки хэш-кода (MDC) написана таким образом, что позволяет обрабатывать блоки данных по частям, то есть за несколько вызовов. Все функции используют в качестве основы алгоритм зашифрования по ГОСТ28147–89. Также прилагаются тексты тестовых программ на языке Си для проверки неизменности файлов на основе MDC и цифровой подписи.

Литература.

1. А.Ю.Винокуров. ГОСТ не прост...,а очень прост, М., Монитор.–1995.–N1.

2. А.Ю.Винокуров. Еще раз про ГОСТ., М., Монитор.–1995.–N5.

3. А.Ю.Винокуров. Алгоритм шифрования ГОСТ 28147-89, его использование и реализация для компьютеров платформы Intel x86., Рукопись, 1997.

4. А.Ю.Винокуров. Как устроен блочный шифр?, Рукопись, 1995.

5. М.Э.Смид, Д.К.Бранстед. Стандарт шифрования данных: прошлое и будущее. /пер. с англ./ М., Мир, ТИИЭР.–1988.–т.76.–N5.

6. Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования ГОСТ 28147–89, М., Госстандарт, 1989.

7. Б.В.Березин, П.В.Дорошкевич. Цифровая подпись на основе традиционной криптографии//Защита информации, вып.2.,М.: МП "Ирбис-II",1992.

8. W.Diffie,M.E.Hellman. New Directions in cryptography// IEEE Trans. Inform. Theory, IT-22, vol 6 (Nov. 1976), pp. 644-654.

9. У.Диффи. Первые десять лет криптографии с открытым ключом. /пер. с англ./ М., Мир, ТИИЭР.–1988.–т.76.–N5.


[1] Протоколов в криптографии называется набор правил и алгоритмов более высокого порядка, регламентирующих использование алгоритмов низшего порядка. Его основное назначение – гарантировать правильное использование криптографических алгоритмов.


Информация о работе «Проблема аутентификации данных и блочные шифры»
Раздел: Информатика, программирование
Количество знаков с пробелами: 70566
Количество таблиц: 8
Количество изображений: 5

Похожие работы

Скачать
61238
6
2

... не к ключам!) и поэтому может зашифровывать и дешифровывать любую информацию; 2.7 Выводы по разделу 2. Подводя итоги вышесказанного, можно уверенно заявить, что криптографическими системами защиты называються совокупность различных методов и средств, благодаря которым исходная информация кодируеться, передаеться и расшифровываеться. Существуют различные криптографические системы защиты, ...

Скачать
30972
1
8

... симметричные (одноключевые) криптосистемы; ·           асимметричные (двухключевые) криптосистемы (с открытым ключом). Схема симметричной криптосистемы с одним секретным ключом показана на рис.2. В ней используются одинаковые секретные ключи в блоке шифрования и блоке расшифрования. Обобщенная схема асимметричной криптосистемы с двумя разными ключами  и  показана на рис. 3. Рис. 3. ...

Скачать
138113
3
22

... является допустимым для устройства подобного рода. 5.3 Вывод В результате анализа параметров энергосбережения было выявлено то, что при реализации системы аутентификации пользователя транспортного средства нельзя обойтись без анализа энергопотребления системы и поиска путей уменьшения этого параметра. Изначально спроектированная система вызывала бы дискомфорт у пользователя за счёт излишне малого ...

Скачать
86939
6
20

... схема устройства для аппаратного шифрования информации, которая соответствует приведенным выше требованиям, изображена на рисунке 1.9. Рис. 1.9 – Структурная схема устройства аппаратного шифрования 2.  РАЗРАБОТКА СХЕМОТЕХНИЧЕСКОЙ РЕАЛИЗАЦИИ АППАРАТНОГО ШИФРАТОРА 2.1  Выбор элементной базы для шифратора   Согласно техническому заданию, элементная база для аппаратного шифратора должна ...

0 комментариев


Наверх