Лучшие вопросы
Таймлайн
Чат
Перспективы

EdDSA

Из Википедии, свободной энциклопедии

Remove ads

В криптографических системах с открытым ключом, Edwards-curve Digital Signature Algorithm (EdDSA) — схема цифровой подписи использующая вариант схемы Шнора, основанной на эллиптической кривой Эдвардса[1].

Она спроектирована так, чтобы быть быстрее по сравнению с существующей схемой цифровой подписи без ущерба для её безопасности. Она была разработана Дэниелом Дж. Бернштейном[англ.], Нильсом Дуйфом, Таней Ланге, Питером Швабе и Бо-Инь Яном к 2011 году.

Remove ads

Дизайн

Суммиров вкратце
Перспектива

Ниже приведено упрощённое описание EdDSA, не включающее в себя детали кодирования целых чисел и точек кривой как битовых строк. Полное описание и детали данной реализации цифровой подписи можно найти в документации и соответствующих RFC[1][2][3].

В EdDSA используются следующие параметры:

  • Выбор конечного поля порядка :
  • Выбор эллиптической кривой над полем чья группа из рациональных точек имеющих порядок[уточнить] , где  — большое простое число, а называется кофактором
  • Выбор базовой точки с порядком
  • И выбор защищенной от коллизии хеш функции с -битными выходами, где так что элементы конечного поля и точек кривой в могли бы быть представлены в виде строки длиной бит.

Эти параметры минимально необходимые для всех пользователей схемы подписи EdDSA. Безопасность подписи EdDSA очень сильно зависит от выбора параметров, за исключением произвольного выбора базовой точки. Например, ро-алгоритм Поларда для логарифма должен принимать примерно кривые, перед тем как сможет[уточнить] вычислить логарифм,[4] поэтому должно быть достаточно большим, чтобы это было невозможно и обычно должно превышать 2^200.[5] Выбор ограничен выбором , так как по теореме Хассе не должно отличаться от больше чем на

В рамках схемы подписи EdDSA

Публичный ключ
Открытый ключ в схеме EdDSA это точка кривой , закодированная в битах.
Подпись
Подпись EdDSA в сообщении M посредством открытого ключа является парой , закодированная в битах, точкой кривой и целым числом , удовлетворяющим уравнению проверки
Закрытый ключ
Закрытым ключом в схеме EdDSA называется -битовая строка , которая должна быть выбрана равномерно случайным образом. Соответствующий открытый ключ, в данном случае это , где , является наименее значимым b-битом H(k), интерпретируемым как целое число в прямом порядке байтов. Подпись сообщения M это пара (R,S) где R=rB для и . Это удовлетворяет уравнению проверки

Remove ads

Ed25519

Суммиров вкратце
Перспектива

Ed25519 — схема подписи EdDSA, использующая SHA-512 и эллиптическую кривую, связанную с Curve25519[2] где:

  •  — эллиптическая кривая Эдвардса

  • и
  •  — уникальная точка чья координата равна , а координата — положительная(если говорить в терминах битового кодирования),
  •  — SHA-512, с .

Кривая бирационально эквивалентна кривой Монтгомери, известной как edwards25519. Эквивалентность[2][6]

Эффективность

Команда Бернштейна оптимизировала Ed25519 для семейства процессоров x86-64 Nehalem/Westmere. Верификация может быть выполнена пакетами по 64 цифровые подписи для ещё большей пропускной способности. Ed25519 предназначена для обеспечения сопротивления атакам, сопоставимых с качеством 128-битных симметричных шифров. Публичные ключи — 256 битные в длину, а подпись имеет размер в два раза больше.

Безопасное кодирование

В качестве функции безопасности Ed25519 не использует операции ветвления и шаги индексации массивов, которые зависят от секретных данных, для предотвращения атак по сторонним каналам.

Так же как и другие дискретно логарифмические схемы подписи, EdDSA использует секретное значение, называемое одноразовым числом, уникальным для каждой подписи. В схемах подписи DSA и ECDSA это одноразовое число традиционно генерируется случайно для каждой сигнатуры, и, если генератор случайных чисел сломан или предсказуем во время формирования подписи, подпись может слить приватный ключ, что и случилось с ключом подписи обновления прошивки для приставки Sony PlayStation 3[7][8]. По сравнению с ними, EdDSA выбирает одноразовые номера детерминировано, как хеш закрытого ключа и сообщения. Таким образом, однажды сгенерировав приватный ключ, EdDSA в дальнейшем не нуждается в генераторе случайных чисел для того, чтобы делать подписи, и нет никакой опасности, что сломанный генератор случайных чисел, используемый для создания цифровой подписи, раскроет приватный ключ.

Программное обеспечение

Известные применения Ed25519 включают в себя OpenSSH,[9] GnuPG[10] и различные альтернативы, а также инструмент значений от OpenBSD.[11]

Remove ads

Примечания

Ссылки

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads