Реферат: Защита информации: цифровая подпись

САНКТ – ПЕТЕРБУРГСКИЙ  ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Факультет  технической  кибернетики

Кафедра информационных и управляющих систем

Реферат

«Цифровая подпись»

Студент Барташевич Е.Е.

Преподаватель Чистяков И.В.

Санкт-Петербург

2001

Содержание


1.     Ассиметричные алгоритмы шифрования. 3

1.1.      Стандарт ассимметричного шифрованияRSA… 4

1.1.1.       Генерация ключей. 4

1.1.2.       Шифрование/расшифрование. 5

1.2.      Алгоритм ЭльГамаля. 6

1.2.1.       Общие сведения. 6

1.2.2.       Шифрование сообщений. 6

1.2.3.       Подтверждение подлинностиотправителя. 6

1.3.      Алгоритм Шамира. 7

1.3.1.       Общее описание. 7

1.3.2.       Передача сообщений. 7

1.3.3.       Пример использования. 8

1.4.      Кpиптосистемы на основе эллиптическихуpавнений. 8

2.     Электронно-цифровая подпись. 9

2.1.      Общие положения. 9

3.     Алгоритм DSA… 10

3.1.      Генерация ЭЦП… 11

3.2.      Проверка ЭЦП… 12

4.     Стандарт на процедуры ЭЦП  ГОСТ Р 34.10-94. 12

4.1.      Генерация ЭЦП… 13

4.2.      Проверка ЭЦП… 13

5.     Цифровые подписи, основанные насимметричных криптосистемах. 13

6.     Атаки на ЭЦП… 22

7.     Некоторые средства работы с ЭЦП… 23

7.1.      PGP. 23

7.2.      GNU Privacy Guard (GnuPG) 24

7.3.      Криптон. 24

7.4.      ВербаО… 24

8.     Литература и ссылки. 26

1.  Ассиметричные алгоритмы шифрования

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

    Основная идея асимметричныхкриптоалгоритмов состоит в том, что для шифрования сообщения используется одинключ, а при дешифровании – другой. Кроме того, процедура шифрования выбранатак, что она необратима даже по известному ключу шифрования – это второенеобходимое условие асимметричной криптографии. То есть, зная ключ шифрования изашифрованный текст, невозможно восстановить исходное сообщение – прочесть егоможно только с помощью второго ключа – ключа дешифрования. А раз так, то ключшифрования для отправки писем какому-либо лицу можно вообще не скрывать – знаяего все равно невозможно прочесть зашифрованное сообщение. Поэтому, ключшифрования называют в асимметричных системах «открытым ключом», а вотключ дешифрования получателю сообщений необходимо держать в секрете – онназывается «закрытым ключом».

Таким образом,  мы избавляемся отнеобходимости решать сложную задачу обмена секретными ключами.

Напрашивается вопрос : «Почему, зная открытый ключ, нельзя вычислитьзакрытый ключ ?» – это третье необходимое условие асимметричнойкриптографии – алгоритмы шифрования и дешифрования создаются так, чтобы знаяоткрытый ключ, невозможно вычислить закрытый ключ.

В целом система переписки прииспользовании асимметричного шифрования выглядит следующим образом. Для каждогоиз N абонентов, ведущих переписку, выбрана своя параключей : «открытый» Ejи «закрытый» Dj, где j – номер абонента. Все открытые ключи известны всемпользователям сети, каждый закрытый ключ, наоборот, хранится только у тогоабонента, которому он принадлежит. Если абонент, скажем под номером 7,собирается передать информацию абоненту под номером 9, он шифрует данные ключомшифрования E9 и отправляет ее абоненту 9.Несмотря на то, что все пользователи сети знают ключ E9и, возможно, имеют доступ к каналу, по которому идет зашифрованное послание,они не могут прочесть исходный текст, так как процедура шифрования необратимапо открытому ключу. И только абонент №9, получив послание, производит над нимпреобразование с помощью известного только ему ключа D9и восстанавливает текст послания. Заметьте, что если сообщение нужно отправитьв противоположном направлении (от абонента 9 к абоненту 7), то нужно будетиспользовать уже другую пару ключей (для шифрования ключ E7,а для дешифрования – ключ D7).

Как мы видим, во-первых, васимметричных системах количество существующих ключей связано с количествомабонентов линейно (в системе из N пользователейиспользуются 2*N ключей), а не квадратично, как всимметричных системах. Во-вторых, при нарушении конфиденциальности k-ой рабочей станции злоумышленник узнает только ключ Dk : это позволяет ему читать все сообщения,приходящие абоненту k, но не позволяет вывадавать себяза него при отправке писем.

