Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Криптографические методы защиты компьютерной информации. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
1 Мб
Скачать

щением. Поэтому в дальнейшем подписанное сообщение невозможно связать со стороной А.

Приведем пример применения слепой подписи. Схема слепой подписи может найти применение в тех случаях, когда отправитель А (клиент банка) не хочет, чтобы подписывающая сторона В (банк) имела возможность в дальнейшем связать сообщениеm и подпись sB(m) с определенным шагом выполненного ранее протокола.

В частности, это может быть важно при организации анонимных безналичных расчетов, когда сообщение m могло бы представлять денежную сумму, которую А хочет потратить. Когда сообщение

m с подписью SB (m) предъявляется банку В для оплаты, банк В не

может проследить, кто именно из клиентов предъявляет подписанный документ. Это позволяет пользователю А остаться анонимным.

Для построения протокола слепой подписи необходимы следующие компоненты:

1. Механизм обычной цифровой подписи для подписывающей стороны В. Пусть SB (X ) обозначает подпись стороны В на документе X.

2 .Функции f (×) и g(×) (известные только отправителю) такие,

что

g(SB (f (m)))= Sm (m),

где f (×) – маскирующая (blinding) функция; g(×) – демаскирующая (unblinding) функция; f (m) замаскированное (blinded) сообщение m.

При выборе SB , f и g существует ряд ограничений.

Выберем в качестве алгоритма подписи SB для стороны В схему цифровой подписи RSA с открытым ключом(N,E) и секретным ключом D, причем N = P × Q произведение двух больших случайных

простых чисел.

Пусть k – некоторое фиксированное целое число, взаимно про-

стое с N, т.е. НОД (N , k )=1.

 

 

 

Маскирующая

функция f : Z n ® Zn

определяется

как

f (m) = m × k E mod N ,

а демаскирующая

функция g : Z n ® Z n

кaк g(m)= k -1m mod N. При таком выборе

f , g

и s получаем

 

 

- 91 -

 

 

 

g(SB (f (m)))= g(SB (mk E mod N ))= g(mDk mod N )= mD mod N = SB (m),

что соответствует требованию 2.

Согласно протоколу слепой подписи, который предложил Д. Чом, отправитель А сначала получает подпись стороны В на замаскированном сообщении m*. Используя эту подпись, сторона А вычис-

ляет

подпись В

на заранее

выбранном сообщенииm, где

0 £ m £ N -1. При этом стороне В ничего неизвестно ни о значении

m, ни о подписи, связанной с m.

 

 

 

 

Пусть сторона В имеет для подписи по схеме RSA открытый

ключ (N,E) и секретный ключ D. Пусть k - случайное секретное целое

число,

выбранное

стороной А

и

удовлетворяющее

условиям

0 £ k £ N -1 и НОД (N,k).

 

 

 

 

Протокол слепой подписи Д.Чома включает следующие шаги:

1.Отправитель А вычисляет замаскированное сообщение m = mkE mod N и посылает его сторонеВ.

2.Подписывающая сторона В вычисляет подпись s = (m*)D mod N и отправляет эту подпись стороне А.

3.Сторона А вычисляет подпись s=k-1s*modN, которая является подписью В на сообщении m.

Нетрудно видеть, что

(m*)D = (m kE)D= m D k (mod N),

поэтому

k-1s*=mDk k-1=mD(mod N).

Д.Чом разработал несколько алгоритмов слепой подписи для создания системы анонимных безналичных электронных расчетов eCash.

3.3.2. Схемы неоспоримой подписи

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

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

- 92 -

Рассмотрим два возможных сценария применения неоспоримой подписи.

Сценарий 1. Сторона А (клиент) хочет получить доступ в защищенную зону, контролируемую стороной В (банком). Этой защищенной зоной может быть, например, депозитарий (хранилище ценностей клиентов). Сторона В требует от А поставить до предоставления клиенту доступа на заявке о допуске в защищенную зону подпись, время и дату. Если А применит неоспоримую подпись, тогда сторона В не сможет впоследствии доказать кому-либо, что А получил допуск без непосредственного участия А в процессе верификации подписи.

