User:AC POINT

В криптографических системах с открытым ключом, Edwards-curve Digital Signature Algorithm (EdDSA)

User:AC POINT
EdDSA
General
DesignersDaniel J. Bernstein, Niels Duif, Tanja Lange, Peter Schwabe, Bo-Yin Yang, et. al.
First published2011-09-26
Detail
StructureElliptic-curve cryptography

В криптографических системах с открытым ключом, Edwards-curve Digital Signature Algorithm (EdDSA) – схема цифровой подписи использующая вариант схемы подписи Шнора основанной на эллиптической кривой Эдвардса. Она спроектирована так что бы быть быстрее по сравнению с существующей схемой цифровой подписи без ущерба для ее безопасности. Она была разработана Дэниелом Дж. Бернштайном, Нильсом Дуйфом, Таней Ланге, Питером Швабе и Бо-Инь Яном.

Дизайн

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

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

  • Выбор конечного поля над нечетной простой степенью q:
  • Выбор эллептической кривой E над полем чья группа из рациональных точек имеющих порядок , где l – большое простое число, а 2^с называется кофактором
  • Выбор базовой точки с порядком l
  • И выбор защищенной от коллизии хэш фушкции H с 2b-битными выходами, где 2^(b-1)>q так что элементы конечного поля и точек кривой в могли бы быть представлены в виде строки длинной b бит.

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

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


Публичный ключ
Открытый ключ в схеме EdDSA это точка кривой , закодированная в b битах.
Подпись
Подпись EdDSA в сообщении M посредством открытого ключа A является парой (R,S), закодированная в 2b битах, точкой кривой и целым числом удовлетворяющим уравнению проверки


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

Ed25519

Ed25519 – схема подписи EdDSA использующая SHA-512 и Curve25519 где: *q= 2^255-19 * – элептическая кривая Эдвардса *l= 2^255+27742317777372353535851937790883648493 и с=3 *B – уникальная точка чья y координата – 4/5, а x координата – положительная(если говорить в терминах битового кодирования) H – SHA512, с b=256 Кривая бирационально эквивалентна кривой Монтгомери, известной как Curve25519. Эквивалентность


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

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

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

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


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

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

  • Референтная реализация SUPERCOP (язык с со встроенным ассемблером)
  • Медленная, но лаконичная альтернативная реализация, не включающая защиту от побочных атак(Python)
  • NaCl / libsodium[16]
  • Протокол криптовалюты CryptoNote
  • wolfSSL[17]
  • I2Pd имеет собственную реализацию EdDSA[18]
  • Minisign[19] и Minisign Miscellanea для macOS[20]
  • Virgil PKI использует Ed25519 ключи по умолчанию[21]
  • Botan
  • Dropbear SSH с теста 2013.61
  • OpenSSL 1.1.1 (поддержка TLS 1.3 и SHA3 в дополнение к X25519/Ed25519)
  • Hashmap Server and Client (язык Go и Javascript)
  • Libgcrypt


References

Категория:Эллиптическая криптография Категория:Электронная подпись

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.