1.1.    Стандарт ассимметричного шифрования RSA

  Самым распространеннымалгоритмом ассиметричного шифрования является алгоритм RSA.Он был предложен тремя исседователями-математиками Рональдом Ривестом (R.Rivest), Ади Шамиром (A.Shamir) и Леонардом Адльманом (L.Adleman) в 1977-78 годах. Разработчикам данного алгоритма удалось эффективно воплотить идею одностороннихфункций с секретом. Стойкость RSA базируется на сложности факторизации больших целых чисел.  В 1993 году метод RSA  был обнародован и принят в качестве стандарта (PKCS #1: RSA Encryption standart).RSA можно применять как для шифрования/расшифрования,так и для генерации/проверки электронно-цифровой подписи.

1.1.1.  Генерацияключей

Первым этапом любогоасимметричного алгоритма является создание пары ключей :открытого и закрытого и распространение открытого ключа «по всемумиру». Для алгоритма RSA этап создания ключейсостоит из следующих операций :

Выбираются два простых (!) числа p и q

Вычисляется их произведение n(=p*q)

Выбирается произвольное число e (e<n),такое, что НОД(e,(p-1)(q-1))=1, то есть e должно бытьвзаимно простым с числом (p-1)(q-1).

Методом Евклида решается в целыхчислах (!) уравнение e*d+(p-1)(q-1)*y=1.Здесь неизвестными являются переменные d и y – метод Евклида как раз и находит множество пар (d,y), каждая из которых являетсярешением уравнения в целых числах.

Два числа (e,n) – публикуются как открытый ключ.

Число dхранится в строжайшем секрете – это и есть закрытый ключ, который позволитчитать все послания, зашифрованные с помощью пары чисел (e,n).

1.1.2.  Шифрование/расшифрование

Как же производится собственношифрование с помощью этих чисел :

Отправитель разбивает своесообщение на блоки, равные k=[log2(n)] бит, где квадратные скобки обозначают взятие целой частиот дробного числа.

Подобный блок, как Вы знаете,может быть интерпретирован как число из диапазона (0;2k-1).Для каждого такого числа (назовем его mi)вычисляется выражение ci=((mi)e)mod n. Блоки ci и естьзашифрованное сообщение, и

их можно спокойно передавать пооткрытому каналу, поскольку операция возведения в степень по модулю простогочисла, является необратимой математической задачей. Обратная ей задача носитназвание «логарифмирование в конечном поле» и является на несколькопорядков более сложной задачей. То есть даже если злоумышленник знает числа e и n, то по ciпрочесть исходные сообщения mi он не можетникак, кроме как полным перебором mi.

А вот на приемной стороне процессдешифрования все же возможен, и поможет нам в этом хранимое в секрете число d. Достаточно давно была доказана теорема Эйлера, частныйслучай которой утвержает, что если число n представимов виде двух простых чисел p и q,то для любого x имеет место равенство (x(p-1)(q-1))mod n = 1. Для дешифрования RSA-сообщений воспользуемся этой формулой.

 Возведем обе ее части в степень(-y) : (x(-y)(p-1)(q-1))mod n = 1(-y) = 1.

 Теперь умножим обе ее части на x : (x(-y)(p-1)(q-1)+1)mod n = 1*x = x.

А теперь вспомним как мысоздавали открытый и закрытый ключи. Мы подбирали с помощью алгоритма Евклида d такое, что e*d+(p-1)(q-1)*y=1,то есть e*d=(-y)(p-1)(q-1)+1. А следовательно впоследнем выражении предыдущего абзаца мы можем заменить показатель степени начисло (e*d). Получаем (xe*d)mod n = x. То есть для того чтобы прочесть сообщение ci=((mi)e)mod n достаточно возвести его в степень dпо модулю m :

 ((ci)d)modn = ((mi)e*d)mod n = mi.

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

1.2.    Алгоритм ЭльГамаля1.2.1.  Общиесведения

Криптографы со своей стороны велипоиски более эффективных систем открытого шифрования и в 1985 году Т.Эль-Гамаль(США) предложил следующую схему на основе возведения в степень по модулюбольшого простого числа P.
Задается большое простое число P и целое число A, 1 < A < P.Сообщения представляются целыми числами M изинтервала 1 < M < P.

1.2.2.  Шифрованиесообщений

Протокол передачи сообщения M выглядит следующим образом.

абоненты знают числа A и P;

абоненты генерируют независимодруг от друга случайные числа:

Ka, Kb

удовлетворяющих условию:

1 < K < P

получатель вычисляет и передаётотправителю число B, определяемое последовательностью:

В = A Kb mоd(P)

отправитель шифрует сообщение M и отправляет полученную последовательность получателю

C = M * B Ka mоd(P)

получатель расшифровываетполученное сообщение

D = ( A Ka ) -Kb mоd(P)

M = C * D mоd(P)

В этой системе открытогошифрования та же степень защиты, что для алгоритма RSAс модулем Nиз 200знаков, достигается уже при модуле P из 150знаков. Это позволяет в 5-7 раз увеличить скорость обработки информации.Однако, в таком варианте открытого шифрования нет подтверждения подлинностисообщений.

1.2.3.  Подтверждениеподлинности отправителя

Для того, чтобы обеспечить приоткрытом шифровании по модулю простого числа P также ипроцедуру подтверждения подлинности отправителя Т.ЭльГамаль предложилследующий протокол передачи подписанного сообщения M:

абоненты знают числа A и P;

отправитель генерирует случайноечисло и хранит его в секрете:

Ka

удовлетворяющее условию:

1 < Ka < P

вычисляет и передаёт получателючисло B, определяемое последователньостью:

В = A Ka mоd(P)

Для сообщения M(1 < M < P):

выбирает случайное число L(1 < L < P),удовлетворяющее условию

( L , P - 1 ) = 1

вычисляет число

R = A L mоd(P)

решает относительно S

= Ka * R + L * S mоd(P)

передаёт подписанное сообщение

[ M, R, S ]

получатель проверяет правильностьподписи

A M = ( B R ) * ( R S ) mоd(P)

 

В этой системе секретным ключомдля подписывания сообщений является число X, а открытымключом для проверки достоверности подписи число B.Процедура проверки подписи служит также и для проверки правильностирасшифрования, если сообщения шифруются.

1.3.    Алгоритм Шамира1.3.1.  Общееописание

Еще один интересный примериспользования возведения в степень по модулю большого простого числа P для открытого шифрования предложил А.Shamir(один из авторов RSA). Как и в системе ЭльГамалясообщения M представляются целыми числами из интервала1 < M < P.

1.3.2.  Передачасообщений

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

абоненты знают числа P;

абоненты генерируют независимодруг от друга случайные числа:

Ka, Kb

удовлетворяющих условию:

1 < K < P

отправитель вычисляет значение ипередаёт получателю:

C = M Ka mоd(P)

получатель вычисляет и передаётотправителю число B, определяемое последовательностью:

D = C Kb mоd(P)

отправитель аннулирует свой шифри отправляет полученную последовательность получателю

E=D(X-1) mоd(P) E = D Fa mоd(P)

где:

Fa = Ka -1

получатель расшифровываетполученное сообщение

M = E Fb mоd(P)

где:

Fb = Kb –1

1.3.3.  Примериспользования

Эта процедура ОШ может бытьиспользована, например, для таких «экзотических» целей как игра вкарты по телефону.
Действительно, если игрок A желает «сдать»игроку B, скажем, 5 карт из 52 как при игре в покер, онзашифровывает обозначения всех карт и передает их игроку B:

Ca = Ma Ka mоd(P)

где

I=1,2,..,52

Игрок Bвыбирает из них 5, зашифровывает своим ключом 22 и возвращает игроку А:

Da = Ca Kb mоd(P)

где

I=1,2...,5

Игрок Aснимает с этих 5 карт свой шифр и выдает их игроку B.
Игрок B расшифровывает полученные карты:

Ma = Ea Fb mоd (P)

При этом оставшаяся часть колоды C(6)...C(52) теперь находится уигрока B, но он не может раскрыть эти карты, т.к. онизашифрованы на ключе его партнера A. Остальныепроцедуры игры проделываются аналогично.

1.4.    Кpиптосистемы на основе эллиптических уpавнений

Эллиптические кpивые- математический объект, котоpый может опpеделен над любым полем (конечным, действительным, pациональным или комплексным). В кpиптогpафии обычно используются конечные поля. Эллиптическая кpивая есть множество точек(x,y), удовлетвоpяющееследующему уpавнению:

y2= x3 + ax + b,

а также бесконечно удаленная точка.Для точек на кpивой довольно легко вводится опеpация сложения, котоpая игpает ту же pоль, что и опеpация умножения в кpиптосистемах RSA и Эль-Гамаля.

В pеальныхкpиптосистемах на базе эллиптических уpавненийиспользуется уpавнение

y2= x3 + ax + b modp,

где p — пpостое.

Пpоблемадискpетного логаpифма наэллиптической кpивой состоит в следующем: дана точка G на эллиптической кpивой поpядка r (количество точек на кpивой) и дpугая точка Y на этой же кpивой. Нужно найтиединственную точку x такую, что Y = xG,то есть Y есть х-я степень G.

2.  Электронно-цифровая подпись2.1.    Общие положения

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

-     Гарантирование истинности письма путем сличения подписи с имеющимсяобразцом;

-     Гарантирование авторства документа ( с юридической точки зрения)

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

-     подпись аутентична, то есть с ее помощью получателю документа можнодоказать, что она принадлежит подписывающему;

-     подпись неподделываема; то есть служит доказательством, что только тотчеловек, чей автограф стоит на документе, мог подписать данный документ, иникто иной.

-     Подпись непереносима, то есть является частью документа и поэтомуперенести ее на другой документ невозможно.

-     Документ с подписью является неизменяемым.

-     Подпись неоспорима.

-     Любое лицо, владеющее образцом подписи может удостоверится, что документподписан вледельцем подписи.

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

  Существует несколько методовпосторения ЭЦП, а именно:

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

-     Использование ассиметричных алгоритмов шифрования. Фактом подписаниядокумента является зашифрование его на секретном ключе отправителя.

-     Развитием  предыдущей идеи стала наиболее распространенныя схема ЭЦП –зашифрование окончательного результата обработки ЭД хеш-функцией при помощиассиметричного алгоритма.

Кроме перечисленных, существуют идругие методы построения схем ЭЦП

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

3.  Алгоритм DSA

В 1991 г. в США был опубликованпроект федерального стандарта цифровой подписи — DSS (Digital Signature Standard, [DSS91],описывающий систему цифровой подписи DSA (Digital Signature Algorithm). Одним из основныхкритериев при создании проекта была его патентная чистота.

Предлагаемый алгоритм DSA, имеет, как и RSA,теоретико-числовой характер, и основан на криптографической системе Эль-Гамаляв варианте Шнорра. Его надежность основана на практической неразрешимостиопределенного частного случая задачи вычисления дискретного логарифма. Современныеметоды решения этой задачи имеют приблизительно ту же эффективность, что иметоды решения задачи факторизации; в связи с этим предлагается использоватьключи длиной от 512 до 1024 бит с теми же характеристиками надежности, что и всистеме RSA. Длина подписи в системе DSAменьше, чем в RSA, и составляет 320 бит.

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

Функции DSAограничены только цифровой подписью, система принципиально не предназначена дляшифрования данных. По быстродействию система DSAсравнима с RSA при формировании подписи, но существенно(в 10-40 раз) уступает ей при проверке подписи.

Вместе с проектом DSS опубликован проект стандарта SHS(Secure Hash Standard), описывающийоднонаправленную хэш-функцию SHA (Secure Hash Algorithm), рекомендованную для использования вместе с DSA. Хэш-функция SHA являетсямодификацией алгоритма MD4, хорошо известного вкриптографической литературе.

3.1.    Генерация ЭЦП

При генерации  ЭЦП используютсяпараметры трех групп:

-     общие параметры

-     секретный ключ

-     открытый ключ

Общие параметры необходимы дляфункционирования системы в целом. Секретный ключ используется для формированияЭЦП, а открытый – для проверки ЭЦП. Общими параметрами системы являются простыецелые числа p,q,g, удовлетворяющие следующим условиям:

 p: 2^511<p<2^512

q:простой делитель числа (p-1), который удовлетворяетусловию

2^159<q<2^160

g: такназываемый генератор, удовлетворяющий

равенству g=h^((p-1)/q)modp>1.

Парараметры p,q,g публикуются для всехучастников обмена  ЭД  с ЭЦП.

Секретный ключ xслучайно выбирается из диапазона [1,q] и держится всекрете.

Открытый ключ вычисляется:  y=g^xmod p.

Также при описании данной схемыбудут использоваться следующие обозначения и доролнительные параметры: m – входное сообщение пользователя для схемы с ЭЦП;  k -  случайное число, удовлетворяющее условию  0<k<q, хранящееся в секрете именяющееся от одной подписи к другой; H – хэш-функция, h – хэш-код сообщения.

Процесс генерации ЭЦП состоит изнескольких этапов:

1.Вычисляется хэш-код сообщения m h=H(m)

2.Из диапазона [1,q] случайным образом  выбирается значение kи вычисляется r= (g^kmodp) modq

3. Вычисляется S= (k^-1(h+xr)) modq,где k^-1 удовлетворяет условию

 (k^-1*k) modq =1

Значения r,s являются ЭЦП сообщенияm  и передаются вместе с ним по каналам связи.

3.2.    Проверка ЭЦП

Пусть принято сообщение m1 и его подпись s1,r1.

Проверка ЭЦП происходит следующимобразом:

-     проверяется выполнений условий 0<r1<q, 0<s1<q, и если хотя бы одно из них нарушено, подпись отвергается.

-     Вычисляются значения:

w= s1^-1 modq

u1 = (H(m1)w)mod q

u2 = ((r1/w)mod q

v = ((g^u1y^u2) mod p ) mod q

-     проверяется равенство v = r1

Если последнее равенствовыполняется, то подпись принимается. В данном стандарте специфицируется такжепроцедура генерации основных параметров системы и проводится доказательствотого, что если v=r1, то m1=m, r1=r, s1=s.

4.   Стандарт на процедуры ЭЦП  ГОСТ Р 34.10-94

Отечественным стандартом напроцедуры выработки и проверки ЭЦП является ГОСТ  Р 34.10-94. Схема ЭЦП,предложенная в данном стандарте, во многом напоминает подпись в DSA.

Цифровая подпись представляетсобой два больших целых простых  числа. Общедоступные параметры схемы ЭЦП  (p,q,a) должныудовлетворять следующим условиям:

 p:2^501<p<2^512  или 2^1020<p<2^1020

q:простой делитель числа (p-1), который удовлетворяет

    условию 2^254<q<2^256

a:1<a<p-1, a^q(mod p) =1

Секретный ключ xслучайно выбирается из диапазона [1,q] и держится всекрете.

Открытый ключ вычисляется:  y=a^xmod p.

4.1.    Генерация ЭЦП

Процесс генерации ЭЦП состоит изнескольких этапов:

1.Вычисляется хэш-код сообщения m h=H(m)

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

ГОСТ Р 34.10-94), если h(m)(mod p) = 0,  то h(m) присваевается значение 0…02551

2.Из диапазона [1,q] случайным образом  выбирается значение k

3. вычисляется r=(a^kmodp), r1=r(modp); если r1=0, следует вернутьсяк предыдущему этапу и выработать другое значение  k.

3. Вычисляется s= (xr1+kh(m))(modp);если s=0, то необходимо выработать другое значение k.

Значения r1,s1 являются ЭЦПсообщения m  и передаются вместе с ним по каналамсвязи.

4.2.    Проверка ЭЦП

Проверка ЭЦП происходит следующимобразом:

-     проверяется выполнений условий 0<r<q, 0<s<q, и если хотя бы одно из них нарушено, подписьотвергается.

-     Вычисляется хэш-код данного сообщения  h=H(m); Если h(m)(mod p) = 0, то битовое представление h(m): 0…02551

-     Вычисляется значение  v=(h(m))^q-2(modp).

-     Вычисляется значения z1=sv(modp); z2=(q-r1)v(modp).

-     Вычисляется значение u=(a^z1y^z2(modp))(modq)

-     проверяется равенство u= r1

Если последнее раенствовыполняется, то подпись принимается.

/>5.   Цифровыеподписи, основанные на симметричных криптосистемах

На первый взгляд, сама эта идея может показаться абсурдом.Действительно, общеизвестно, что так называемая «современная», она жедвухключевая криптография возникла и стала быстро развиваться в последниедесятилетия именно потому, что ряд новых криптографических протоколов типапротокола цифровой подписи не удалось эффективно реализовать на базе традиционныхкриптографических алгоритмов, широко известных и хорошо изученных к томувремени. Тем не менее, это возможно. И первыми, кто обратил на это внимание,были родоначальники криптографии с открытым ключом У. Диффи и М. Хеллман,опубликовавшие описание подхода, позволяющего выполнять процедуру цифровойподписи одного бита с помощью блочного шифра. Прежде чем изложить эту идею,сделаем несколько замечаний о сути и реализациях цифровой подписи.

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

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

Всего пару десятилетий назад, на заре криптографии с открытымключом считалось, что для реализации схемы подписи RSAдостаточно даже 128-битовых чисел. Сейчас эта граница отодвинута до1024-битовых чисел – практически на порядок, – и это далеко еще не предел. Этоприводит к необходимости переписывать реализующие схему программы, и зачастуюперепроектировать аппаратуру.

Ничего подобного не наблюдается в области классическихблочных шифров, если не считать изначально ущербного и непонятного решениякомитета по стандартам США ограничить размер ключа алгоритма DES 56-ю битами, тогда как еще во время обсужденияалгоритма предлагалось использовать ключ большего размера. Схемы подписи,основанные на классических блочных шифрах, свободны от указанных недостатков:

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

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

Итак, вернемся к схеме Диффи и Хеллмана подписи одного битасообщения с помощью алгоритма, базирующегося на любом классическом блочномшифре. Предположим, в нашем распоряжении есть алгоритм зашифрования EK, оперирующий блоками данных X размера n и использующийключ размером nK: |X|=n, |K|=nK. Структураключевой информации в схеме следующая: секретный ключ подписи kS выбираетсякак произвольная (случайная) пара ключей k0,k1 используемого блочного шифра:

kS=(k0,k1);

Таким образом,размер ключа подписи равен удвоенному размеру ключа использованного блочногошифра:

|KS|=2|K|=2nK.

Ключ проверкипредставляет собой результат шифрования двух блоков текстаXX1 с ключами kk1соответственно:

kV=(C0,C1) = />

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

|kV|=2|X|=2n.

Алгоритм Sig выработкицифровой подписи для бита t (t О{0,1})заключается просто в выборе соответствующей половины из пары, составляющейсекретный ключ подписи:

s=S(t)= kt.

Алгоритм Ver проверки подписисостоит в проверке уравнения Ekt(Xt)=Ct, которое, очевидно, должновыполняться для нашего t. Получателю известнывсе используемые при этом величины.

Таким образом, функция проверки подписи будет следующей:

/>.

Покажем, что данная схема работоспособна, для чего проверимвыполнение необходимых свойств схемы цифровой подписи:

1.   Невозможностьподписать бит t, если неизвестен ключ подписи.Действительно, для выполнения этого злоумышленнику потребовалось бы решитьуравнение Es(Xt)=Ct относительно s,что эквивалентно определению ключа для известных блоков шифрованного исоответствующего ему открытого текста, что вычислительно невозможно в силуиспользования стойкого шифра.

2.   Невозможностьподобрать другое значение бита t, котороеподходило бы под заданную подпись, очевидна: число возможных значений битавсего два и вероятность выполнения двух следующих условий одновременнопренебрежимо мала в просто в силу использования криптостойкого алгоритма:

Es(X0)=C0,
Es(X1)=C1.

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

Первый недостаток заключается в том, что данная схемапозволяет подписать лишь один бит информации. В блоке большего размера придетсяотдельно подписывать каждый бит, поэтому даже с учетом хэширования сообщениявсе компоненты подписи – секретный ключ, проверочная комбинация и собственноподпись получаются довольно большими по размеру и более чем на два порядкапревосходят размер подписываемого блока. Предположим, что в схеме используетсякриптографический алгоритм EK сразмером блока и ключа, соответственно n и nK. Предположим также, что используетсяфункция хэширования с размером выходного блока nH. Тогда размеры основных рабочих блоков будут следующими:

размер ключа подписи: nkS=2nHЧnK.

размер ключа проверки подписи: nС=2nHn.

размер подписи: nS<sub/>=nHЧnK.

Если, например, в качестве основы в данной схеме будетиспользован шифр ГОСТ 28147–89 с размером блока n=64  бита и размером ключа nK=256 бит, и для выработки хэш–блоков будет использован тот жесамый шифр в режиме выработки имитовставки, что даст размер хэш–блока  nH=64 то размеры рабочих блоков будут следующими:

размер ключа подписи: nkS=2nHЧnK =2Ч64Ч256бит=4096байт;

размер ключа проверки подписи: nС=2nHn = 2Ч64Ч64 бит = 1024 байта.

размер подписи: nS<sub/>=nHЧnK = 64Ч256 бит = 2048 байт.

Второй недостаток данной схемы, быть может, менее заметен,но столь же серьезен. Дело в том, что пара ключей выработки подписи и проверкиподписи могут быть использованы только один раз. Действительно, выполнениепроцедуры подписи бита сообщения приводит к раскрытию половины секретногоключа, после чего он уже не является полностью секретным и не может бытьиспользован повторно. Поэтому для каждого подписываемого сообщения необходимсвой комплект ключей подписи и проверки. Это практически исключает возможностьиспользования рассмотренной схемы Диффи–Хеллмана в первоначально предложенном вариантев реальных системах ЭЦП.

Однако, несколько лет назад Березин и Дорошкевич предложилимодификацию схемы Диффи–Хеллмана, фактически устраняющую ее недостатки.

Центральным в этом подходе является алгоритм «одностороннейкриптографической прокрутки», который в некотором роде может служить аналогомоперации возведения в степень. Как обычно, предположим, что в нашемраспоряжении имеется криптографический алгоритм EKс размером блока данных и ключа соответственно nи nK бит, причем nЈnK

Пусть в нашем распоряжении также имеется некоторая функцияотображения n–битовых блоков данных в nK–битовые Y=Pn®nK(X), |X|=n,  |Y|=nK. Определим рекурсивнуюфункцию Rk «одностороннейпрокрутки» блока данных T размером n бит k раз (k і 0) при помощи следующей формулы:

/>

где X –произвольный несекретный n-битовый блок данных, являющийся параметромпроцедуры прокрутки.

По своей идее функция односторонней прокрутки чрезвычайно проста, надовсего лишь нужное количество раз (k) выполнить следующие действия:расширить n-битовый блок данных T до размера ключаиспользованного алгоритма шифрования (nK), на полученномрасширенном блоке как на ключе зашифровать блок данных X, результат зашифрованиязанести на место исходного блока данных  (T).По определению операция  Rk(T) обладает двумя важными для нас свойствами:

1.   Аддитивность икоммутативность по числу прокручиваний:

Rk+k'(T)=Rk'(Rk(T))= Rk(Rk'(T)).

2.   Односторонностьили необратимость прокрутки: если известно только некоторое значение функции Rk(T), то вычислительно невозможно найти значение Rk'(T) для любого  k'<k  –  если бы это было возможно, в нашем распоряжении былбы способ определить ключ шифрования по известному входному и выходному блокуалгоритма EK. что противоречитпредположению о стойкости шифра.

Теперь покажем, как указанную операцию можно использоватьдля подписи блока T, состоящего из nT битов.

Секретный ключ подписи kSвыбирается как произвольная пара блоков k0,k1, имеющих размер блока данныхиспользуемого блочного шифра, т.е. размер ключа выработки подписи равенудвоенному размеру блока данных использованного блочного шифра: |kS|=2n;

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

kC=(C0,C1)= (R2nT–1(K0),R2nT–1(K1)).

В этих вычисленияхтакже используются несекретные блоки данных XX1,являющиеся параметрами функции «односторонней прокрутки», они обязательнодолжны быть различными. Таким образом, размер ключа проверки подписи такжеравен удвоенному размеру блока данных использованного блочного шифра: |kC|=2n.

Вычисление ипроверка ЭЦП будут выглядеть следующим образом:

Алгоритм SignT выработки цифровойподписи для  nT-битового блока T заключается ввыполнении «односторонней прокрутки» обеих половин ключа подписи T и 2nT–1–Tраз соответственно:

s=SignT(T)=(s0,s1)=/>.

Алгоритм VernT проверки подписи состоит в проверке истинности соотношений />, которые, очевидно, должнывыполняться для подлинного блока данных  T:

R2nT–1–T(s0)=R2nT–1–T(RT(k0))=R2nT–1–T+T(k0)=R2nT–1(k0)=C0,
RT(s1)=RT(R2nT–1–T(k1))=RT+2nT–1–T(k1)=R2nT–1(k1)=C1.

Такимобразом, функция проверки подписи будет следующей:

/>

Покажем, что для данной схемы выполняются необходимыеусловия работоспособности схемы подписи:

Предположим, что в распоряжении злоумышленника есть nT-битовый блок T,его подпись s=(s0,s1),и ключ проверки  kC=(C0,C1). Пользуясь этой информацией, злоумышленникпытается найти правильную подпись s'=(s'0,s'1)  для другого nT-битового блока T'.Для этого ему надо решить следующие уравнения относительно s's'1:

R2nT–1–T'(s'0)=C0,
RT'(s'1)=C1.

В распоряжении злоумышленника есть блок данных Tс подписью s=(s0,s1),что позволяет ему вычислить одно из значений s'0,s'1, даже не владея ключом подписи:

(a)   если T<T', то s'0=RT'(k0)=RT'–T(RT(k0))=RT'–T(s0),

(b)   если T>T', то s'1=R2nT–1–T'(k1)=RT–T'(R2nT–1–T(k1))=RT–T'(s1).

Однако для нахождения второй половины подписи (s's'0в случаях (a) и (b) соответственно)ему необходимо выполнить прокрутку в обратную сторону, т.е. найти Rk(X), располагая только значением для большего k, что является вычислительно невозможным. Таким образом,злоумышленник не может подделать подпись под сообщением, если не располагаетсекретным ключом подписи.

Второе требование также выполняется: вероятность подобратьблок данных T', отличный от блока T, но обладающий такой же цифровой подписью, чрезвычайномала и может не приниматься во внимание. Действительно, пусть цифровая подписьблоков T и T'совпадает. Тогда подписи обоих блоков будут равны соответственно:

s=SnT(T)=(s0,s1)=(RT(k0),  R2nT–1–T(k1)),
s'=SnT(T')=(s'0,s'1)=(RT'(k0),  R2nT–1–T'(k1)),

