Электронный документооборот
Реферат, 19 Апреля 2011, автор: пользователь скрыл имя
Описание работы
Документ является основным способом представления информации на любом предприятии. Эффективность управления предприятием зависит и от того, насколько рационально организовано управление документооборотом. Ведь малоэффективное использование накопленной информации (или, еще хуже, ее потеря) может отрицательно сказаться на ведении бизнеса.
Работа содержит 1 файл
дип.docx
— 63.47 Кб (Скачать)
Схема цифровой подписи ElGamal
Для генерации ключевой пары выбираются большое простое число р и примитивный элемент g мультипликативной группы поля GF(p). Выбирается случайное число х такое, что x<p-1. Открытым ключом является y = gx ( mod p), секретным ключем является x.
Подпись сообщения M Для того, чтобы подписать сообщение M пользователю A необходимо выполнить следующие действия:
- выбрать случайно и равновероятно число k из группы обратимых элементов кольца Z p-1 *. То есть НОД(k,p-1) = 1,
- вычислить a = gk (mod q),
- вычислить b = (M-xa)k-1 (mod p-1),
- подписью для сообщения M является пара (a,b).
Проверка
подписи для сообщения M
Для проверки подписи (a,b) для сообщения
M получатель B проверяет выполнение
равенства
gM = ya ab (mod p).
Надо
заметить, что для ускорения процесса
подписи вычисления на шагах 1,2 можно
проводить заранее, вычислять значения
k-1 тоже. Как и в других похожих схемах
подписи значение k должно оставаться
в секрете и выбираться cлучайно.
Вероятностная схема подписи Рабина
В 1978 г. Рабин предложил следующий способ подписи. Пусть E - функция шифрования некоторой криптосистемы, (ki, 1 <= i <= 2r) - последовательность случайно выбранных ключей, которые отправитель A держит в секрете. Пользователь B получает список параметров проверки (Xi,Ui) (1 <= i <= 2r), где
E(Xi,ki) = Ui (1 <= i <= 2r).
Эти параметры хранятся в доступном для всех месте.
Предположим, что A хочет подписать сообщение m. Его подписью будет цепочка S = S1S2..S2r, для каждого i (1<=i<=2r) Si =E(m,ki). B делает следующее. Сначала он выбирает случайным образом r ключей, которые A должен ему предъявить: ki1 , ki2 ,..,kir. При получении этих ключей от A он проверяет:
E(m,ki1) = Si1, E(Xi1,ki1) = Ui1
и далее для всех индексов i2, i3 ,.., ir . Он считает действительной подпись от A только в том случае, когда выдерживаются все проверки. Безопасность получателя зависит от его уверенности в том, что только отправитель, знающий секретный ключ, может послать так подписанное сообщение. Что касается A, то предположим, что он отказывается от сообщения, которое по утверждению B он подписал. Тогда протокол для A следующий: он должен предъявить судье свои секретные ключи k1,k2,..,k2r, и в присутствии обеих сторон делается 2r проверок:
E(m,ki)=Si, E(Xi,ki)=Ui.
Рассмотрим, что это означает в трех возможных случаях.
- Корректными являются менее r проверок. Тогда B не должен был принимать подписанное сообщение.
- Выдерживается точно r проверок, то есть при формировании ключей B выбрал именно это подмножество из r ключей. Вероятность, что он угадает это подмножество, равна
pr = (C2r r)-1,
для r=18, pr примерно равно 10-10.
- Выдерживается r+1 и более проверок: отказ абонента A не принимается.
Схема Диффи - Лампорта
Для
аутентификации пользователя можно
применять произвольную симметрическую
схему. Пусть отправитель сообщения
A хочет подписать n-битовое бинарное
сообщение
m=m1.. mn из V2n.
Он выбирает 2n ключей некоторой криптосистемы, которые хранятся в секрете. Обозначим их так: a1,..,an;b1,..,bn.
Если E - алгоритм шифрования, то A генерирует 4n параметров проверки { (Xi,Yi,Ui,Vi): 1<= i <= n}, где Xi и Yi - величины, подаваемые на вход E и связанные соотношениями
Ui = E(Xi,ai), Vi = E(Yi,bi), 1 <= i < n.
Параметры проверки заранее посылаются получателю B и третьему доверенному лицу.
Чтобы
подписать n-битовое сообщение m=(m1,..,m
где для каждого i
Si = ai, если mi =0,
Si = bi, если mi =1.
Пользователь B проверяет подпись следующим образом: для каждого i (0 <= i <= n) он использует бит mi и ключ Si, чтобы проверить:
если mi = 0, то E(Xi,Si) = Ui,
если mi = 1, то E(Yi,Si) = Vi.
Пользователь B принимает подписанное сообщение за истинное только в том случае, если при процедуре проверки эти равенства выполнены для каждого L.
Эта
система проста в использовании,
но у нее есть, по крайней мере,
два очевидных недостатка. Во-первых,
необходима предварительная передача
параметров проверки. Во-вторых, что более
важно, подпись сильно увеличивает длину
сообщения. Если в криптосистеме используются
ключи длиной, скажем, 64 бита, то длина
подписанного сообщения увеличится в
64 раза.
Схема цифровой подписи ESIGN
Esign --- это схема подписи, предложенная Okamoto и Shiraishi в 1985 году. Она использует вычисления в кольце вычетов со специальным типом модуля. Главное преимущество схемы Esign --- это ее скорость. В сравнении с системами, основанными на схеме RSA или схеме Эль-Гамаля, Esign отличается в несколько раз более высоким быстродействием процессов подписи документа и проверки подписи. Пусть N = p2 q --- 3k разрядное целое, где p и q - два простых числа примерно одинаковой длины. Секретную часть ключа составляют два k-битных простых числа p и q, а открытую часть ключа --- пара (N,e), где e - целое число, большее четырех. Схема Esign использует (k-1) битную хэш-функцию H, для вычисления хэш-значения от подписываемого сообщения. Подпись для сообщения M вычисляется следующим образом:
- Сообщение M сначала хэшируется, то есть вычисляется H(M). Мы обозначим за y '3k' разрядное целое число, соответствующее битовой строке 0||H(M)||02k, где 02k - последовательность из 2k нулей.
- Число r случайно выбирается из Z p q * (обратимые элементы кольца Z p q).
- Вычисляются значения:
z = x - r e (mod N).
w0 = ⌈ z/pq ⌉ + 1.
w1 = w0 pq - z.
Если w1 > 22k-1 тогда снова выполнить шаг 2.
u = w0 (e re-1)-1 (mod p).
s = r + u*p*q.
- Подписью M будет s.
Для проверки правильности подписи сообщения M проверяющий просто сравнивает k старших разрядов se (mod N) с 0||H(M) и на основании этого сравнения делает вывод о принятии (если битовые последовательности совпадают) или отклонении (если битовые последовательности не совпадают) подписи. Истинность алгоритм проверки подписи следует из
se
= (r + u*p*q)e (mod N) = re + e*r e-1*u*p*
q ( mod N)=
= (y-z) + w0*p*q ( mod N) = y + w1 (mod N).
Так как w1 < 2 2k-1 и N - в точности 3k разрядное целое число, то k старших разрядов ( se (mod N) ) те же, что и у y, то есть 0||H(M). Стойкость схемы Esign основывается на разновидности проблемы RSA, на извлечении корня e-й степени в кольце вычетов. Точнее, вычисление 'приближенного' значения корня, что считается сложной задачей. Формально задача извлечения приближенного корня (AER Approximate e-th Root problem ) описывается следующим образом: даны модуль N = p2*q, экспонента e>3 и y - обратимый элемент кольца вычетов ZN, найти x - обратимый элемент кольца вычетов ZN такой, что y <= xe <= y + 22k-1. Известно, что факторизация N дает эффективное решение данной задачи. Без знания pили qэта задача считается сложной. Предположение AER заключается в том, что проблема AER является трудноразрешимой.
Важно
отметить, что в первоначальном варианте
схемы допускался выбор экспоненты
e равной 2 или 3, что упрощало вычисление
подписи и ее проверку. Однако в этом случае
имеются алгоритмы криптоанализа данной
схемы, разработанные E. F. Brickell, J. M. DeLaurentis
и A. M. Odlyzko. В [2] cказано, что случайные числа
r должны выбираться независимо, случайно
и равновероятно из Zp*q*
. В частности, использование линейного
конгруэнтного генератора для задания
r с опубликованными параметрами приводит
к компроментации секретного ключа.