Сценарий 2. Предположим, что известная корпорация А разработала пакет программного обеспечения. Чтобы гарантировать подлинность пакета и отсутствие в нем вирусов, сторона А подписывает этот пакет неоспоримой подписью и продает его сторонеВ. Сторона В решает сделать копии этого пакета программного обеспечения и перепродать его третьей сторонеС. При использовании стороной А неоспоримой подписи сторона С не сможет убедиться в подлинности этого пакета программного обеспечения и отсутствии в нем вирусов без участия стороны А.

Конечно, этот сценарий не препятствует сторонеВ поставить на пакете свою подпись, но тогда для стороны В будут утрачены все маркетинговые преимущества, связанные с использованием торговой марки корпорации А. Кроме того, будет легче раскрыть мошенническую деятельность стороны В.

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

Каждая сторона А должна выполнить следующее:

1. Выбрать случайное простое число p = 2q +1, где q-также

простое число.

 

2.

Выбрать генераторное число a для подгруппы

порядкаq

циклической группе Z *p :

 

 

2.1. Выбрать случайный элементb Î Z p и

вычислить

a = b (p-1)

q mod p.

 

 

- 93 -

 

2.2. Если a = 1, тогда возвратиться к шагу 2.1.

3. .Выбрать случайное целое x Î{1,2,...,q -1} и вычислить y = a x mod p.

4. Для стороны А открытый ключ равен (p, a, y), секретный ключ равен х.

Согласно алгоритму неоспоримой подписи Д.Чома, сторона А подписывает сообщение m, принадлежащее подгруппе порядка q в

Z *p . Любая сторона В может проверить эту подпись при участии А.

В работе алгоритма неоспоримой подписи можно выделить два этапа:

генерация подписи;

верификация подписи.

На

этапе

генерации

подписи

сторонаА вычисляет

s = mx mod p,

где s – подпись стороны А на сообщении m. Сооб-

щение m с подписью s отсылается стороне В.

Этап верификации подписи выполняется сторонойВ с участием стороны А и включает следующие шаги:

1. В получает подлинный открытый ключ (p,a, y)стороны А. 2. В выбирает два случайных секретных целых числа,

bÎ{1,2,K, q -1}.

3. В вычисляет z = sa yb mod p и отправляет значение Z сто-

роне А.

4. А вычисляет w = (z )1/ x mod p, где xxn1 =1(mod q), и отправляет значение w стороне В.

5. В вычисляет w¢ = maa b mod p и признает подпись s подлинной, если и только если w = w'.

Убедимся, что проверка подписи s работает:

w = (z1/ x )º (sa yb )1/ x º (mxaa xb )1/ x º maab º w¢mod p.

Можно показать, что с высокой степенью вероятности -зло умышленник не сможет заставитьВ принять фальшивую подпись. Предположим, что s представляет собой подделку подписи стороныА

- 94 -

на сообщении m, т.е. s ¹ m x mod p . Тогда вероятность принятия стороной этой подписи в данном алгоритме составляет только1/q, причем эта вероятность не зависит от вычислительных ресурсов злоумышленника.

Подписавшая сторона А при некоторых обстоятельствах могла бы попытаться отказаться от своей подлинной подписи одним из трех способов:

а) отказаться от участия в протоколе верификации; б) некорректно выполнить протокол верификации;

в) объявить подпись фальшивой, даже если протокол верификации оказался успешным.

Отречение от подписи способом ) арассматривалось бы как очевидная попытка неправомерного отказа. Против способов б) и в) бороться труднее, здесь требуется специальный протокол дезавуирования. Этот протокол определяет, пытается ли подписавшая сторонаА дезавуировать правильную подпись s или эта подпись является фальшивой. В этом протоколе по существу дважды применяется протокол верификации и затем производится проверка с целью убедиться, что сторона А выполняет этот протокол корректно.

Протокол дезавуирования для схемы неоспоримой подписи Д. Чома включает следующие шаги:

1. В принимает от стороны А сообщение m с подписью s и

получает подлинный открытый ключ (p,a, y) стороны А.

 

 

2. В

выбирает

случайные

секретные

целые

числа

a, b Î{1,2,K, q -1}, вычисляет

z = sa yb mod p и отправляет значе-

 

ние Z стороне А.

3.А вычисляет w = (z)1/ x mod p, где xx -1 =1(mod q), и отправляет значение w стороне В.

4.Если w º maa b mod p, тогда В признает подпись s подлин-

ной и выполнение протокола прекращается.

5. В выбирает случайные секретные целые ч a¢, b¢Î{1,2,K, q -1}, вычисляет z'=sa yb mod p и отправляет значение г'

стороне А.

6.А вычисляет w'=(z')1/xmod p и отправляет значение w' стороне В.

-95 -

7.Если w¢ = ma¢ab¢ mod p, тогда В принимает подпись s и выполнение протокола останавливается.

8.В вычисляет c = (wa-b )a¢ mod p, c¢ = (w¢a -b¢ )a mod p. . Если

c = c¢ , тогда В заключает, что подпись s фальшивая; в противном случае В делает вывод, что подпись s подлинная, а сторона А пытается дезавуировать подпись s.

Нетрудно убедиться в том, что этот протокол достигает поставленной цели. Пусть m - сообщение и предположим, что s - подпись стороны А под сообщением m. Если подпись s фальшивая, т.е.

s ¹ mx mod p , и если стороны А и В следуют протоколу должным

образом, тогда w = w' (и поэтому справедливо заключение В, что подпись s фальшивая). Пусть s на самом деле является подписью стороны

А под сообщением m, т.е. s = mx mod p. Предположим, что В точно следует протоколу, а А не следует . Тогда вероятность того, что w = w¢ А преуспевает в дезавуировании подписи), составляет толь-

ко 1/q.

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

Неоспоримая подпись может быть верифицирована только пу-

тем непосредственного взаимодействия с подписывающей стороной А.

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

- 96 -

ЛИТЕРАТУРА

1.Адаменко, М.В. Основы классической криптологии : секреты шифров и кодов / М.В. Адаменко. – М.: Изд-во ДМК Пресс, 2012.

2.Введение в теоретико-числовые методы криптографии / М.М. Глухов [и др.]. – М.: Изд-во «Лань», 2011.

3.Основы криптографии : учебное пособие / сост. А.П. Алфёров [и др.]; – М.: Изд-во «Гелиос АРВ», 2001.

4.Осипян, В.О. Криптография в упражнениях и задачах /

В.О. Осипян, К.В. Осипян. – М.: Изд-во «Гелиос АРВ», 2004.

5.Криптографические средства защиты информации в сетях: учебно-метод. пособие / А.В. Пролубников. – Омск: Изд-во Омского гос. ун-та им. Ф.М. Достоевского, 2014.

6.Рябко, Б.Я., Основы современной криптографии и стенографии / Б.Я. Рябко, А.Н. Фионов. Изд-во Горячая линия-Телеком, 2011.

7.Романец, Ю. Защита информации в компьютерных системах

исетях / Ю. Романец, П.Тимофеев, В.Шаньгин. – М.: Изд-во «Радио и связь», 2001.

8.Разработка приложений для шифрования информации: метод. указания / сост. А.И. Сердюк [и др.]. – Оренбург: Изд-во Оренбург. гос. ун-та, 2012.

9.Шнайдер, Б. Прикладная криптография / Б.Шнайдер. – М.: Изд-во «Триумф», 2002.

10.Шеннон, К. Теория связи в секретных системах: в кн.: Работы по теории информации и кибернетике/ К. Шеннон – М.: ИЛ, 1963.

- 97 -

С О Д Е Р Ж А Н И Е

ВВЕДЕНИЕ ………………………………………………............ 3

1.ОСНОВНЫЕ ПОНЯТИЯ И ОПРЕДЕЛЕНИЯ ……………... 6