но s=s',следовательно:

RT(k0)=RT'(k0) иR2nT–1–T(k1)=R2nT–1–T'(k1).

Положим для определенности TЈT',тогда справедливо следующее:

RT'–T(k0*)=k0*,RT'–T(k1*)=k1*, где k0*=RT(k0),k1*=R2nT–1–T'(k1)

Последнее условие означает, что прокручивание двух различныхблоков данных одно и то же число раз оставляет их значения неизменными.Вероятность такого события чрезвычайно мала и может не приниматься во внимание.

Таким образом рассмотренная модификация схемы Диффи–Хеллманаделает возможным подпись не одного бита, а целой битовой группы. Это позволяетв несколько раз уменьшить размер подписи и ключей подписи/проверки даннойсхемы. Однако надо понимать, что увеличение размера подписываемых битовых группприводит к экспоненциальному росту объема необходимых вычислений и начиная снекоторого значения делает работу схемы также неэффективной. Граница «разумногоразмера» подписываемой группы находится где-то около десяти бит, и блокибольшего размера все равно необходимо подписывать «по частям».

Теперь найдем размеры ключей и подписи, а также объемнеобходимых для реализации схемы вычислений. Пусть размер хэш–блока и блокаиспользуемого шифра одинаковы и равны n, аразмер подписываемых битовых групп равен nT.Предположим также, что если последняя группа содержит меньшее число битов,обрабатывается она все равно как полная nT-битоваягруппа. Тогда размеры ключей подписи/проверки и самой подписи совпадают и равныследующей величине:

