Помощь в написании студенческих работ
Антистрессовый сервис

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

РефератПомощь в написанииУзнать стоимостьмоей работы

Боб использует первую координату из T (x, y), чтобы проверить сообщение. Если x = S1 mod q, подпись принимается, иначе — отклоняется. Выбор хэш-функции h (x). Для использования алгоритма необходимо, чтобы подписываемое сообщение являлось числом. Алиса использует первые координаты P (u, v), чтобы вычислить первую подпись S1.: S1 = u mod q. Алиса выбирает другое простое число q, чтобы использовать… Читать ещё >

К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 mod p,.

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

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

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

История: ECDSA (Elliptic Curve Digital Signature Algorithm) — алгоритм с открытым ключом для создания цифровой подписи, аналогичный по своему строению DSA, но определённый в отличие от него не над полем целых чисел, а в группе точек эллиптической кривой.

Алгоритм ECDSA в 1999 г. был принят, как стандарт ANSI, в 2000 г. — как стандарт IEEE и NIST. Также в 1998 г. алгоритм был принят стандартом ISO.

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

Параметры алгоритма:

  • 1. Выбор хэш-функции h (x). Для использования алгоритма необходимо, чтобы подписываемое сообщение являлось числом.
  • 2. Выбор большого простого числа q — порядок одной из циклических подгрупп группы точек эллиптической кривой. Если размерность этого числа в битах меньше размерности в битах значений хэш-функции h (x) то используются только левые биты значения хэш-функции.
  • 3. Простым числом p обозначается характеристика поля координат Fp.

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

  • 1. Алиса выбирает эллиптическую кривую Ep (a, b) с простым числом p.
  • 2. Алиса выбирает другое простое число q, чтобы использовать для вычисления.
  • 3. Алиса выбирает секретный ключ d, целое число.
  • 4. Алиса выбирает точку на кривой e1(.,…).
  • 5. Алиса вычисляет e2 (.,…) = d * e1 (…), другую точку на кривой.

Общедоступный ключ Алисы — (a, b, p, q, e1, e2), ее секретный ключ — d.

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

  • 1. Алиса выбирает секретное случайное число r, между 1 и q — 1.
  • 2. Алиса выбирает третью точку на кривой P (u, v) = r * e1 (…).
  • 3. Алиса использует первые координаты P (u, v), чтобы вычислить первую подпись S1.: S1 = u mod q.
  • 4. Алиса использует хэш сообщения, свой секретный ключ d, секретное случайное число r и S1, чтобы вычислить вторую подпись S2 = (h (M) + d * S1) r -1 mod q,
  • 5. Алиса передает М, S1 и S2.

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

  • 1. Боб применяет М, S1 и S2 для создания двух промежуточных результатов A и B:
  • 2. A = h (M)S2-1 mod q.
  • 3. B = S2-1 S1 mod q.
  • 4. Затем Боб восстанавливает третью точку T(x, y) = A * e1(…, …) + B * e2(…, …)
  • 5. Боб использует первую координату из T(x, y), чтобы проверить сообщение. Если x = S1 mod q, подпись принимается, иначе — отклоняется.
Показать весь текст
Заполнить форму текущей работой