Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Решенные билеты.doc
Скачиваний:
99
Добавлен:
26.05.2014
Размер:
1.72 Mб
Скачать

Вопрос 4 Определение односторонней функции с ловушкой.

Определение. Односторонняя функция f:ХУ называется односторонней функцией с ловушкой (one-way trapdoor function), еслиf--1(у) можно вычислить за полиномиальное время, имея некоторую дополнительную информацию, т, е. существует функция g(у,t), вычислимая за полиномиальное время и такая, что g(y, t)= f--1(у) для некоторой ловушки (trapdoor) t.

Пример односторонней функции с ловушкой дает функция Рабина. При этом ловушкой служит разложение модуля на множители.

Односторонние перестановки с ловушкой

Определение. Семейство функций {fk:Dk{0,1}* }kK называется семейством (сильных) односторонних перестановок с ловушкой (one-way trapdoor permutations), если существуют четыре вероятностных полиномиальных алгоритма (I,S,F,F-1) таких, что выполнены следующие условия.

  • Алгоритм выбора пары ключей I для аргумента 1n задает случайную величину со значениями в ,гдер — многочлен. Результат работы алгоритма обозначим I(ln) = (e,d). Обозначим через I1 алгоритм, который для аргумента 1n вычисляет е, а через I2 — алгоритм, который для аргумента 1n вычисляет d.

  • Алгоритмы (I1,S,F) задают семейство (сильных) односторонних перестановок.

  • Алгоритм F-1 — детерминированный полиномиальный алгоритм обращения с использованием ловушки такой, что для любой пары (e,d) из области значений I, для любого х Dk

.

Для функции RSA ловушкой, соответствующей ключу (pq,e), является разложение модуля на множители (p,q) или пара (pq,d) такая, что ed  1(mod (pq)). Для функции Рабина ловушкой является разложение модуля на множители. [1]

Вопрос 5

Схема цифровой подписи

Определение. Схема цифровой подписи представляет собой конструкцию вида (K,{Mk},{Ak},Sk, Vk), где

  • К — пространство ключей, элементы К имеют вид k=(e,d), e называется открытым ключом или открытой компонентой ключа (public key), d называется закрытым ключом или закрытой компонентой ключа (secret key);

  • {Mk}kKпространства сообщений; [Ak}kKпространства подписей;

  • функция построения подписи Sk:Mk Ak эффективно строится по закрытому ключу d;

  • функция проверки подписи Vk :Mk Ak {0,1} такая, что Vk(m,s)=1 в том и только том случае, если s=Sk(m), эффективно строится по открытому ключу е;

  • не существует эффективного способа найти без знания закрытого ключа значение s для заданного т так, чтобы Vk(m,s)=l.

Схемой цифровой подписи удобно пользоваться, если для любых ключей k1,k2 K выполняется Mk1 =Mk2 и Ak1 =Ak2 .

Последнее требование к цифровой подписи может быть усилено, а именно: требуется невозможность найти хотя бы одну пару (m,s) такую, что V k (т, s) =1 («экзистенциальная подделка» ).

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

Если цифровая подпись используется совместно с шифрованием, следует передавать сообщение в виде EB(m,SA(m)), а не (EB(m),SA(EB(m))). Иначе не удается хранить расшифрованные сообщения вместе с подписями. Кроме того, в этом случае от используемой криптосистемы требуется стойкость к атакам с известным сообщением. В противном случае, если по заданной шифрограмме с и заданному сообщению т можно подобрать ключ k такой, что Еk(m)=с, злоумышленник С может перехватить подпись s = DA(EB(m)), для любого сообщения т' подобрать ключ k такой, что Ek(m ')=EB(m), зарегистрировать этот ключ в качестве своего и утверждать, что А послал ему сообщение с

s=DA(Ek (m')). Для построения цифровых подписей можно использовать криптосистему с открытым ключом, если функция шифрования Ek отображает пространство сообщений Mk на пространство шифрограмм Ck. В данном случае для m Ck положим

Тогда получатель В может взять произвольное значение с и утверждать, что А подписал ЕА(с). Обычно в качестве подписи используют Sk(m)=Dk(h(m)), где hкриптографически стойкая хэш-функция. При этом к функции h применяются обычные требования, что позволяет, во-первых, избавиться от только что описанной атаки со стороны В, а во-вторых, подписывать сообщения, более длинные, чем возможный аргумент функции Dk..

Если длина результата хэш-функции меньше длины аргумента функции Dk, стандарт PKCS#1 рекомендует помещать h (т) в младшие байты аргумента, а в старшие — значение 0001FF...FF0016. Альтернативно можно вычислять

Определение. Схема цифровой подписи (K,S,V) называется стойкой, если для любого вероятностного алгоритма F, использующего оракул для построения правильных подписей и выдающего в качестве результата пару (m,s) такую, что m не было аргументом оракула, для любого многочлена q, для достаточно больших n

,

где (e,d)=K(1n) и (m,s)=FB —случайные величины, В — любой алгоритм, дающий по сообщению т правильную подпись, V(e, m, B(m))= l. [1]

Соседние файлы в предмете Криптография