/> бит,

где йxщобозначает округление числа x до ближайшего целого в сторонувозрастания. Число операций шифрования EK(X), требуемое для реализации процедурсхемы, определяются нижеследующими соотношениями:

при выработке ключевой информации оно равно:

/>,

при выработке и проверке подписи оно вдвое меньше:

/>.

Размер ключа подписи и проверки подписи можно дополнительноуменьшить следующими приемами:

1.   Нетнеобходимости хранить ключи подписи отдельных битовых групп, их можнодинамически вырабатывать в нужный момент времени с помощью генератора криптостойкойгаммы. Ключом подписи в этом случае будет являться обычный ключ использованногов схеме подписи блочного шифра. Например, если схема подписи будет построена наалгоритме ГОСТ 28147-89, то размер ключа подписи будет равен 256 битам.

2.   Аналогично, нетнеобходимости хранить массив ключей проверки подписи отдельных битовых группблока, достаточно хранить его значение хэш-функции этого массива. При этомалгоритм выработки ключа подписи и алгоритм проверки подписи будут дополненыеще одним шагом – вычислением хэш-функции массива проверочных комбинацийотдельных битовых групп.

Таким образом, проблема размера ключей и подписи решена,однако, второй недостаток схемы – одноразовость ключей – не преодолен,поскольку это невозможно в рамках подхода Диффи–Хеллмана.

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