1.1.Шифры перестановки………………………………………... 1 1

1.1.1.Шифрующие таблицы……………………………………... 1 1

1.1.2.Применение магических квадратов………………............. 1 4

1.2.Шифры простой замены…………………………………….. 1 5

1.2.1.Система шифрования Цезаря……………………………... 1 6

1.2.2.Аффинная система подстановок Цезаря…………............. 2 0

1.2.3. Система Цезаря с ключевым словом……………………... 2 1

1.2.4. Шифрующие таблицы Трисемуса………………………… 2 3

1.2.5.Биграммный шифр Плейфейра……………………………. 2 4

1.2.6.Криптосистема Хилла………………………………........... 2 6 1.3. Шифры сложной замены…………………………………..... 3 1

1.3.1.Система шифрования Вижинера…………………….......... 3 2

1.3.2. Шифр «двойной квадрат» Уитстона ………………………

3 5

1.3.3. Одноразовая система шифрования…………………..........

3 7

1.3.4. Шифрование методом Вернама……………………………

3 9

1.4. Шифрование методом гаммирования……………………….

4 1

1.4.1. Методы генерации псевдослучайных последовательно-

 

стей чисел…………………………………………………..............

4 2

2. КОНЦЕПЦИЯ КРИПТОСИСТЕМЫ С ОТКРЫТЫМ

5 3

КЛЮЧОМ ………………………………………………………...

 

2.1. Однонаправленные функции………………………………...

5 5

- 98 -

2.2. Криптосистема шифрования данныхRSA………………….

5 7

2.2.1. Процедуры шифрования и расшифрования в криптоси-

 

стеме RSA…………………………………………………..............

6 0

2.2.2. Безопасность и быстродействие криптосистемыRSA …..

6 3

2.3. Схема шифрования Полига-Хеллмана………………………

6 6

2.4. Схема шифрования Эль Гамаля……………………………..

6 6

2.5. Комбинированный метод шифрования…………………….

6 8

3. ПРОБЛЕМА АУТЕНТИФИКАЦИИ ДАННЫХ И ЭЛЕК-

 

ТРОННАЯ ПОДПИСЬ ………………………………………….

7 1

3.1. Однонаправленные хэш-функции…………………………..

7 3

3.1.1. Однонаправленные хэш-функции на основе симметрич-

 

ных блочных алгоритмов ………………………………...............

7 4

3.1.2. Отечественный стандарт хэш-функции…………………..

7 7

3.2. Алгоритмы электронной цифровой подписи…………........

7 8

3.2.1. Алгоритм цифровой подписиRSA …………………..........

7 8

3.2.2. Алгоритм цифровой подписи Эль Гамаля(EGSA) ………

8 2

3.2.3.Алгоритм цифровой подписиDSA ……………………….. 8 5

3.2.4.Отечественный стандарт цифровой подписи………......... 8 8

3.3..Цифровые подписи с дополнительными функциональны-

ми свойствами …………………………………………………….. 9 0

3.3.1.Схемы слепой подписи………………………………......... 9 0

3.3.2.Схемы неоспоримой подписи…………………………….. 9 2

Литература …………………………………………………………... 9 7

- 99 -

УЧЕБНОЕ ИЗДАНИЕ

Александр Петрович Кирпичников Зульфия Минвалеевна Хайбуллина

КРИПТОГРАФИЧЕСКИЕ МЕТОДЫ ЗАЩИТЫ КОМПЬЮТЕРНОЙ ИНФОРМАЦИИ

Ответственный за выпуск проф. А. В. Герасимов

Подписано в печать 23.12.2016

Формат 60´84 1/16

Бумага офсетная

Печать ризографическая

5,81 усл. печ. л.

6,25 уч.-изд. л.

Тираж 100 экз.

Заказ

«С» 283

Издательство Казанского национального исследовательского технологического университета

Отпечатано в офсетной лаборатории Казанского национального исследовательского технологического университета

420015, Казань, К. Маркса, 68

- 100 -

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]