
Низкоуровневая реализация на Go эллиптической кривой edwards25519, предоставляющая API для построения криптографических примитивов более высокого уровня, таких как подписи и Диффи-Хеллман.
import "filippo.io/edwards25519"
Эта библиотека реализует эллиптическую кривую edwards25519, предоставляя необходимые API для построения широкого спектра высокоуровневых примитивов. Читайте документацию на pkg.go.dev/filippo.io/edwards25519.
Пакет отслеживает и расширяет функциональность вышестоящего стандартного библиотечного пакета crypto/internal/fips140/edwards25519.
Исходный код изначально взят из внутренней реализации Адама Лэнгли в стандартной библиотеке Go и включает улучшения производительности Джорджа Танкерсли performance improvements. Затем он был дополнительно разработан Генри де Валенсом для использования в ristretto255 и, наконец, слит обратно в стандартную библиотеку Go начиная с Go 1.17.
Большинству пользователей этот пакет не нужен; вместо этого следует использовать crypto/ed25519 для подписей, crypto/ecdh для Диффи-Хеллмана или github.com/gtank/ristretto255 для логики группы простого порядка. Однако для тех, кто в настоящее время использует форк внутреннего пакета edwards25519 или github.com/agl/edwards25519, этот пакет станет более безопасной, быстрой и мощной альтернативой.
Поскольку этот пакет предназначен для сдерживания распространения реализаций edwards25519 в экосистеме Go, он приветствует запросы на новые API или проверяемые улучшения производительности.