Такой подход решил бы проблему размера хранимых ключей, нопривел бы к необходимости вместе подписью каждого сообщения высылатьнедостающие N–1 проверочных комбинаций,необходимых для вычисления хэш-функции массива всех контрольных комбинацийотдельных сообщений. Ясно, что такой вариант не обладает преимуществами посравнению с исходным.

Упомянутыми выше авторами был предложен механизм,позволяющий значительно снизить остроту проблемы. Его основная идея – вычислятьконтрольную комбинацию (ключ проверки подписи) не как хэш-функцию от линейногомассива проверочных комбинаций всех сообщений, а попарно – с помощью бинарногодерева. На каждом уровне проверочная комбинация вычисляется как хэш-функция отконкатенации двух проверочных комбинаций младшего уровня. Чем выше уровенькомбинации, тем больше отдельных ключей проверки «учитывается» в ней.

Предположим, что наша схема рассчитана на 2L сообщений. Обозначим через /> i-тую комбинацию  l-тогоуровня. Если нумерацию комбинаций и уровней начинать с нуля, то справедливоследующее условие: 0 Ј i< 2L–li-ая проверочная комбинация l-того уровня рассчитана на 2lсообщений с номерами от  iЧ2lдо (i+1)Ч2l–1 включительно. Число комбинаций нижнего, нулевого уровня равно 2L, а самого верхнего, L-тогоуровня – одна, она и является контрольной комбинацией всех 2L сообщений, на которые рассчитана схема.

На каждом уровне, начиная с первого, проверочные комбинациирассчитываются по следующей формуле:

/>,

где через A||Bобозначен результат конкатенации двух блоков данных A и B, ачерез H(X) – процедуравычисления хэш-функции блока данных X.

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

Пример организации проверочных комбинаций в виде двоичногодерева в схеме на восемь сообщений при­ведена на рисунке 4.1. Так, при передачесообще­ния № 5 (контрольная комбинация выделена рамкой) вместе с его под­письюдолжны быть переданы кон­трольная комбинация сообщения № 4 (C4(0)), общая для сообщений №№ 6–7 (C3(1)) и общая для сообще­ний №№0–3 (C0(2)), все они выделе­ны на рисунке другим фоном. />/>

/>При проверке подписизначение C5(0) будет вычислено из сообщения и его подписи, аитоговая контрольная комбинация, подлежащая сравнению с эталонной, по следующейформуле:

C=C0(3)=H(C0(2)||H(H(C4(0)||C5(0))||C3(1))).

Необходимость отправлять вместе с подписью сообщениядополнительную информацию, нужную для проверки подписи, на самом деле не оченьобременительна. Действительно, в системе на 1024=210 подписей вместес сообщением и его подписью необходимо дополнительно передавать 10 контрольныхкомбинаций, а в системе на 1048576=220подписей – всего 20 комбинаций. Однако, при большом числе подписей, на которыерассчитана система, возникает другая проблема – хранение дополнительныхкомбинаций, если они рассчитаны предварительно, или их выработка в моментформирования подписи.

