Все о геологии :: на главную страницу! Геовикипедия 
wiki.web.ru 
Поиск  
  Rambler's Top100 Service
 Главная страница  Конференции: Календарь / Материалы  Каталог ссылок    Словарь       Форумы        В помощь студенту     Последние поступления
   Геология | Курсы лекций
 Обсудить в форуме  Добавить новое сообщение
Вперед Вверх Назад Содержание Предметный указатель
Вперед: 3.4 Аутентификация для интеллектуальных карточек Вверх: 3.3 Протоколы, основанные на идентификационной информации Назад: 3.3 Протоколы, основанные на идентификационной информации   Содержание   Предметный указатель

3.3.1 Схема аутентификации Фиата и Шамира

Ниже мы рассматриваем модификацию схемы аутентификации Фиата и Шамира [FS86], предназначенную для идентификации интеллектуальных карточек. Для выдачи интеллектуальных карточек предусмотрен центр доверия. Прежде чем центр начинает выдавать интеллектуальные карточки, он выбирает и публикует целое число $ n$, которое является произведением двух простых чисел $ p$ и $ q$, и псевдослучайную функцию $ f$. Простые множители $ p$ и $ q$ являются секретными.

По запросу пользователя центр генерирует строку $ I$, содержащую, например, имя пользователя, его адрес, идентификационный номер и т. п. Затем центр выполняет следующие действия: вычисляет $ k$ значений $ v_{j}=f(I,j)$ для небольших значений $ j$, для которых $ v_{j}$ является квадратичным вычетом $ \bmod n$, и вычисляет наименьший квадратный корень $ s_{j}$ из $ v^{-1}_{j}\bmod n$. После этого пользователю выдается интеллектуальная карточка, содержащая $ I$ и $ k$ значений $ s_{j}$ с их индексами. Для простоты изложения в дальнейшем будем предполагать, что индексы $ j$ принимают значения $ 1,\ldots k$.

Устройство проверки интеллектуальных карточек хранит в своей памяти число $ n$ и функцию $ f$. Протокол проверки интеллектуальной карточки состоит в следующем (через A обозначается доказывающий, т. е. интеллектуальная карточка, а через B -- проверяющий, т. е. устройство проверки):     1. A посылает B строку $ I$.

    2. B вычисляет $ v_{j}=f(I,j)$, $ j=1,\ldots
,k$.

Следующие шаги выполняются в цикле для $ i=1,\ldots ,t$.

    3. A выбирает случайное число $ r_{i}\in [0,n)$ и посылает B значение $ x_{i}=r^{2}_{i}\bmod n$.

    4. B выбирает случайный вектор $ (e_{i1},\ldots,e_{ik})$ и посылает его A.

    5. A посылает B значение $ y_{i}=r_{i}\prod\limits_{j:(e_{ij}=1)}s_{j}\bmod n$.

    6. B проверяет, что $ x_{i}=y^{2}_{i}\prod\limits_{j:(e_{ij}=1)}v_{j} \bmod n$. В результате выполнения протокола B принимает доказательство A (другими словами, A проходит аутентификацию), только если проверка п. 6 будет выполнена во всех $ t$ циклах.

Как уже отмечалось в предыдущем разделе, в работе [FS86] даны наброски доказательства, что схема Фиата и Шамира является протоколом доказательства с нулевым разглашением.

Функция $ f$ предполагается общедоступной. Мы описали схему, в которой $ f$ -- псевдослучайная функция. В оригинале [FS86] предполагается, что $ f$ -- случайная функция. В этом предположении исследована стойкость предложенной схемы. Вопрос о стойкости в случае использования псевдослучайных функций, а также проблема практической реализации генератора псевдослучайных функций не рассматривались.


Вперед Вверх Назад Содержание Предметный указатель
Вперед: 3.4 Аутентификация для интеллектуальных карточек Вверх: 3.3 Протоколы, основанные на идентификационной информации Назад: 3.3 Протоколы, основанные на идентификационной информации   Содержание   Предметный указатель


Проект осуществляется при поддержке:
Геологического факультета МГУ,
РФФИ
   
TopList Rambler's Top100