ECDH X25519
Python-биндинги для x25519-dalek на Rust через PyO3. Используется алгоритм X25519 для безопасного обмена ключами (ECDH).
🧠 Что такое ECDH (X25519)?
X25519 — это алгоритм обмена ключами на основе эллиптических кривых (Elliptic Curve Diffie-Hellman, ECDH). Он широко применяется в современных криптопротоколах: TLS, SSH, Signal, WireGuard и других.
Основные характеристики:
-
Эллиптические кривые
- Основан на кривой Монтгомери Curve25519.
- Обеспечивает высокую скорость и безопасность.
- Оптимизирован под программную реализацию.
-
Эффективность
- Быстрый обмен ключами даже на слабом железе.
- Ключи занимают всего 32 байта (256 бит).
- Поддерживается многими языками и библиотеками (OpenSSL, libsodium и др.).
-
Безопасность
- Защищён от большинства классических атак.
- Устойчив к атакам по времени выполнения.
- Не устойчив к квантовым атакам (алгоритм Шора).
-
Стандартизация
- Описан в RFC 7748.
- Рекомендован IETF как современный метод обмена ключами.
🚀 Как использовать?
import ecdh_x25519
# Алиса
alice = ecdh_x25519.EcdhX25519()
alice_pk = alice.generate_keypair()
# Боб
bob = ecdh_x25519.EcdhX25519()
bob_pk = bob.generate_keypair()
# Обмен
shared_secret_alice = alice.generate_shared_secret(bob_pk)
shared_secret_bob = bob.generate_shared_secret(alice_pk)
assert shared_secret_alice == shared_secret_bob
📦 Установка
1. Установка через PyPI
pip install ecdh_x25519
2. Ручная установка (через git + maturin)
git clone https://github.com/kostya2023/ecdh_x25519.git
cd ecdh_x25519
pip install -r requirements.txt
maturin build --release
pip install target/wheels/*
👥 Авторы
🔒 Лицензия
Metadata
Release files for ecdh-x25519 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| ecdh_x25519-0.1.1.tar.gz | 6.7 kB | Without provenance | Details for ecdh_x25519-0.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| ecdh_x25519-0.1.1-cp312-cp312-win_amd64.whl | CPython 3.12 | CPython 3.12 | Windows x86-64 | Details for ecdh_x25519-0.1.1-cp312-cp312-win_amd64.whl |
Total release size: 170.4 kB
Release files / ecdh_x25519-0.1.1.tar.gz
| Download URL | ecdh_x25519-0.1.1.tar.gz |
|---|---|
| Size | 6.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1b6f5eee9f0e8535ebdc9a4e519fab406e56341f211b389eac14a32a0562b0ec
|
|
BLAKE2b-256 checksum How to use checksums |
7bcff0b470c2c1c73c8c7607baa4eb8c2896db57768774c85fa5073330e9a78f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.0
|
Release files / ecdh_x25519-0.1.1-cp312-cp312-win_amd64.whl
| Download URL | ecdh_x25519-0.1.1-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 163.6 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
ab5cc8f1a63205cc51ce80b8de20c9b3cc9893e2a37bf2c0664c0b610e95f32f
|
|
BLAKE2b-256 checksum How to use checksums |
afa592e53bfad013aea858a5471b4682f796f09277cfd6864b2efab765c1e490
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.0
|
Security for ecdh-x25519 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.