Дополнительные контрольные комбинации, которые передаютсявместе с подписью и используются при ее проверке, вырабатываются приформировании ключа проверки по ключу подписи и могут храниться в системе ииспользоваться в момент формирования подписи, либо вычисляться заново в этотмомент.

Первый подход предполагает затраты дисковой памяти, так какнеобходимо хранить 2L+1–2значений хэш-функции всех уровней, а второй требует большого объема вычисленийв момент формирования подписи. Можно использовать и компромиссный подход –хранить все хэш-комбинации начиная с некоторого уровня  l*,а комбинации меньшего уровня вычислять при формировании подписи.

В рассмотренной выше схеме подписи на 8 сообщений можнохранить все 14 контрольных комбинаций, используемых при проверки (всего их 15,но самая верхняя не используется), тогда при проверке подписи их не надо будетвычислять заново. Можно хранить 6 комбинаций начиная с уровня 1 (C0(1), C1(1), C2(1), C3(1), C0(2), C1(2)), тогдапри проверке подписи сообщения № 5 необходимо будет заново вычислить комбинациюC4(0), а остальные(C0(2),C3(1)) взять изтаблицы, и т.д… Указанный подход позволяет достичь компромисса междубыстродействием и требованиям к занимаемому количеству дискового пространства.

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

6.  Атаки на ЭЦП

Стойкость большинства схем ЭЦП зависит от стойкостиассиметричных алгоритмов шифрования и хэш-функций.

Существует следующая классификация атак на схемы ЭЦП:

-            атака с известыи открытым ключем.

-            Атака и известными подписанными сообщениями – противник, кроме открытогокюча имеет и набор подписанных сообщений.

-            Простая атака с выбором подписанных сообщений – противник имеетвозможность выбирать сообщения, при этом открытый ключ он получает после выборасообщения.

-            Направленная атака с выбором сообщения

-            Адаптивная атака с выбором сообщения.

Каждая атака преследует определенную цель, которые можноразделить на несколько классов:

-            полное раскрытие. Противник находит секретный ключ пользователя

-            универсальная подделка.  Противник находит алгоритм,  функциональноаналогичный  алгоритму генерации ЭЦП

-            селективная подделка. Подделка подписи под выбранным сообщением.

-            Экзистенциальная подделка. Подделка подписи хотя бы для одного случайно выбранного сообщения.

На практике применение  ЭЦПпозволяет выявить или предотвратить  следующие действия нарушителя:

-            отказ одного из участников авторства документа.

-            Модификация принятого электронного документа.

-            Подделка документа.

-            Навязывание сообщений в процессе передачи – противник перехватываетобмен сообщениями и модифицирует их.

-            Имитация передачи сообщения.

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

7.  Некоторые средства работы с ЭЦП

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

Приведем некоторые из них:

7.1.    PGP

Наиболее известный — это пакет PGP (Pretty Good Privacy) – (www.pgpi.org ), без сомнений являетющийсяна сегодня самым распространенным программным продуктом, позволяющимиспользовать современные надежные криптографические алгоритмы для защитыинформации в персональных компьютерах.

К основным преимуществам данного пакета, выделяющим егосреди других аналогичных продуктов следует отнести следующие:

1. Открытость. Исходный код всех версий программ PGP доступен в открытом виде. Любой эксперт может убедиться втом, что в программе эффективно реализованы криптоалгоритмы. Так как сам способреализации известных алгоритмов был доступен специалистам, то открытостьповлекла за собой и другое преимущество — эффективность программного кода.

2. Стойкость. Для реализации основных функцийиспользованы лучшие (по крайней мере на начало 90-х) из известных алгоритмов,при этом допуская использование достаточно большой длины ключа для надежнойзащиты данных

3.   Бесплатность.Готовые базовые продукты PGP (равно как и исходныетексты программ) доступны в Интернете в частности на официальном сайте PGP Inc.

 ( www.pgpi.org ).

4. Поддержка как централизованной (через серверыключей) так и децентрализованной (через «сеть доверия») моделираспределения открытых ключей.

5.Удобство программного интерфейса. PGPизначально создавалась как продукт для широкого круга пользователей, поэтомуосвоение основных приемов работы отнимает всего несколько часов

Текущая версия – 7.0.3 для платформ Windows9x/NT/2000, MacOS.

