Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
python-ecdsa — pure-python firma/verificación ECDSA y acuerdo de claves ECDH | Kitploit
Herramientas/GitHubGitHub/tlsfuzzer/python-ecdsa
Herramientas de Cifrado/DescifradoCriptografíaUtilidades y FrameworksAutenticaciónAprendizaje y Educación
GitHubtlsfuzzer/python-ecdsa

python-ecdsa

pure-python firma/verificación ECDSA y acuerdo de claves ECDH

Ver Repositorio
97534218hace 3 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

ECDSA y ECDH en Python puro

GitHub CI Documentation Status Coverage Status condition coverage mutation score CodeQL Latest Version Code style: black

Esta es una implementación fácil de usar de ECC (Criptografía de Curva Elíptica) con soporte para ECDSA (Algoritmo de Firma Digital de Curva Elíptica), EdDSA (Algoritmo de Firma Digital de Curva Edwards) y ECDH (Diffie-Hellman de Curva Elíptica), implementada puramente en Python, publicada bajo la licencia MIT. Con esta biblioteca, puede crear rápidamente pares de claves (clave de firma y clave de verificación), firmar mensajes y verificar las firmas. También puede acordar una clave secreta compartida basada en claves públicas intercambiadas. Las claves y las firmas son muy cortas, lo que facilita su manejo e incorporación en otros protocolos.

NOTA: Esta biblioteca no debería utilizarse en entornos de producción; consulte Seguridad para más detalles.

Características

Esta biblioteca proporciona generación de claves, firma, verificación y derivación de secreto compartido para cinco curvas NIST "Suite B" GF(p) (campo primo) populares, con longitudes de clave de 192, 224, 256, 384 y 521 bits. Los "nombres cortos" de estas curvas, conocidos por la herramienta OpenSSL (openssl ecparam -list_curves), son: prime192v1, secp224r1, prime256v1, secp384r1 y secp521r1. Incluye la curva de 256 bits secp256k1 utilizada por Bitcoin. También hay soporte para las variantes normales (no retorcidas) de las curvas Brainpool de 160 a 512 bits. Los "nombres cortos" de estas curvas son: brainpoolP160r1, brainpoolP192r1, brainpoolP224r1, brainpoolP256r1, brainpoolP320r1, brainpoolP384r1, brainpoolP512r1. También se incluyen algunas de las curvas pequeñas del estándar SEC (principalmente para acelerar las pruebas de la biblioteca), que son: secp112r1, secp112r2, secp128r1 y secp160r1. La generación de claves, la firma y la verificación también son compatibles con las curvas Ed25519 y Ed448. No se incluyen otras curvas, pero no es demasiado difícil añadir soporte para más curvas sobre campos primos.

Dependencias

Esta biblioteca utiliza solo Python y el paquete 'six'. Es compatible con Python 2.6, 2.7 y 3.6+. También admite la ejecución en implementaciones alternativas como pypy y pypy3.

Si gmpy2 o gmpy están instalados, se utilizarán para una aritmética más rápida. Cualquiera de ellos puede instalarse después de que esta biblioteca esté instalada; python-ecdsa detectará su presencia al inicio y los utilizará automáticamente. Debería preferir gmpy2 en Python3 para un rendimiento óptimo.

Para ejecutar las pruebas de compatibilidad con OpenSSL, la herramienta 'openssl' debe estar en su PATH. Esta versión se ha probado con éxito contra OpenSSL 0.9.8o, 1.0.0a, 1.0.2f, 1.1.1d y 3.0.1 (entre otros).

Instalación

Esta biblioteca está disponible en PyPI; se recomienda instalarla con pip:``` pip install ecdsa

En caso de que se quiera un mayor rendimiento y el uso de código nativo no sea un problema, es posible especificar la instalación junto con `gmpy2`:```
pip install ecdsa[gmpy2]

