Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
python-ecdsa — 순수 파이썬 ECDSA 서명/검증 및 ECDH 키 합의 | Kitploit
도구/GitHubGitHub/tlsfuzzer/python-ecdsa
Encryption/Decryption ToolsCryptographyUtilities & FrameworksAuthenticationLearning & Education
GitHubtlsfuzzer/python-ecdsa

python-ecdsa

순수 파이썬 ECDSA 서명/검증 및 ECDH 키 합의

저장소 보기
975342183개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

순수 Python ECDSA 및 ECDH

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

이것은 ECDSA(타원곡선 디지털 서명 알고리즘), EdDSA(Edwards-curve 디지털 서명 알고리즘) 및 ECDH(타원곡선 Diffie-Hellman)를 지원하는 ECC(타원곡선 암호)의 사용하기 쉬운 구현체로, 순수 Python으로 구현되었으며 MIT 라이선스로 배포됩니다. 이 라이브러리를 사용하면 키 쌍(서명 키와 검증 키)을 빠르게 생성하고, 메시지에 서명하고, 서명을 검증할 수 있습니다. 또한 교환된 공개 키를 기반으로 공유 비밀 키에 합의할 수도 있습니다. 키와 서명은 매우 짧아서 처리하기 쉽고 다른 프로토콜에 통합하기 쉽습니다.

참고: 이 라이브러리는 프로덕션 환경에서 사용하면 안 됩니다. 자세한 내용은 Security를 참조하세요.

기능

이 라이브러리는 192, 224, 256, 384, 521비트 키 길이를 가진 다섯 가지 널리 사용되는 NIST "Suite B" GF(p)(소수체) 곡선에 대해 키 생성, 서명, 검증 및 공유 비밀 도출을 제공합니다. OpenSSL 도구(openssl ecparam -list_curves)에서 알려진 이러한 곡선의 "짧은 이름"은 prime192v1, secp224r1, prime256v1, secp384r1, secp521r1입니다. 여기에는 비트코인에서 사용되는 256비트 곡선 secp256k1도 포함됩니다. 또한 160비트에서 512비트까지의 Brainpool 곡선의 일반(비-twisted) 변형도 지원합니다. 해당 곡선의 "짧은 이름"은 brainpoolP160r1, brainpoolP192r1, brainpoolP224r1, brainpoolP256r1, brainpoolP320r1, brainpoolP384r1, brainpoolP512r1입니다. SEC 표준의 일부 작은 곡선도 포함되어 있습니다(주로 라이브러리 테스트 속도를 높이기 위한 것입니다): secp112r1, secp112r2, secp128r1, secp160r1입니다. Ed25519 및 Ed448 곡선에 대한 키 생성, 서명 및 검증도 지원됩니다. 다른 곡선은 포함되어 있지 않지만, 소수체 위의 더 많은 곡선에 대한 지원을 추가하는 것은 그리 어렵지 않습니다.

의존성

이 라이브러리는 Python과 'six' 패키지만 사용합니다. Python 2.6, 2.7 및 3.6+와 호환됩니다. 또한 pypy 및 pypy3와 같은 대체 구현에서도 실행을 지원합니다.

gmpy2 또는 gmpy가 설치되어 있으면 더 빠른 연산을 위해 사용됩니다. 이 중 하나는 이 라이브러리가 설치된 후에 설치할 수 있으며, python-ecdsa는 시작 시 해당 패키지의 존재를 감지하여 자동으로 사용합니다. 최적의 성능을 위해 Python3에서는 gmpy2를 선호해야 합니다.

OpenSSL 호환성 테스트를 실행하려면 'openssl' 도구가 PATH에 있어야 합니다. 이 릴리스는 OpenSSL 0.9.8o, 1.0.0a, 1.0.2f, 1.1.1d 및 3.0.1(그 외 다수)에서 성공적으로 테스트되었습니다.

설치

이 라이브러리는 PyPI에서 제공되며, pip를 사용하여 설치하는 것이 좋습니다:``` pip install ecdsa

더 높은 성능이 필요하고 네이티브 코드 사용이 문제가 없다면, `gmpy2`와 함께 설치하도록 지정할 수 있습니다:```
pip install ecdsa[gmpy2]

또는 (더 느린, 레거시 옵션):``` pip install ecdsa[gmpy]

## 속도

다음 표는 이 라이브러리가 키 쌍을 생성하는 데
(`keygen`), 데이터에 서명하는 데 (`sign`), 해당 서명을 검증하는 데 (`verify`),
공유 비밀 키를 도출하는 데 (`ecdh`), 그리고
키별 사전 계산 없이 서명을 검증하는 데 (`no PC verify`) 걸리는 시간을 보여줍니다.
모든 값은 초 단위입니다.
편의를 위해 해당 값들의 역수도 함께 제공됩니다:
초당 생성할 수 있는 키 수(`keygen/s`), 초당 만들 수 있는 서명 수
(`sign/s`), 초당 검증할 수 있는 서명 수
(`verify/s`), 초당 도출할 수 있는 공유 비밀 키 수
(`ecdh/s`), 그리고 키별 사전 계산 없이
초당 검증할 수 있는 서명 수(`no PC verify/s`). 원시
서명의 크기(일반적으로 서명이 인코딩될 수 있는 가장 작은
방식)도 `siglen` 열에 제공됩니다.
`tox -e speed`를 사용하여 이 표를 자신의 컴퓨터에서 생성할 수 있습니다.
Intel Core i7 4790K @ 4.0GHz에서 저는 다음과 같은 성능을 얻고 있습니다:```
                  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
도구 다운로드