Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
python-ecdsa — Assinatura/verificação ECDSA e acordo de chaves ECDH em Python puro | Kitploit
Ferramentas/GitHubGitHub/tlsfuzzer/python-ecdsa
Ferramentas de Criptografia/DescriptografiaCriptografiaUtilitários e FrameworksAutenticaçãoAprendizado e Educação
GitHubtlsfuzzer/python-ecdsa

python-ecdsa

Assinatura/verificação ECDSA e acordo de chaves ECDH em Python puro

Ver Repositório
97534224há 4 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

ECDSA e ECDH em Python Puro

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

Esta é uma implementação fácil de usar de ECC (Criptografia de Curva Elíptica) com suporte para ECDSA (Algoritmo de Assinatura Digital de Curva Elíptica), EdDSA (Algoritmo de Assinatura Digital de Curva de Edwards) e ECDH (Diffie-Hellman de Curva Elíptica), implementada puramente em Python, lançada sob a licença MIT. Com esta biblioteca, você pode criar rapidamente pares de chaves (chave de assinatura e chave de verificação), assinar mensagens e verificar as assinaturas. Você também pode estabelecer uma chave secreta compartilhada com base nas chaves públicas trocadas. As chaves e as assinaturas são muito curtas, o que facilita o manuseio e a incorporação em outros protocolos.

NOTA: Esta biblioteca não deve ser usada em ambientes de produção; consulte Security para mais detalhes.

Recursos

Esta biblioteca fornece geração de chaves, assinatura, verificação e derivação de segredo compartilhado para cinco curvas NIST populares da "Suite B" GF(p) (corpo primo), com comprimentos de chave de 192, 224, 256, 384 e 521 bits. Os "nomes curtos" dessas curvas, como conhecidos pela ferramenta OpenSSL (openssl ecparam -list_curves), são: prime192v1, secp224r1, prime256v1, secp384r1 e secp521r1. Ela inclui a curva de 256 bits secp256k1 usada pelo Bitcoin. Há também suporte para as variantes regulares (não torcidas) das curvas Brainpool de 160 a 512 bits. Os "nomes curtos" dessas curvas são: brainpoolP160r1, brainpoolP192r1, brainpoolP224r1, brainpoolP256r1, brainpoolP320r1, brainpoolP384r1, brainpoolP512r1. Algumas das curvas pequenas do padrão SEC também estão incluídas (principalmente para acelerar os testes da biblioteca); são elas: secp112r1, secp112r2, secp128r1 e secp160r1. A geração de chaves, a assinatura e a verificação também são suportadas para as curvas Ed25519 e Ed448. Nenhuma outra curva é incluída, mas não é muito difícil adicionar suporte a mais curvas sobre corpos primos.

Dependências

Esta biblioteca usa apenas Python e o pacote 'six'. Ela é compatível com Python 2.6, 2.7 e 3.6+. Também suporta execução em implementações alternativas como pypy e pypy3.

Se gmpy2 ou gmpy estiver instalado, ele será usado para aritmética mais rápida. Qualquer um deles pode ser instalado depois que esta biblioteca for instalada; python-ecdsa detectará sua presença na inicialização e os usará automaticamente. Você deve preferir gmpy2 no Python3 para obter o desempenho ideal.

Para executar os testes de compatibilidade com OpenSSL, a ferramenta 'openssl' deve estar no seu PATH. Esta versão foi testada com sucesso contra OpenSSL 0.9.8o, 1.0.0a, 1.0.2f, 1.1.1d e 3.0.1 (entre outros).

Instalação

Esta biblioteca está disponível no PyPI; é recomendado instalá-la usando pip:``` pip install ecdsa

Caso seja desejado um desempenho superior e o uso de código nativo não seja um problema, é possível especificar a instalação juntamente com `gmpy2`:```
pip install ecdsa[gmpy2]

ou (opção mais lenta, legada):``` pip install ecdsa[gmpy]

## Velocidade

A tabela a seguir mostra quanto tempo esta biblioteca leva para gerar pares de chaves
(`keygen`), para assinar dados (`sign`), para verificar essas assinaturas (`verify`),
para derivar um segredo compartilhado (`ecdh`), e
para verificar as assinaturas sem pré-computação específica de chave (`no PC verify`).
Todos esses valores estão em segundos.
Por conveniência, os inversos desses valores também são fornecidos:
quantas chaves por segundo podem ser geradas (`keygen/s`), quantas assinaturas
podem ser feitas por segundo (`sign/s`), quantas assinaturas podem ser verificadas
por segundo (`verify/s`), quantos segredos compartilhados podem ser derivados por segundo
(`ecdh/s`), e quantas assinaturas sem pré-computação específica de chave
podem ser verificadas por segundo (`no PC verify/s`). O tamanho da assinatura bruta
(geralmente a menor
forma como uma assinatura pode ser codificada) também é fornecido na coluna `siglen`.
Use `tox -e speed` para gerar esta tabela no seu próprio computador.
Em um Intel Core i7 4790K @ 4.0GHz estou obtendo o seguinte desempenho:```
                  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
Baixar ferramenta