7.2.    GNU Privacy Guard (GnuPG)

GnuPG  (www.gnupg.org ) — полная и свободнораспространяемая замена для пакета PGP. Этот пакет неиспользует патентованый алгоритм IDEA, и поэтому можетбыть использован без каких-нибудь ограничений. GnuPGсоответсвует стандарту RFC2440 (OpenPGP).

Текущая версия – 1.0.4, платформы – Unices,Windows 9x/NT

7.3.    Криптон

Пакет программ КРИПТОН®Подпись 

(http://www.ancud.ru/crypto/crpodpis.htm )предназначен дляиспользования электронной цифровой подписи (ЭЦП) электронных документов.

Программы пакета КРИПТОН®Подпись функционируют накомпьютере, удовлетворяющем следующим требованиям:

наличие операционной системы Windows-95/98 или Windows NT 4.0; наличие УКЗД серии КРИПТОН с соответствующим драйвером для Windows-95/98/NT или его программного драйвера-эмулятора для Windows — Crypton Emulator версии 1.3 или выше. наличие Crypton API для Windows версии 2.2 или выше (входит в поставку УКЗД серии КРИПТОН и содержит также драйвер поставляемого УКЗД); наличие манипулятора «мышь».

В стандартной поставке для хранения файлов открытых ключейиспользуются дискеты. Помимо дискет, пакет КРИПТОН®Подпись дает возможностьиспользования всех типов ключевых носителей (смарт-карт, электронных таблеток Touch Memoryи др.), поддерживаемых текущей версией интерфейса SCApi,входящего в поставку Crypton API v2.2 и выше.

7.4.    ВербаО

( www.ntc.spb.ru/def/verbao.htm )

 

Система криптографической защиты информации «Верба — О»

Система криптографической защиты информации (СКЗИ) «Верба — О» разработана Московским отделением Пензенского научно — исследовательского электротехнического института (МО ПНИЭИ), полномочным представителем которого в регионе является наш филиал.

СКЗИ «Верба-О» представляет собой программный комплекс, предназначенный для защиты информации при ее хранении на дисках и (или) передаче по каналам связи. СКЗИ «Верба — О» решает следующие задачи:

шифрование/расшифрование информации на уровне файлов; генерацию электронной цифровой подписи (ЭЦП); проверку ЭЦП; обнаружение искажений, вносимых злоумышленниками или вирусами в защищаемую информацию.

СКЗИ «Верба — О» может поставляться в следующих вариантах:

в виде автономного рабочего места; в виде модулей, встраиваемых в ПО заказчика.

СКЗИ «Верба — О» в различных модификациях функционирует под управлением операционных систем MS DOS v5.0 и выше, Windows95, Windows NT, UNIX (HP UX) на персональных ЭВМ, совместимых с IBM PC/ AT. Требуемый объем оперативной памяти не более 155 Кбайт. Кроме того, необходим накопитель на гибком магнитном диске (НГМД).

Алгоритм шифрования выполнен в соответствии с требованиями ГОСТ 28147-89 «СИСТЕМЫ ОБРАБОТКИ ИНФОРМАЦИИ. ЗАЩИТА КРИПТОГРАФИЧЕСКАЯ». Цифровая подпись выполнена в соответствии с требованиями ГОСТ Р34.10-94 «ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ. КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ. ПРОЦЕДУРЫ ВЫРАБОТКИ И ПРОВЕРКИ ЭЛЕКТРОННОЙ ЦИФРОВОЙ ПОДПИСИ НА БАЗЕ АССИМЕТРИЧНОГО КРИПТОГРАФИЧЕСКОГО АЛГОРИТМА.» Функция хэширования выполнена в соответствии с требованиями ГОСТ Р 34.11-94 «ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ. КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ. ФУНКЦИЯ ХЭШИРОВАНИЯ».

Ключи шифрования симметричные. Ключи для подписи асимметричные.

При обработке информации на ПЭВМ СКЗИ «Верба — О» обеспечивает следующие показатели:

Операции

PC/AT 486/33, ISA PC/AT 486/100 VESA Шифрование 200 Кб/с 520 Кб/с Вычисление хэш-функции 120 Кб/с 330 Кб/с Формирование ЭЦП 0.3с 0.04 с Проверка ЭЦП 0.7 с 0.2 с

СКЗИ «Верба — О» имеет сертификат ФАПСИ № 124-0264 от 10.04.99г.

8.  Литература и ссылки

1. Петров А.А

  Компьютерная безопасность. Криптографические   методызащиты. ДМК

   Москва, 2000 г.

2.  «Методы и средства защиты информации» (курслекций)

  Авторские права: Беляев А.В.

 (http://www.citforum.ru/internet/infsecure/index.shtml)

3. Криптография

  (http://www.citforum.ru/internet/securities/crypto.shtml)

4. www.e-sign.ru

5. Александр Володин  «Кто заверит ЭЦП»

   — журнал «Банковские системы» — ноябрь 2000

    (http://www.bizcom.ru/system/2000-11/04.html)

6. Теоретические основы — Безопасность информационных систем–

    Криптографические системы

     (http://argosoft.webservis.ru/Base/Crypt.html#Механизмы шифрования )

7.  Криптографические алгоритмы с открытым ключом

(http://argosoft.webservis.ru/Base/RSAintro.html#Криптографическиеалгоритмы с открытым ключом)

8. Совpеменные кpиптогpафические методы защиты инфоpмации –

 Системы с откpытым ключом

   ( ppt.newmail.ru/crypto04.htm#Heading20 )

9. Криптография с открытым ключом: от теории к стандарту

    А.Н.Терехов, А.В.Тискин
   «Программирование РАН», N 5(сентябрь-октябрь), 1994, стр. 17--22

   (http://www1.tepkom.ru/users/ant/Articles/Pkcstand.html)

10. Баричев С.Г., Гончаров В.В.,Серов Р.Е.

     Основы современной криптографии –  Москва,  Горячаялиния – Телеком, 2001

   

еще рефераты
Еще работы по информатике, программированию