o (opción más lenta, heredada):``` pip install ecdsa[gmpy]

## Velocidad

La siguiente tabla muestra cuánto tarda esta librería en generar pares de claves (`keygen`), en firmar datos (`sign`), en verificar esas firmas (`verify`), en derivar un secreto compartido (`ecdh`) y en verificar las firmas sin precomputación específica de clave (`no PC verify`). Todos esos valores están en segundos. Por conveniencia, también se proporcionan los inversos de esos valores: cuántas claves por segundo se pueden generar (`keygen/s`), cuántas firmas se pueden realizar por segundo (`sign/s`), cuántas firmas se pueden verificar por segundo (`verify/s`), cuántos secretos compartidos se pueden derivar por segundo (`ecdh/s`) y cuántas firmas sin precomputación específica de clave se pueden verificar por segundo (`no PC verify/s`). El tamaño de la firma bruta (generalmente la forma más pequeña en que se puede codificar una firma) también se proporciona en la columna `siglen`. Usa `tox -e speed` para generar esta tabla en tu propio equipo. En un Intel Core i7 4790K @ 4.0GHz obtengo el siguiente rendimiento:```
                  siglen    keygen   keygen/s      sign     sign/s    verify   verify/s  no PC verify  no PC verify/s
        NIST192p:     48   0.00032s   3134.06   0.00033s   2985.53   0.00063s   1598.36       0.00129s         774.43
        NIST224p:     56   0.00040s   2469.24   0.00042s   2367.88   0.00081s   1233.41       0.00170s         586.66
        NIST256p:     64   0.00051s   1952.73   0.00054s   1867.80   0.00098s   1021.86       0.00212s         471.27
        NIST384p:     96   0.00107s    935.92   0.00111s    904.23   0.00203s    491.77       0.00446s         224.00
        NIST521p:    132   0.00210s    475.52   0.00215s    464.16   0.00398s    251.28       0.00874s         114.39
       SECP256k1:     64   0.00052s   1921.54   0.00054s   1847.49   0.00105s    948.68       0.00210s         477.01
 BRAINPOOLP160r1:     40   0.00025s   4003.88   0.00026s   3845.12   0.00053s   1893.93       0.00105s         949.92
 BRAINPOOLP192r1:     48   0.00033s   3043.97   0.00034s   2975.98   0.00063s   1581.50       0.00135s         742.29
 BRAINPOOLP224r1:     56   0.00041s   2436.44   0.00043s   2315.51   0.00078s   1278.49       0.00180s         556.16
 BRAINPOOLP256r1:     64   0.00053s   1892.49   0.00054s   1846.24   0.00114s    875.64       0.00229s         437.25
 BRAINPOOLP320r1:     80   0.00073s   1361.26   0.00076s   1309.25   0.00143s    699.29       0.00322s         310.49
 BRAINPOOLP384r1:     96   0.00107s    931.29   0.00111s    901.80   0.00230s    434.19       0.00476s         210.20
 BRAINPOOLP512r1:    128   0.00207s    483.41   0.00212s    471.42   0.00425s    235.43       0.00912s         109.61
       SECP112r1:     28   0.00015s   6672.53   0.00016s   6440.34   0.00031s   3265.41       0.00056s        1774.20
       SECP112r2:     28   0.00015s   6697.11   0.00015s   6479.98   0.00028s   3524.72       0.00058s        1716.16
       SECP128r1:     32   0.00018s   5497.65   0.00019s   5272.89   0.00036s   2747.39       0.00072s        1396.16
       SECP160r1:     42   0.00025s   3949.32   0.00026s   3894.45   0.00046s   2153.85       0.00102s         985.07
         Ed25519:     64   0.00076s   1324.48   0.00042s   2405.01   0.00109s    918.05       0.00344s         290.50
           Ed448:    114   0.00176s    569.53   0.00115s    870.94   0.00282s    355.04       0.01024s          97.69
Descargar herramienta