КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Решаем четыре системы сравнений 5 страница
Этот протокол легко обобщается на большее количество участников, скажем n. И тогда можно рассмотреть задачу минимизации количества контактов сторон между собой при выработке общего секретного ключа. По способу вычисления ключа рассмотренный протокол носит название протокола экспоненциального обмена ключами.
2. Протокол электронной подписи. Боб, обмениваясь посланиями с Алисой, может иметь и других адресатов своих эпистолий. То же можно сказать и об Алисе. Поэтому каждое письмо того и другого (обходя вопросы этического характера) должно быть подписано. Подпись решает две задачи. Первая состоит в том, что идентифицируется сторона, пославшая сообщение, а вторая – в том, что подписывается именно тот текст, который пересылается. Второе особенно важно, когда подписываются финансовые документы. Остановимся кратко на второй задаче. Во-первых, такая задача может быть решена, если воспользоваться какой-нибудь асимметричной системой. Пусть это будет RSA. Обозначив через Е
1) Алиса, подписывая сообщение х, вычисляет у = Е 2) Боб, получив у, вычисляет х = Е Боб, прочитав сообщение х, вправе рассчитывать на то, что оно послано Алисой, ибо применяя общеизвестный алгоритм Е
Общая схема цифровой подписи – это тройка алгоритмов (G, S, V).
G – полиномиальный вероятностный алгоритм генерирования ключей. С его помощью каждый из абонентов информационной сети получает в свое распоряжение пару (К справочник, а К S – полиномиальный алгоритм генерирования подписей. На входе (х, К пересылаемое сообщение, алгоритм S выдает подпись s для сообщения х. V – полиномиальный алгоритм проверки подписи. Если V (K под сообщением х принимается, если же V (K всегда для подписи s, сгенерированной с помощью ключа К должно быть V (K Противник, который захотел бы подделать подпись под данным сообщением может располагать разными по важности сведениями об используемой системе. Опишем некоторые виды атак на электронную подпись. Подделка подписи называется ее фальсифицированием. Поэтому сначала перечислим возникающие угрозы фальсифицирования цифровой подписи.
Экзистенциональное фальсифицирование. Существует сообщение х, подпись которого противник может подделать (причем неважно, имеет ли оно для него какой-либо смысл). Выборочное фальсифицирование. Противник способен подделать подпись некоторых сообщений по своему выбору. Универсальное фальсифицирование. Противник может подделать подпись под любым сообщением, хотя и не знает секретного ключа. Слом системы подписи. Противник в состоянии получить секретный ключ.
Учитывая, что алгоритмы генерирования ключей, генерирования подписи и проверки подписи считаются известными противнику, укажем на следующие виды атак. Атака по ключу. Противник знает только открытый ключ К Атака по известной подписи. Противник знает пару (х, s), где s – подпись под сообщением х, выработанная при помощи алгоритма S на секретном ключе К Атака с выбором сообщения. Противник имеет возможность выбрать по собственному усмотрению некоторое количество сообщений х i = 1, …, n получить подпись s
Так как подписываемые тексты могут быть весьма объемными, то бывает, что текст разбивается на блоки, и каждый блок подписывается отдельно. Но это тоже не очень удобно. Решает проблему использование хэш-функций. Их еще называют сжимающими. Под хэш-функцией понимаем, как уже говорилось, криптографическую функцию H от сообщения х произвольной длины, которому сопоставляется хэш-код сообщения H (x) фиксированного размера (обычно 128 или 160 бит). Использование хэш-функций в системах электронной подписи сводится к тому, что подписывается не само сообщение, а его хэш-код. Напомним здесь и два важных свойства хэш-функции: 1) Функция H эффективно вычислима для любого сообщения х, но по данному значению H вычислительно неосуществимо нахождение отвечающего ему сообщения х. 2) Вычислительно неосуществимо нахождение двух различных сообщений х для которых совпадали бы значения H, т. е. H (x Надо отметить, что ввиду сжатия текста, пары различных сообщений, имеющих общий хэш-код, существуют. Их (теоретически) можно найти полным перебором. Эти пары называются коллизиями. Поэтому, учитывая записанное выше свойство хэш-функции, ее называют бесколлизионной. Так как хэш-функция – это достаточно хитроумный элемент схем цифровой подписи, то приведем простой пример, основанный на системе RSA, как описано выше. Пусть Алиса посылает следующий текст: «DON’T EAT SWEETS BEFORE DINNER. ALICE.» Переведем его в цифровой текст, используя теперь 30-символьный алфавит. Получим: х = «0314 1329 1926 0400 1926 1822 0404 1918 2601 0405 1417 0426 0308 1313 0417 2826 0011 0802 0428» Пусть заданы простые числа р = 3767 и q = 4111. Их произведение n = 15486137. Значение функции Эйлера D 03140428 01665248 00532433 04104532 13938145 02945774 09309208 09681573 07820757 13096773 04367025 08149343». А затем вычисляет Е 08389990 09031807 04884302 03172873 00695649 07422563 12233388 14578612 15419663 02390840 00904683 03569801» и посылает полученное Бобу. Боб применяет к указанной строке текста сначала алгоритм D Е Е Приписанные слева нули дополняют изначальный блок длины четыре до блока длины восемь, ибо длина параметра n равна восьми. Системы цифровой подписи допускают вероятностную модификацию. В вероятностных системах алгоритм S является не детерминированным, а вероятностным. Он продуцирует подпись, которая оказывается случайной величиной. Рассмотрим одну из таких систем – систему ЭльГамала. В ней процедура генерирования ключей такая же, как и в соответствующей криптосистеме. Сохраняя предыдущие обозначения для ключей и открытого текста, опишем кратко алгоритмы подписывания и проверки.
4. Схема электронной подписи ЭльГамала. Подписывание. Алиса вырабатывает свою подпись S под сообщением М таким образом: 1) выбирает случайное число 2) вычисляет 3) вычисляет 4) вычисляет 5) полагает
Подтверждение подписи. Боб проверяет справедливость сравнения
Корректность процедуры вытекает непосредственно из правил построения
Рассмотрим теперь еще один вероятностный вариант схемы цифровой подписи с модифицированной системой ключей по отношению к системе ЭльГамала..
3. Схема электронной подписи Шнорра. Система была предложена К. Шнорром (Schnorr C. P.). Пусть р – большое простое число и q – простое, делящее р – 1, и пусть g Набор ключей Алисы выглядит так: открытый ключ: h; секретный ключ: а. Алгоритм подписывания использует некоторую хэш-функцию H и состоит из следующих шагов: 1)Алиса (подписывающая сторона) выбирает случайное число k от 1 до q -1 и вычисляет r = g 2)Алиса вычисляет е = H (rx), где х – подписываемое сообщение, а rx означает результат конкатенации r и х. 3)Алиса вычисляет s = k + аe (mod q) и посылает сообщение х с подписью (e, s) Бобу (проверяющая сторона). 4)Боб вычисляет величину
Стойкость системы Шнорра в значительной степени зависит от свойств функции H. Если противник умеет находить коллизии для H, то он сможет осуществлять экзистенциональную подделку подписи. В настоящее время неизвестны методы доказательства стойкости для практических схем электронной подписи.
5. Схема ECDSA (Elliptic Curve Digest Signature Algorithm). Рассмотрим еще алгоритм ECDSA – алгоритм цифровой подписи на эллиптической кривой, принятый, например, в Германии в качестве государственного стандарта.
Алгоритм генерирования ключей. 1) Выбирают эллиптическую кривую Е, определяемую над 2) Выбирают точку 3) Выбирают случайное число 4) Вычисляют 5) Секретным ключом объявляют d, открытым –
Алгоритм формирования подписи под сообщением М. 1) Выбирают случайное число 2) Вычисляют 3) Вычисляют 4) Вычисляют 5) Подписью под сообщением М полагают пару целых чисел Замечание. (i) h (x) – хэш-функция (в указанном стандарте – SHA -1). (ii) При r = 0 результат вычисления не зависит от d. (iii) При s = 0 не существует подписи. Алгоритм проверки подписи 1) Если r и s – целые числа из 2) Вычисляют 3) Вычисляют 4) Вычисляют 5) Подпись полагают верной в том и только в том случае, когда
6. Протокол подбрасывания монеты. Существуют проблемы, которые приходится решать при помощи жребия. В нашей модели будем предполагать, что Алиса и Боб находятся вдали друг от друга и решают некоторую проблему именно таким образом. Будем считать, что они имеют надежный канал связи. Задача возникает тогда, когда стороны не доверяют одна другой. Ибо нужно таким образом организовать процедуру, чтобы ни одна из сторон не пострадала, если другая попробует схитрить. При наличии надежного посредника можно поступить так. Алиса выбирает случайный бит с, а Боб – случайный бит b. Оба сообщают о своем выборе посреднику, который вычисляет сумму d = с + b (mod 2) и пересылает каждой из сторон результат. Остановимся на случае, когда надежного посредника нет. Физически процесс можно представить в следующем виде. Боб выбирает случайный бит b и, записав его на листке бумаги, запирает последний в небольшой сейф, который пересылается Алисе (предполагается, что Алиса не может вскрыть сейф без ключа). Алиса, в свою очередь, выбирает случайный бит c и посылает его Бобу. Боб в ответ посылает Алисе ключ. Оба вычисляют сумму d = b + c (mod 2). Протокол основан на задаче дискретного логарифмирования, поэтому воспользуемся обозначениями, принятыми при описании системы ЭльГамала. Итак, 1)Алиса выбирает случайное число х из Z Бобу. 2) Боб выбирает случайный бит b и случайное число k из Z r = y 3) Алиса выбирает случайный бит с и посылает его Бобу. 4) Боб посылает Алисе b и k. 5) Алиса проверяет, выполняется ли сравнение r = y
В этом протоколе пустой сейф у Бобу присылает Алиса. Так как k выбирается случайно, то r является случайным элементом группы Z
7. Протокол разделения секрета. Протокол решает задачу коллективного доступа к ресурсу, понимаемого в широком значении слова. Пусть имеются n участников протокола совместно владеющих некоторым ресурсом, доступ к которому обеспечивается знанием определенного «секрета». Секрет может представлять собой какой-то код, последовательность, число и т.д. Требуется организовать доступ к ресурсу путем некоего «распределения» секрета так, чтобы заранее заданные (разрешенные) множества участников могли всегда однозначно восстановить секрет, а прочие (неразрешенные) – нет. И более того, последние не должны получать никакой дополнительной информации о значении секрета. Совокупность разрешенных множеств называют структурой доступа. Здесь рассматривается т.н. пороговая схема разделения секрета. Это значит, что разрешенными множествами участников являются любые множества из t или более элементов. Протокол предложен А. Шамиром (Shamir A.) и состоит в следующем. Пусть секрет представлен в виде натурального числа s. Выбирают большое простое число р и рассматривают s как элемент поля Z f (x) = многочлен от переменной х с коэффициентами из Z f (x) = Восстановив f (x), легко найти секрет s = a Техническая сторона дела может быть поручена некоторому выделенному участнику, называемому дилером. Схема допускает вариант проверяемого разделения секрета, т.е. участники могут удостовериться в том, что полученные доли действительно являются долями распределяемого секрета. Для этого вновь воспользуемся задачей дискретного логарифмирования и имеющимися обозначениями. Дилер вычисляет значения r и публикует r g убеждаясь, что s r В этом варианте каждый честный участник, т.е. придерживающийся протокола и не пытающийся незаконно овладеть секретом, на фазе восстановления секрета обменивается долями с другими участниками, при этом проверяет каждое значение из тех, что получает сам. Те значения, что не прошли проверку, отбрасываются. Если имеется не менее t честных участников, то данный участник всегда сможет восстановить секрет. Приведем небольшой пример. Пусть выбрано простое число р = 25362569 и g = 3. Пусть секрет представлен числом s = 317054. Число участников протокола n зададим равным 9 и положим t = 6. Таким образом, предполагается, что любые шесть или более участников, соблюдая правила протокола, смогут восстановить секрет. Выберем многочлен степени 5 над полем Z f (x) = 317054 + 115312 x + 301241 x
Дата добавления: 2014-11-16; Просмотров: 420; Нарушение авторских прав?; Мы поможем в написании вашей работы! |