From 3bef51eec2299403467e621ae660cef3f9256ac8 Mon Sep 17 00:00:00 2001 From: Determinant Date: Tue, 17 Nov 2020 18:47:40 -0500 Subject: update frozen deps --- README.rst | 11 +- .../_pysha3.cpython-38-x86_64-linux-gnu.so | Bin 517664 -> 0 bytes freezed_deps/base58-2.0.1.dist-info/COPYING | 19 - freezed_deps/base58-2.0.1.dist-info/INSTALLER | 1 - freezed_deps/base58-2.0.1.dist-info/METADATA | 20 - freezed_deps/base58-2.0.1.dist-info/RECORD | 13 - freezed_deps/base58-2.0.1.dist-info/WHEEL | 5 - .../base58-2.0.1.dist-info/entry_points.txt | 3 - freezed_deps/base58-2.0.1.dist-info/top_level.txt | 1 - freezed_deps/base58/__init__.py | 130 -- freezed_deps/base58/__main__.py | 47 - freezed_deps/base58/py.typed | 1 - freezed_deps/bech32.py | 123 -- freezed_deps/bin/base58 | 8 - freezed_deps/bin/keytree.py | 238 --- freezed_deps/ecdsa-0.15.dist-info/INSTALLER | 1 - freezed_deps/ecdsa-0.15.dist-info/LICENSE | 24 - freezed_deps/ecdsa-0.15.dist-info/METADATA | 625 ------ freezed_deps/ecdsa-0.15.dist-info/RECORD | 52 - freezed_deps/ecdsa-0.15.dist-info/WHEEL | 6 - freezed_deps/ecdsa-0.15.dist-info/top_level.txt | 1 - freezed_deps/ecdsa/__init__.py | 25 - freezed_deps/ecdsa/_compat.py | 39 - freezed_deps/ecdsa/_rwlock.py | 85 - freezed_deps/ecdsa/_version.py | 21 - freezed_deps/ecdsa/curves.py | 128 -- freezed_deps/ecdsa/der.py | 384 ---- freezed_deps/ecdsa/ecdh.py | 306 --- freezed_deps/ecdsa/ecdsa.py | 446 ----- freezed_deps/ecdsa/ellipticcurve.py | 780 -------- freezed_deps/ecdsa/keys.py | 1219 ------------ freezed_deps/ecdsa/numbertheory.py | 600 ------ freezed_deps/ecdsa/rfc6979.py | 107 - freezed_deps/ecdsa/test_der.py | 384 ---- freezed_deps/ecdsa/test_ecdh.py | 350 ---- freezed_deps/ecdsa/test_ecdsa.py | 448 ----- freezed_deps/ecdsa/test_ellipticcurve.py | 188 -- freezed_deps/ecdsa/test_jacobi.py | 365 ---- freezed_deps/ecdsa/test_keys.py | 373 ---- freezed_deps/ecdsa/test_malformed_sigs.py | 306 --- freezed_deps/ecdsa/test_numbertheory.py | 275 --- freezed_deps/ecdsa/test_pyecdsa.py | 1445 -------------- freezed_deps/ecdsa/test_rw_lock.py | 175 -- freezed_deps/ecdsa/util.py | 401 ---- freezed_deps/keytree.py-0.2.dist-info/INSTALLER | 1 - freezed_deps/keytree.py-0.2.dist-info/METADATA | 17 - freezed_deps/keytree.py-0.2.dist-info/RECORD | 10 - freezed_deps/keytree.py-0.2.dist-info/WHEEL | 5 - .../keytree.py-0.2.dist-info/direct_url.json | 1 - .../keytree.py-0.2.dist-info/top_level.txt | 1 - freezed_deps/mnemonic-0.19.dist-info/AUTHORS | 2 - freezed_deps/mnemonic-0.19.dist-info/INSTALLER | 1 - freezed_deps/mnemonic-0.19.dist-info/LICENSE | 21 - freezed_deps/mnemonic-0.19.dist-info/METADATA | 42 - freezed_deps/mnemonic-0.19.dist-info/RECORD | 19 - freezed_deps/mnemonic-0.19.dist-info/WHEEL | 6 - freezed_deps/mnemonic-0.19.dist-info/top_level.txt | 1 - freezed_deps/mnemonic/__init__.py | 1 - freezed_deps/mnemonic/mnemonic.py | 291 --- .../mnemonic/wordlist/chinese_simplified.txt | 2048 -------------------- .../mnemonic/wordlist/chinese_traditional.txt | 2048 -------------------- freezed_deps/mnemonic/wordlist/english.txt | 2048 -------------------- freezed_deps/mnemonic/wordlist/french.txt | 2048 -------------------- freezed_deps/mnemonic/wordlist/italian.txt | 2048 -------------------- freezed_deps/mnemonic/wordlist/japanese.txt | 2048 -------------------- freezed_deps/mnemonic/wordlist/korean.txt | 2048 -------------------- freezed_deps/mnemonic/wordlist/spanish.txt | 2048 -------------------- freezed_deps/pysha3-1.0.2.dist-info/INSTALLER | 1 - freezed_deps/pysha3-1.0.2.dist-info/LICENSE | 49 - freezed_deps/pysha3-1.0.2.dist-info/METADATA | 251 --- freezed_deps/pysha3-1.0.2.dist-info/RECORD | 9 - freezed_deps/pysha3-1.0.2.dist-info/WHEEL | 5 - freezed_deps/pysha3-1.0.2.dist-info/top_level.txt | 2 - freezed_deps/sha3.py | 24 - freezed_deps/six-1.15.0.dist-info/INSTALLER | 1 - freezed_deps/six-1.15.0.dist-info/LICENSE | 18 - freezed_deps/six-1.15.0.dist-info/METADATA | 49 - freezed_deps/six-1.15.0.dist-info/RECORD | 8 - freezed_deps/six-1.15.0.dist-info/WHEEL | 6 - freezed_deps/six-1.15.0.dist-info/top_level.txt | 1 - freezed_deps/six.py | 982 ---------- frozen_deps/Crypto/Cipher/AES.py | 115 ++ frozen_deps/Crypto/Cipher/ARC2.py | 130 ++ frozen_deps/Crypto/Cipher/ARC4.py | 120 ++ frozen_deps/Crypto/Cipher/Blowfish.py | 121 ++ frozen_deps/Crypto/Cipher/CAST.py | 123 ++ frozen_deps/Crypto/Cipher/DES.py | 118 ++ frozen_deps/Crypto/Cipher/DES3.py | 133 ++ frozen_deps/Crypto/Cipher/PKCS1_OAEP.py | 255 +++ frozen_deps/Crypto/Cipher/PKCS1_v1_5.py | 226 +++ frozen_deps/Crypto/Cipher/XOR.py | 86 + .../Cipher/_AES.cpython-38-x86_64-linux-gnu.so | Bin 0 -> 43640 bytes .../Cipher/_ARC2.cpython-38-x86_64-linux-gnu.so | Bin 0 -> 26904 bytes .../Cipher/_ARC4.cpython-38-x86_64-linux-gnu.so | Bin 0 -> 18064 bytes .../_Blowfish.cpython-38-x86_64-linux-gnu.so | Bin 0 -> 35368 bytes .../Cipher/_CAST.cpython-38-x86_64-linux-gnu.so | Bin 0 -> 35320 bytes .../Cipher/_DES.cpython-38-x86_64-linux-gnu.so | Bin 0 -> 68560 bytes .../Cipher/_DES3.cpython-38-x86_64-linux-gnu.so | Bin 0 -> 68560 bytes .../Cipher/_XOR.cpython-38-x86_64-linux-gnu.so | Bin 0 -> 18096 bytes frozen_deps/Crypto/Cipher/__init__.py | 83 + frozen_deps/Crypto/Cipher/blockalgo.py | 296 +++ frozen_deps/Crypto/Hash/HMAC.py | 212 ++ frozen_deps/Crypto/Hash/MD2.py | 91 + frozen_deps/Crypto/Hash/MD4.py | 91 + frozen_deps/Crypto/Hash/MD5.py | 97 + frozen_deps/Crypto/Hash/RIPEMD.py | 94 + frozen_deps/Crypto/Hash/SHA.py | 98 + frozen_deps/Crypto/Hash/SHA224.py | 95 + frozen_deps/Crypto/Hash/SHA256.py | 95 + frozen_deps/Crypto/Hash/SHA384.py | 96 + frozen_deps/Crypto/Hash/SHA512.py | 95 + .../Hash/_MD2.cpython-38-x86_64-linux-gnu.so | Bin 0 -> 18464 bytes .../Hash/_MD4.cpython-38-x86_64-linux-gnu.so | Bin 0 -> 18552 bytes .../Hash/_RIPEMD160.cpython-38-x86_64-linux-gnu.so | Bin 0 -> 22888 bytes .../Hash/_SHA224.cpython-38-x86_64-linux-gnu.so | Bin 0 -> 18496 bytes .../Hash/_SHA256.cpython-38-x86_64-linux-gnu.so | Bin 0 -> 18496 bytes .../Hash/_SHA384.cpython-38-x86_64-linux-gnu.so | Bin 0 -> 22592 bytes .../Hash/_SHA512.cpython-38-x86_64-linux-gnu.so | Bin 0 -> 22592 bytes frozen_deps/Crypto/Hash/__init__.py | 56 + frozen_deps/Crypto/Hash/hashalgo.py | 116 ++ frozen_deps/Crypto/Protocol/AllOrNothing.py | 320 +++ frozen_deps/Crypto/Protocol/Chaffing.py | 245 +++ frozen_deps/Crypto/Protocol/KDF.py | 123 ++ frozen_deps/Crypto/Protocol/__init__.py | 41 + frozen_deps/Crypto/PublicKey/DSA.py | 379 ++++ frozen_deps/Crypto/PublicKey/ElGamal.py | 373 ++++ frozen_deps/Crypto/PublicKey/RSA.py | 719 +++++++ frozen_deps/Crypto/PublicKey/_DSA.py | 115 ++ frozen_deps/Crypto/PublicKey/_RSA.py | 81 + frozen_deps/Crypto/PublicKey/__init__.py | 41 + .../_fastmath.cpython-38-x86_64-linux-gnu.so | Bin 0 -> 78864 bytes frozen_deps/Crypto/PublicKey/_slowmath.py | 187 ++ frozen_deps/Crypto/PublicKey/pubkey.py | 240 +++ .../Crypto/Random/Fortuna/FortunaAccumulator.py | 171 ++ .../Crypto/Random/Fortuna/FortunaGenerator.py | 132 ++ frozen_deps/Crypto/Random/Fortuna/SHAd256.py | 98 + frozen_deps/Crypto/Random/Fortuna/__init__.py | 0 frozen_deps/Crypto/Random/OSRNG/__init__.py | 40 + frozen_deps/Crypto/Random/OSRNG/fallback.py | 46 + frozen_deps/Crypto/Random/OSRNG/posix.py | 86 + frozen_deps/Crypto/Random/OSRNG/rng_base.py | 88 + frozen_deps/Crypto/Random/_UserFriendlyRNG.py | 230 +++ frozen_deps/Crypto/Random/__init__.py | 43 + frozen_deps/Crypto/Random/random.py | 142 ++ frozen_deps/Crypto/Signature/PKCS1_PSS.py | 355 ++++ frozen_deps/Crypto/Signature/PKCS1_v1_5.py | 236 +++ frozen_deps/Crypto/Signature/__init__.py | 31 + frozen_deps/Crypto/Util/Counter.py | 127 ++ frozen_deps/Crypto/Util/RFC1751.py | 365 ++++ frozen_deps/Crypto/Util/__init__.py | 37 + .../Util/_counter.cpython-38-x86_64-linux-gnu.so | Bin 0 -> 22856 bytes frozen_deps/Crypto/Util/_number_new.py | 119 ++ frozen_deps/Crypto/Util/asn1.py | 286 +++ frozen_deps/Crypto/Util/number.py | 1456 ++++++++++++++ frozen_deps/Crypto/Util/py3compat.py | 107 + frozen_deps/Crypto/Util/randpool.py | 82 + .../Util/strxor.cpython-38-x86_64-linux-gnu.so | Bin 0 -> 16784 bytes frozen_deps/Crypto/Util/winrandom.py | 28 + frozen_deps/Crypto/__init__.py | 51 + frozen_deps/Crypto/pct_warnings.py | 60 + frozen_deps/_pysha3.cpython-38-x86_64-linux-gnu.so | Bin 0 -> 517664 bytes frozen_deps/base58-2.0.1.dist-info/COPYING | 19 + frozen_deps/base58-2.0.1.dist-info/INSTALLER | 1 + frozen_deps/base58-2.0.1.dist-info/METADATA | 20 + frozen_deps/base58-2.0.1.dist-info/RECORD | 13 + frozen_deps/base58-2.0.1.dist-info/WHEEL | 5 + .../base58-2.0.1.dist-info/entry_points.txt | 3 + frozen_deps/base58-2.0.1.dist-info/top_level.txt | 1 + frozen_deps/base58/__init__.py | 130 ++ frozen_deps/base58/__main__.py | 47 + frozen_deps/base58/py.typed | 1 + frozen_deps/bech32.py | 123 ++ frozen_deps/bin/base58 | 8 + frozen_deps/bin/keytree.py | 290 +++ frozen_deps/ecdsa-0.16.1.dist-info/INSTALLER | 1 + frozen_deps/ecdsa-0.16.1.dist-info/LICENSE | 24 + frozen_deps/ecdsa-0.16.1.dist-info/METADATA | 626 ++++++ frozen_deps/ecdsa-0.16.1.dist-info/RECORD | 52 + frozen_deps/ecdsa-0.16.1.dist-info/WHEEL | 6 + frozen_deps/ecdsa-0.16.1.dist-info/top_level.txt | 1 + frozen_deps/ecdsa/__init__.py | 76 + frozen_deps/ecdsa/_compat.py | 60 + frozen_deps/ecdsa/_rwlock.py | 86 + frozen_deps/ecdsa/_version.py | 21 + frozen_deps/ecdsa/curves.py | 194 ++ frozen_deps/ecdsa/der.py | 409 ++++ frozen_deps/ecdsa/ecdh.py | 327 ++++ frozen_deps/ecdsa/ecdsa.py | 754 +++++++ frozen_deps/ecdsa/ellipticcurve.py | 847 ++++++++ frozen_deps/ecdsa/keys.py | 1453 ++++++++++++++ frozen_deps/ecdsa/numbertheory.py | 810 ++++++++ frozen_deps/ecdsa/rfc6979.py | 110 ++ frozen_deps/ecdsa/test_der.py | 397 ++++ frozen_deps/ecdsa/test_ecdh.py | 370 ++++ frozen_deps/ecdsa/test_ecdsa.py | 538 +++++ frozen_deps/ecdsa/test_ellipticcurve.py | 200 ++ frozen_deps/ecdsa/test_jacobi.py | 438 +++++ frozen_deps/ecdsa/test_keys.py | 454 +++++ frozen_deps/ecdsa/test_malformed_sigs.py | 350 ++++ frozen_deps/ecdsa/test_numbertheory.py | 326 ++++ frozen_deps/ecdsa/test_pyecdsa.py | 1989 +++++++++++++++++++ frozen_deps/ecdsa/test_rw_lock.py | 177 ++ frozen_deps/ecdsa/util.py | 435 +++++ frozen_deps/keytree.py-0.2.dist-info/INSTALLER | 1 + frozen_deps/keytree.py-0.2.dist-info/METADATA | 18 + frozen_deps/keytree.py-0.2.dist-info/RECORD | 10 + frozen_deps/keytree.py-0.2.dist-info/WHEEL | 5 + .../keytree.py-0.2.dist-info/direct_url.json | 1 + frozen_deps/keytree.py-0.2.dist-info/top_level.txt | 1 + frozen_deps/mnemonic-0.19.dist-info/AUTHORS | 2 + frozen_deps/mnemonic-0.19.dist-info/INSTALLER | 1 + frozen_deps/mnemonic-0.19.dist-info/LICENSE | 21 + frozen_deps/mnemonic-0.19.dist-info/METADATA | 42 + frozen_deps/mnemonic-0.19.dist-info/RECORD | 19 + frozen_deps/mnemonic-0.19.dist-info/WHEEL | 6 + frozen_deps/mnemonic-0.19.dist-info/top_level.txt | 1 + frozen_deps/mnemonic/__init__.py | 1 + frozen_deps/mnemonic/mnemonic.py | 291 +++ .../mnemonic/wordlist/chinese_simplified.txt | 2048 ++++++++++++++++++++ .../mnemonic/wordlist/chinese_traditional.txt | 2048 ++++++++++++++++++++ frozen_deps/mnemonic/wordlist/english.txt | 2048 ++++++++++++++++++++ frozen_deps/mnemonic/wordlist/french.txt | 2048 ++++++++++++++++++++ frozen_deps/mnemonic/wordlist/italian.txt | 2048 ++++++++++++++++++++ frozen_deps/mnemonic/wordlist/japanese.txt | 2048 ++++++++++++++++++++ frozen_deps/mnemonic/wordlist/korean.txt | 2048 ++++++++++++++++++++ frozen_deps/mnemonic/wordlist/spanish.txt | 2048 ++++++++++++++++++++ frozen_deps/pycrypto-2.6.1.dist-info/INSTALLER | 1 + frozen_deps/pycrypto-2.6.1.dist-info/METADATA | 22 + frozen_deps/pycrypto-2.6.1.dist-info/RECORD | 261 +++ frozen_deps/pycrypto-2.6.1.dist-info/WHEEL | 5 + frozen_deps/pycrypto-2.6.1.dist-info/top_level.txt | 1 + frozen_deps/pysha3-1.0.2.dist-info/INSTALLER | 1 + frozen_deps/pysha3-1.0.2.dist-info/LICENSE | 49 + frozen_deps/pysha3-1.0.2.dist-info/METADATA | 251 +++ frozen_deps/pysha3-1.0.2.dist-info/RECORD | 9 + frozen_deps/pysha3-1.0.2.dist-info/WHEEL | 5 + frozen_deps/pysha3-1.0.2.dist-info/top_level.txt | 2 + frozen_deps/sha3.py | 24 + frozen_deps/six-1.15.0.dist-info/INSTALLER | 1 + frozen_deps/six-1.15.0.dist-info/LICENSE | 18 + frozen_deps/six-1.15.0.dist-info/METADATA | 49 + frozen_deps/six-1.15.0.dist-info/RECORD | 8 + frozen_deps/six-1.15.0.dist-info/WHEEL | 6 + frozen_deps/six-1.15.0.dist-info/top_level.txt | 1 + frozen_deps/six.py | 982 ++++++++++ keytree.py | 2 +- 246 files changed, 41021 insertions(+), 28383 deletions(-) delete mode 100755 freezed_deps/_pysha3.cpython-38-x86_64-linux-gnu.so delete mode 100644 freezed_deps/base58-2.0.1.dist-info/COPYING delete mode 100644 freezed_deps/base58-2.0.1.dist-info/INSTALLER delete mode 100644 freezed_deps/base58-2.0.1.dist-info/METADATA delete mode 100644 freezed_deps/base58-2.0.1.dist-info/RECORD delete mode 100644 freezed_deps/base58-2.0.1.dist-info/WHEEL delete mode 100644 freezed_deps/base58-2.0.1.dist-info/entry_points.txt delete mode 100644 freezed_deps/base58-2.0.1.dist-info/top_level.txt delete mode 100644 freezed_deps/base58/__init__.py delete mode 100644 freezed_deps/base58/__main__.py delete mode 100644 freezed_deps/base58/py.typed delete mode 100644 freezed_deps/bech32.py delete mode 100755 freezed_deps/bin/base58 delete mode 100755 freezed_deps/bin/keytree.py delete mode 100644 freezed_deps/ecdsa-0.15.dist-info/INSTALLER delete mode 100644 freezed_deps/ecdsa-0.15.dist-info/LICENSE delete mode 100644 freezed_deps/ecdsa-0.15.dist-info/METADATA delete mode 100644 freezed_deps/ecdsa-0.15.dist-info/RECORD delete mode 100644 freezed_deps/ecdsa-0.15.dist-info/WHEEL delete mode 100644 freezed_deps/ecdsa-0.15.dist-info/top_level.txt delete mode 100644 freezed_deps/ecdsa/__init__.py delete mode 100644 freezed_deps/ecdsa/_compat.py delete mode 100644 freezed_deps/ecdsa/_rwlock.py delete mode 100644 freezed_deps/ecdsa/_version.py delete mode 100644 freezed_deps/ecdsa/curves.py delete mode 100644 freezed_deps/ecdsa/der.py delete mode 100644 freezed_deps/ecdsa/ecdh.py delete mode 100644 freezed_deps/ecdsa/ecdsa.py delete mode 100644 freezed_deps/ecdsa/ellipticcurve.py delete mode 100644 freezed_deps/ecdsa/keys.py delete mode 100644 freezed_deps/ecdsa/numbertheory.py delete mode 100644 freezed_deps/ecdsa/rfc6979.py delete mode 100644 freezed_deps/ecdsa/test_der.py delete mode 100644 freezed_deps/ecdsa/test_ecdh.py delete mode 100644 freezed_deps/ecdsa/test_ecdsa.py delete mode 100644 freezed_deps/ecdsa/test_ellipticcurve.py delete mode 100644 freezed_deps/ecdsa/test_jacobi.py delete mode 100644 freezed_deps/ecdsa/test_keys.py delete mode 100644 freezed_deps/ecdsa/test_malformed_sigs.py delete mode 100644 freezed_deps/ecdsa/test_numbertheory.py delete mode 100644 freezed_deps/ecdsa/test_pyecdsa.py delete mode 100644 freezed_deps/ecdsa/test_rw_lock.py delete mode 100644 freezed_deps/ecdsa/util.py delete mode 100644 freezed_deps/keytree.py-0.2.dist-info/INSTALLER delete mode 100644 freezed_deps/keytree.py-0.2.dist-info/METADATA delete mode 100644 freezed_deps/keytree.py-0.2.dist-info/RECORD delete mode 100644 freezed_deps/keytree.py-0.2.dist-info/WHEEL delete mode 100644 freezed_deps/keytree.py-0.2.dist-info/direct_url.json delete mode 100644 freezed_deps/keytree.py-0.2.dist-info/top_level.txt delete mode 100644 freezed_deps/mnemonic-0.19.dist-info/AUTHORS delete mode 100644 freezed_deps/mnemonic-0.19.dist-info/INSTALLER delete mode 100644 freezed_deps/mnemonic-0.19.dist-info/LICENSE delete mode 100644 freezed_deps/mnemonic-0.19.dist-info/METADATA delete mode 100644 freezed_deps/mnemonic-0.19.dist-info/RECORD delete mode 100644 freezed_deps/mnemonic-0.19.dist-info/WHEEL delete mode 100644 freezed_deps/mnemonic-0.19.dist-info/top_level.txt delete mode 100644 freezed_deps/mnemonic/__init__.py delete mode 100644 freezed_deps/mnemonic/mnemonic.py delete mode 100644 freezed_deps/mnemonic/wordlist/chinese_simplified.txt delete mode 100644 freezed_deps/mnemonic/wordlist/chinese_traditional.txt delete mode 100644 freezed_deps/mnemonic/wordlist/english.txt delete mode 100644 freezed_deps/mnemonic/wordlist/french.txt delete mode 100644 freezed_deps/mnemonic/wordlist/italian.txt delete mode 100644 freezed_deps/mnemonic/wordlist/japanese.txt delete mode 100644 freezed_deps/mnemonic/wordlist/korean.txt delete mode 100644 freezed_deps/mnemonic/wordlist/spanish.txt delete mode 100644 freezed_deps/pysha3-1.0.2.dist-info/INSTALLER delete mode 100644 freezed_deps/pysha3-1.0.2.dist-info/LICENSE delete mode 100644 freezed_deps/pysha3-1.0.2.dist-info/METADATA delete mode 100644 freezed_deps/pysha3-1.0.2.dist-info/RECORD delete mode 100644 freezed_deps/pysha3-1.0.2.dist-info/WHEEL delete mode 100644 freezed_deps/pysha3-1.0.2.dist-info/top_level.txt delete mode 100644 freezed_deps/sha3.py delete mode 100644 freezed_deps/six-1.15.0.dist-info/INSTALLER delete mode 100644 freezed_deps/six-1.15.0.dist-info/LICENSE delete mode 100644 freezed_deps/six-1.15.0.dist-info/METADATA delete mode 100644 freezed_deps/six-1.15.0.dist-info/RECORD delete mode 100644 freezed_deps/six-1.15.0.dist-info/WHEEL delete mode 100644 freezed_deps/six-1.15.0.dist-info/top_level.txt delete mode 100644 freezed_deps/six.py create mode 100644 frozen_deps/Crypto/Cipher/AES.py create mode 100644 frozen_deps/Crypto/Cipher/ARC2.py create mode 100644 frozen_deps/Crypto/Cipher/ARC4.py create mode 100644 frozen_deps/Crypto/Cipher/Blowfish.py create mode 100644 frozen_deps/Crypto/Cipher/CAST.py create mode 100644 frozen_deps/Crypto/Cipher/DES.py create mode 100644 frozen_deps/Crypto/Cipher/DES3.py create mode 100644 frozen_deps/Crypto/Cipher/PKCS1_OAEP.py create mode 100644 frozen_deps/Crypto/Cipher/PKCS1_v1_5.py create mode 100644 frozen_deps/Crypto/Cipher/XOR.py create mode 100755 frozen_deps/Crypto/Cipher/_AES.cpython-38-x86_64-linux-gnu.so create mode 100755 frozen_deps/Crypto/Cipher/_ARC2.cpython-38-x86_64-linux-gnu.so create mode 100755 frozen_deps/Crypto/Cipher/_ARC4.cpython-38-x86_64-linux-gnu.so create mode 100755 frozen_deps/Crypto/Cipher/_Blowfish.cpython-38-x86_64-linux-gnu.so create mode 100755 frozen_deps/Crypto/Cipher/_CAST.cpython-38-x86_64-linux-gnu.so create mode 100755 frozen_deps/Crypto/Cipher/_DES.cpython-38-x86_64-linux-gnu.so create mode 100755 frozen_deps/Crypto/Cipher/_DES3.cpython-38-x86_64-linux-gnu.so create mode 100755 frozen_deps/Crypto/Cipher/_XOR.cpython-38-x86_64-linux-gnu.so create mode 100644 frozen_deps/Crypto/Cipher/__init__.py create mode 100644 frozen_deps/Crypto/Cipher/blockalgo.py create mode 100644 frozen_deps/Crypto/Hash/HMAC.py create mode 100644 frozen_deps/Crypto/Hash/MD2.py create mode 100644 frozen_deps/Crypto/Hash/MD4.py create mode 100644 frozen_deps/Crypto/Hash/MD5.py create mode 100644 frozen_deps/Crypto/Hash/RIPEMD.py create mode 100644 frozen_deps/Crypto/Hash/SHA.py create mode 100644 frozen_deps/Crypto/Hash/SHA224.py create mode 100644 frozen_deps/Crypto/Hash/SHA256.py create mode 100644 frozen_deps/Crypto/Hash/SHA384.py create mode 100644 frozen_deps/Crypto/Hash/SHA512.py create mode 100755 frozen_deps/Crypto/Hash/_MD2.cpython-38-x86_64-linux-gnu.so create mode 100755 frozen_deps/Crypto/Hash/_MD4.cpython-38-x86_64-linux-gnu.so create mode 100755 frozen_deps/Crypto/Hash/_RIPEMD160.cpython-38-x86_64-linux-gnu.so create mode 100755 frozen_deps/Crypto/Hash/_SHA224.cpython-38-x86_64-linux-gnu.so create mode 100755 frozen_deps/Crypto/Hash/_SHA256.cpython-38-x86_64-linux-gnu.so create mode 100755 frozen_deps/Crypto/Hash/_SHA384.cpython-38-x86_64-linux-gnu.so create mode 100755 frozen_deps/Crypto/Hash/_SHA512.cpython-38-x86_64-linux-gnu.so create mode 100644 frozen_deps/Crypto/Hash/__init__.py create mode 100644 frozen_deps/Crypto/Hash/hashalgo.py create mode 100644 frozen_deps/Crypto/Protocol/AllOrNothing.py create mode 100644 frozen_deps/Crypto/Protocol/Chaffing.py create mode 100644 frozen_deps/Crypto/Protocol/KDF.py create mode 100644 frozen_deps/Crypto/Protocol/__init__.py create mode 100644 frozen_deps/Crypto/PublicKey/DSA.py create mode 100644 frozen_deps/Crypto/PublicKey/ElGamal.py create mode 100644 frozen_deps/Crypto/PublicKey/RSA.py create mode 100644 frozen_deps/Crypto/PublicKey/_DSA.py create mode 100644 frozen_deps/Crypto/PublicKey/_RSA.py create mode 100644 frozen_deps/Crypto/PublicKey/__init__.py create mode 100755 frozen_deps/Crypto/PublicKey/_fastmath.cpython-38-x86_64-linux-gnu.so create mode 100644 frozen_deps/Crypto/PublicKey/_slowmath.py create mode 100644 frozen_deps/Crypto/PublicKey/pubkey.py create mode 100644 frozen_deps/Crypto/Random/Fortuna/FortunaAccumulator.py create mode 100644 frozen_deps/Crypto/Random/Fortuna/FortunaGenerator.py create mode 100644 frozen_deps/Crypto/Random/Fortuna/SHAd256.py create mode 100644 frozen_deps/Crypto/Random/Fortuna/__init__.py create mode 100644 frozen_deps/Crypto/Random/OSRNG/__init__.py create mode 100644 frozen_deps/Crypto/Random/OSRNG/fallback.py create mode 100644 frozen_deps/Crypto/Random/OSRNG/posix.py create mode 100644 frozen_deps/Crypto/Random/OSRNG/rng_base.py create mode 100644 frozen_deps/Crypto/Random/_UserFriendlyRNG.py create mode 100644 frozen_deps/Crypto/Random/__init__.py create mode 100644 frozen_deps/Crypto/Random/random.py create mode 100644 frozen_deps/Crypto/Signature/PKCS1_PSS.py create mode 100644 frozen_deps/Crypto/Signature/PKCS1_v1_5.py create mode 100644 frozen_deps/Crypto/Signature/__init__.py create mode 100644 frozen_deps/Crypto/Util/Counter.py create mode 100644 frozen_deps/Crypto/Util/RFC1751.py create mode 100644 frozen_deps/Crypto/Util/__init__.py create mode 100755 frozen_deps/Crypto/Util/_counter.cpython-38-x86_64-linux-gnu.so create mode 100644 frozen_deps/Crypto/Util/_number_new.py create mode 100644 frozen_deps/Crypto/Util/asn1.py create mode 100644 frozen_deps/Crypto/Util/number.py create mode 100644 frozen_deps/Crypto/Util/py3compat.py create mode 100644 frozen_deps/Crypto/Util/randpool.py create mode 100755 frozen_deps/Crypto/Util/strxor.cpython-38-x86_64-linux-gnu.so create mode 100644 frozen_deps/Crypto/Util/winrandom.py create mode 100644 frozen_deps/Crypto/__init__.py create mode 100644 frozen_deps/Crypto/pct_warnings.py create mode 100755 frozen_deps/_pysha3.cpython-38-x86_64-linux-gnu.so create mode 100644 frozen_deps/base58-2.0.1.dist-info/COPYING create mode 100644 frozen_deps/base58-2.0.1.dist-info/INSTALLER create mode 100644 frozen_deps/base58-2.0.1.dist-info/METADATA create mode 100644 frozen_deps/base58-2.0.1.dist-info/RECORD create mode 100644 frozen_deps/base58-2.0.1.dist-info/WHEEL create mode 100644 frozen_deps/base58-2.0.1.dist-info/entry_points.txt create mode 100644 frozen_deps/base58-2.0.1.dist-info/top_level.txt create mode 100644 frozen_deps/base58/__init__.py create mode 100644 frozen_deps/base58/__main__.py create mode 100644 frozen_deps/base58/py.typed create mode 100644 frozen_deps/bech32.py create mode 100755 frozen_deps/bin/base58 create mode 100755 frozen_deps/bin/keytree.py create mode 100644 frozen_deps/ecdsa-0.16.1.dist-info/INSTALLER create mode 100644 frozen_deps/ecdsa-0.16.1.dist-info/LICENSE create mode 100644 frozen_deps/ecdsa-0.16.1.dist-info/METADATA create mode 100644 frozen_deps/ecdsa-0.16.1.dist-info/RECORD create mode 100644 frozen_deps/ecdsa-0.16.1.dist-info/WHEEL create mode 100644 frozen_deps/ecdsa-0.16.1.dist-info/top_level.txt create mode 100644 frozen_deps/ecdsa/__init__.py create mode 100644 frozen_deps/ecdsa/_compat.py create mode 100644 frozen_deps/ecdsa/_rwlock.py create mode 100644 frozen_deps/ecdsa/_version.py create mode 100644 frozen_deps/ecdsa/curves.py create mode 100644 frozen_deps/ecdsa/der.py create mode 100644 frozen_deps/ecdsa/ecdh.py create mode 100644 frozen_deps/ecdsa/ecdsa.py create mode 100644 frozen_deps/ecdsa/ellipticcurve.py create mode 100644 frozen_deps/ecdsa/keys.py create mode 100644 frozen_deps/ecdsa/numbertheory.py create mode 100644 frozen_deps/ecdsa/rfc6979.py create mode 100644 frozen_deps/ecdsa/test_der.py create mode 100644 frozen_deps/ecdsa/test_ecdh.py create mode 100644 frozen_deps/ecdsa/test_ecdsa.py create mode 100644 frozen_deps/ecdsa/test_ellipticcurve.py create mode 100644 frozen_deps/ecdsa/test_jacobi.py create mode 100644 frozen_deps/ecdsa/test_keys.py create mode 100644 frozen_deps/ecdsa/test_malformed_sigs.py create mode 100644 frozen_deps/ecdsa/test_numbertheory.py create mode 100644 frozen_deps/ecdsa/test_pyecdsa.py create mode 100644 frozen_deps/ecdsa/test_rw_lock.py create mode 100644 frozen_deps/ecdsa/util.py create mode 100644 frozen_deps/keytree.py-0.2.dist-info/INSTALLER create mode 100644 frozen_deps/keytree.py-0.2.dist-info/METADATA create mode 100644 frozen_deps/keytree.py-0.2.dist-info/RECORD create mode 100644 frozen_deps/keytree.py-0.2.dist-info/WHEEL create mode 100644 frozen_deps/keytree.py-0.2.dist-info/direct_url.json create mode 100644 frozen_deps/keytree.py-0.2.dist-info/top_level.txt create mode 100644 frozen_deps/mnemonic-0.19.dist-info/AUTHORS create mode 100644 frozen_deps/mnemonic-0.19.dist-info/INSTALLER create mode 100644 frozen_deps/mnemonic-0.19.dist-info/LICENSE create mode 100644 frozen_deps/mnemonic-0.19.dist-info/METADATA create mode 100644 frozen_deps/mnemonic-0.19.dist-info/RECORD create mode 100644 frozen_deps/mnemonic-0.19.dist-info/WHEEL create mode 100644 frozen_deps/mnemonic-0.19.dist-info/top_level.txt create mode 100644 frozen_deps/mnemonic/__init__.py create mode 100644 frozen_deps/mnemonic/mnemonic.py create mode 100644 frozen_deps/mnemonic/wordlist/chinese_simplified.txt create mode 100644 frozen_deps/mnemonic/wordlist/chinese_traditional.txt create mode 100644 frozen_deps/mnemonic/wordlist/english.txt create mode 100644 frozen_deps/mnemonic/wordlist/french.txt create mode 100644 frozen_deps/mnemonic/wordlist/italian.txt create mode 100644 frozen_deps/mnemonic/wordlist/japanese.txt create mode 100644 frozen_deps/mnemonic/wordlist/korean.txt create mode 100644 frozen_deps/mnemonic/wordlist/spanish.txt create mode 100644 frozen_deps/pycrypto-2.6.1.dist-info/INSTALLER create mode 100644 frozen_deps/pycrypto-2.6.1.dist-info/METADATA create mode 100644 frozen_deps/pycrypto-2.6.1.dist-info/RECORD create mode 100644 frozen_deps/pycrypto-2.6.1.dist-info/WHEEL create mode 100644 frozen_deps/pycrypto-2.6.1.dist-info/top_level.txt create mode 100644 frozen_deps/pysha3-1.0.2.dist-info/INSTALLER create mode 100644 frozen_deps/pysha3-1.0.2.dist-info/LICENSE create mode 100644 frozen_deps/pysha3-1.0.2.dist-info/METADATA create mode 100644 frozen_deps/pysha3-1.0.2.dist-info/RECORD create mode 100644 frozen_deps/pysha3-1.0.2.dist-info/WHEEL create mode 100644 frozen_deps/pysha3-1.0.2.dist-info/top_level.txt create mode 100644 frozen_deps/sha3.py create mode 100644 frozen_deps/six-1.15.0.dist-info/INSTALLER create mode 100644 frozen_deps/six-1.15.0.dist-info/LICENSE create mode 100644 frozen_deps/six-1.15.0.dist-info/METADATA create mode 100644 frozen_deps/six-1.15.0.dist-info/RECORD create mode 100644 frozen_deps/six-1.15.0.dist-info/WHEEL create mode 100644 frozen_deps/six-1.15.0.dist-info/top_level.txt create mode 100644 frozen_deps/six.py diff --git a/README.rst b/README.rst index 8f981f9..ecfd3d5 100644 --- a/README.rst +++ b/README.rst @@ -3,14 +3,15 @@ keytree.py - Make sure you have Python >= 3.7 - CD into the cloned repo +- Make sure dependencies are installed: ``pip3 install --user .`` - Derive 10 keys from the given mnemonic: ``./keytree.py --end-idx 10`` - Generate a new mnemonic and derive 10 keys from it: ``./keytree.py --end-idx 10 --gen-mnemonic`` -- Caveat: the above instructions use a freezed, full clone of all dependencies - (recommended). If you instead do a normal pip install and use - ``keytree.py`` (without ``./`` prefix), it will use the latest deps fetched - by pip. - You can also load the mnemonic from an existing JSON keystore file (generated by the official AVAX Wallet): ``./keytree.py --from-avax-keystore``. -- To see all private keys and the mnemonic word, use ``--show-private`` (only +- To see all private keys and the mnemonic phrase, use ``--show-private`` (only use it after you look around and ensure there is no one else looking at your screen). +- Caveat: the above instructions use a frozen, full clone of all dependencies + (recommended). If you instead do a normal pip install and use + ``keytree.py`` (without ``./`` prefix), it will use the latest deps fetched + by pip. diff --git a/freezed_deps/_pysha3.cpython-38-x86_64-linux-gnu.so b/freezed_deps/_pysha3.cpython-38-x86_64-linux-gnu.so deleted file mode 100755 index 0d09638..0000000 Binary files a/freezed_deps/_pysha3.cpython-38-x86_64-linux-gnu.so and /dev/null differ diff --git a/freezed_deps/base58-2.0.1.dist-info/COPYING b/freezed_deps/base58-2.0.1.dist-info/COPYING deleted file mode 100644 index 342bd62..0000000 --- a/freezed_deps/base58-2.0.1.dist-info/COPYING +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2015 David Keijser - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/freezed_deps/base58-2.0.1.dist-info/INSTALLER b/freezed_deps/base58-2.0.1.dist-info/INSTALLER deleted file mode 100644 index a1b589e..0000000 --- a/freezed_deps/base58-2.0.1.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/freezed_deps/base58-2.0.1.dist-info/METADATA b/freezed_deps/base58-2.0.1.dist-info/METADATA deleted file mode 100644 index 22a37ad..0000000 --- a/freezed_deps/base58-2.0.1.dist-info/METADATA +++ /dev/null @@ -1,20 +0,0 @@ -Metadata-Version: 2.1 -Name: base58 -Version: 2.0.1 -Summary: Base58 and Base58Check implementation -Home-page: https://github.com/keis/base58 -Author: David Keijser -Author-email: keijser@gmail.com -License: MIT -Platform: UNKNOWN -Classifier: Development Status :: 5 - Production/Stable -Classifier: Intended Audience :: Developers -Classifier: Natural Language :: English -Classifier: License :: OSI Approved :: MIT License -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 3 -Requires-Python: >=3.5 - -UNKNOWN - - diff --git a/freezed_deps/base58-2.0.1.dist-info/RECORD b/freezed_deps/base58-2.0.1.dist-info/RECORD deleted file mode 100644 index d20c1c2..0000000 --- a/freezed_deps/base58-2.0.1.dist-info/RECORD +++ /dev/null @@ -1,13 +0,0 @@ -../../bin/base58,sha256=WWCKVkDRfe64OQtfsxf-b0PQGIclDIn84xO8gkjjWcY,213 -base58-2.0.1.dist-info/COPYING,sha256=z0aU8EC3oxzY7D280LWDpgHA1MN94Ba-eqCgbjpqOlQ,1057 -base58-2.0.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -base58-2.0.1.dist-info/METADATA,sha256=r4yScmUS3A8Yx7mmsSyaqfMSINg6FAIQK2ocWJO1tJw,540 -base58-2.0.1.dist-info/RECORD,, -base58-2.0.1.dist-info/WHEEL,sha256=p46_5Uhzqz6AzeSosiOnxK-zmFja1i22CrQCjmYe8ec,92 -base58-2.0.1.dist-info/entry_points.txt,sha256=7WwcggBSeBwcC22-LkpqMOCaPdey0nOG3QEaKok403Y,49 -base58-2.0.1.dist-info/top_level.txt,sha256=BVSonMPECDcX_2XqQ7iILRqitlshZNNEmLCEWlpvUvI,7 -base58/__init__.py,sha256=ccX9CZMek4UC0edA_cHs71MgC4YqJCPBhvycuzhbucc,3085 -base58/__main__.py,sha256=OiE3DXq4vwYyAVYC3SM9Y0AQbMuS2IA0v2mvzwv96pk,1080 -base58/__pycache__/__init__.cpython-38.pyc,, -base58/__pycache__/__main__.cpython-38.pyc,, -base58/py.typed,sha256=dcrsqJrcYfTX-ckLFJMTaj6mD8aDe2u0tkQG-ZYxnEg,26 diff --git a/freezed_deps/base58-2.0.1.dist-info/WHEEL b/freezed_deps/base58-2.0.1.dist-info/WHEEL deleted file mode 100644 index 3b5c403..0000000 --- a/freezed_deps/base58-2.0.1.dist-info/WHEEL +++ /dev/null @@ -1,5 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.33.6) -Root-Is-Purelib: true -Tag: py3-none-any - diff --git a/freezed_deps/base58-2.0.1.dist-info/entry_points.txt b/freezed_deps/base58-2.0.1.dist-info/entry_points.txt deleted file mode 100644 index dc6d6a2..0000000 --- a/freezed_deps/base58-2.0.1.dist-info/entry_points.txt +++ /dev/null @@ -1,3 +0,0 @@ -[console_scripts] -base58 = base58.__main__:main - diff --git a/freezed_deps/base58-2.0.1.dist-info/top_level.txt b/freezed_deps/base58-2.0.1.dist-info/top_level.txt deleted file mode 100644 index b4c9d71..0000000 --- a/freezed_deps/base58-2.0.1.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -base58 diff --git a/freezed_deps/base58/__init__.py b/freezed_deps/base58/__init__.py deleted file mode 100644 index ff2fa18..0000000 --- a/freezed_deps/base58/__init__.py +++ /dev/null @@ -1,130 +0,0 @@ -'''Base58 encoding - -Implementations of Base58 and Base58Check encodings that are compatible -with the bitcoin network. -''' - -# This module is based upon base58 snippets found scattered over many bitcoin -# tools written in python. From what I gather the original source is from a -# forum post by Gavin Andresen, so direct your praise to him. -# This module adds shiny packaging and support for python3. - -from hashlib import sha256 -from typing import Union - -__version__ = '2.0.1' - -# 58 character alphabet used -BITCOIN_ALPHABET = \ - b'123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz' -RIPPLE_ALPHABET = b'rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz' - -# Retro compatibility -alphabet = BITCOIN_ALPHABET - - -def scrub_input(v: Union[str, bytes]) -> bytes: - if isinstance(v, str): - v = v.encode('ascii') - - return v - - -def b58encode_int( - i: int, default_one: bool = True, alphabet: bytes = BITCOIN_ALPHABET -) -> bytes: - """ - Encode an integer using Base58 - """ - if not i and default_one: - return alphabet[0:1] - string = b"" - while i: - i, idx = divmod(i, 58) - string = alphabet[idx:idx+1] + string - return string - - -def b58encode( - v: Union[str, bytes], alphabet: bytes = BITCOIN_ALPHABET -) -> bytes: - """ - Encode a string using Base58 - """ - v = scrub_input(v) - - nPad = len(v) - v = v.lstrip(b'\0') - nPad -= len(v) - - p, acc = 1, 0 - for c in reversed(v): - acc += p * c - p = p << 8 - result = b58encode_int(acc, default_one=False, alphabet=alphabet) - return alphabet[0:1] * nPad + result - - -def b58decode_int( - v: Union[str, bytes], alphabet: bytes = BITCOIN_ALPHABET -) -> int: - """ - Decode a Base58 encoded string as an integer - """ - v = v.rstrip() - v = scrub_input(v) - - decimal = 0 - for char in v: - decimal = decimal * 58 + alphabet.index(char) - return decimal - - -def b58decode( - v: Union[str, bytes], alphabet: bytes = BITCOIN_ALPHABET -) -> bytes: - """ - Decode a Base58 encoded string - """ - v = v.rstrip() - v = scrub_input(v) - - origlen = len(v) - v = v.lstrip(alphabet[0:1]) - newlen = len(v) - - acc = b58decode_int(v, alphabet=alphabet) - - result = [] - while acc > 0: - acc, mod = divmod(acc, 256) - result.append(mod) - - return b'\0' * (origlen - newlen) + bytes(reversed(result)) - - -def b58encode_check( - v: Union[str, bytes], alphabet: bytes = BITCOIN_ALPHABET -) -> bytes: - """ - Encode a string using Base58 with a 4 character checksum - """ - v = scrub_input(v) - - digest = sha256(sha256(v).digest()).digest() - return b58encode(v + digest[:4], alphabet=alphabet) - - -def b58decode_check( - v: Union[str, bytes], alphabet: bytes = BITCOIN_ALPHABET -) -> bytes: - '''Decode and verify the checksum of a Base58 encoded string''' - - result = b58decode(v, alphabet=alphabet) - result, check = result[:-4], result[-4:] - digest = sha256(sha256(result).digest()).digest() - - if check != digest[:4]: - raise ValueError("Invalid checksum") - - return result diff --git a/freezed_deps/base58/__main__.py b/freezed_deps/base58/__main__.py deleted file mode 100644 index b76fdad..0000000 --- a/freezed_deps/base58/__main__.py +++ /dev/null @@ -1,47 +0,0 @@ -import argparse -import sys - -from base58 import b58decode, b58decode_check, b58encode, b58encode_check - - -def main(): - '''Base58 encode or decode FILE, or standard input, to standard output.''' - - stdout = sys.stdout.buffer - - parser = argparse.ArgumentParser(description=main.__doc__) - parser.add_argument( - 'file', - metavar='FILE', - nargs='?', - type=argparse.FileType('r'), - default='-') - parser.add_argument( - '-d', '--decode', - action='store_true', - help='decode data') - parser.add_argument( - '-c', '--check', - action='store_true', - help='append a checksum before encoding') - - args = parser.parse_args() - fun = { - (False, False): b58encode, - (False, True): b58encode_check, - (True, False): b58decode, - (True, True): b58decode_check - }[(args.decode, args.check)] - - data = args.file.buffer.read() - - try: - result = fun(data) - except Exception as e: - sys.exit(e) - - stdout.write(result) - - -if __name__ == '__main__': - main() diff --git a/freezed_deps/base58/py.typed b/freezed_deps/base58/py.typed deleted file mode 100644 index e5aff4f..0000000 --- a/freezed_deps/base58/py.typed +++ /dev/null @@ -1 +0,0 @@ -# Marker file for PEP 561. \ No newline at end of file diff --git a/freezed_deps/bech32.py b/freezed_deps/bech32.py deleted file mode 100644 index d450080..0000000 --- a/freezed_deps/bech32.py +++ /dev/null @@ -1,123 +0,0 @@ -# Copyright (c) 2017 Pieter Wuille -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. - -"""Reference implementation for Bech32 and segwit addresses.""" - - -CHARSET = "qpzry9x8gf2tvdw0s3jn54khce6mua7l" - - -def bech32_polymod(values): - """Internal function that computes the Bech32 checksum.""" - generator = [0x3b6a57b2, 0x26508e6d, 0x1ea119fa, 0x3d4233dd, 0x2a1462b3] - chk = 1 - for value in values: - top = chk >> 25 - chk = (chk & 0x1ffffff) << 5 ^ value - for i in range(5): - chk ^= generator[i] if ((top >> i) & 1) else 0 - return chk - - -def bech32_hrp_expand(hrp): - """Expand the HRP into values for checksum computation.""" - return [ord(x) >> 5 for x in hrp] + [0] + [ord(x) & 31 for x in hrp] - - -def bech32_verify_checksum(hrp, data): - """Verify a checksum given HRP and converted data characters.""" - return bech32_polymod(bech32_hrp_expand(hrp) + data) == 1 - - -def bech32_create_checksum(hrp, data): - """Compute the checksum values given HRP and data.""" - values = bech32_hrp_expand(hrp) + data - polymod = bech32_polymod(values + [0, 0, 0, 0, 0, 0]) ^ 1 - return [(polymod >> 5 * (5 - i)) & 31 for i in range(6)] - - -def bech32_encode(hrp, data): - """Compute a Bech32 string given HRP and data values.""" - combined = data + bech32_create_checksum(hrp, data) - return hrp + '1' + ''.join([CHARSET[d] for d in combined]) - - -def bech32_decode(bech): - """Validate a Bech32 string, and determine HRP and data.""" - if ((any(ord(x) < 33 or ord(x) > 126 for x in bech)) or - (bech.lower() != bech and bech.upper() != bech)): - return (None, None) - bech = bech.lower() - pos = bech.rfind('1') - if pos < 1 or pos + 7 > len(bech) or len(bech) > 90: - return (None, None) - if not all(x in CHARSET for x in bech[pos+1:]): - return (None, None) - hrp = bech[:pos] - data = [CHARSET.find(x) for x in bech[pos+1:]] - if not bech32_verify_checksum(hrp, data): - return (None, None) - return (hrp, data[:-6]) - - -def convertbits(data, frombits, tobits, pad=True): - """General power-of-2 base conversion.""" - acc = 0 - bits = 0 - ret = [] - maxv = (1 << tobits) - 1 - max_acc = (1 << (frombits + tobits - 1)) - 1 - for value in data: - if value < 0 or (value >> frombits): - return None - acc = ((acc << frombits) | value) & max_acc - bits += frombits - while bits >= tobits: - bits -= tobits - ret.append((acc >> bits) & maxv) - if pad: - if bits: - ret.append((acc << (tobits - bits)) & maxv) - elif bits >= frombits or ((acc << (tobits - bits)) & maxv): - return None - return ret - - -def decode(hrp, addr): - """Decode a segwit address.""" - hrpgot, data = bech32_decode(addr) - if hrpgot != hrp: - return (None, None) - decoded = convertbits(data[1:], 5, 8, False) - if decoded is None or len(decoded) < 2 or len(decoded) > 40: - return (None, None) - if data[0] > 16: - return (None, None) - if data[0] == 0 and len(decoded) != 20 and len(decoded) != 32: - return (None, None) - return (data[0], decoded) - - -def encode(hrp, witver, witprog): - """Encode a segwit address.""" - ret = bech32_encode(hrp, [witver] + convertbits(witprog, 8, 5)) - if decode(hrp, ret) == (None, None): - return None - return ret diff --git a/freezed_deps/bin/base58 b/freezed_deps/bin/base58 deleted file mode 100755 index 1e291f0..0000000 --- a/freezed_deps/bin/base58 +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- -import re -import sys -from base58.__main__ import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) - sys.exit(main()) diff --git a/freezed_deps/bin/keytree.py b/freezed_deps/bin/keytree.py deleted file mode 100755 index 41650c5..0000000 --- a/freezed_deps/bin/keytree.py +++ /dev/null @@ -1,238 +0,0 @@ -#!/usr/bin/python -# MIT License -# -# Copyright (c) 2020 Ted Yin -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. -# -# -# This little script offers decryption and verification of the existing -# Ethereum wallets, as well as generation of a new wallet. You can use any -# utf-8 string as the password, which could provide with better security -# against the brute-force attack. - -# Use at your own risk. -# -# Example: -# python ./keytree.py - -import sys -import argparse -import hashlib -import hmac -import unicodedata -import bech32 -from getpass import getpass -from ecdsa import SigningKey, VerifyingKey, SECP256k1 -from ecdsa.ecdsa import generator_secp256k1 -from ecdsa.ellipticcurve import INFINITY -from base58 import b58encode -from sha3 import keccak_256 -import re -import mnemonic - -err = sys.stderr - - -def sha256(data): - h = hashlib.sha256() - h.update(data) - return h.digest() - - -def ripemd160(data): - h = hashlib.new('ripemd160') - h.update(data) - return h.digest() - - -class BIP32Error(Exception): - pass - - -# point(p): returns the coordinate pair resulting from EC point multiplication -# (repeated application of the EC group operation) of the secp256k1 base point -# with the integer p. -def point(p): - return generator_secp256k1 * p - - -# ser32(i): serialize a 32-bit unsigned integer i as a 4-byte sequence, most -# significant byte first. -def ser32(i): - return i.to_bytes(4, byteorder='big') - - -# ser256(p): serializes the integer p as a 32-byte sequence, most significant -# byte first. -def ser256(p): - return p.to_bytes(32, byteorder='big') - - -# serP(P): serializes the coordinate pair P = (x,y) as a byte sequence using -# SEC1's compressed form: (0x02 or 0x03) || ser256(x), where the header byte -# depends on the parity of the omitted y coordinate. -def serP(P): - if P.y() & 1 == 0: - parity = b'\x02' - else: - parity = b'\x03' - return parity + ser256(P.x()) - - -def is_infinity(P): - return P == INFINITY - - -# parse256(p): interprets a 32-byte sequence as a 256-bit number, most -# significant byte first. -def parse256(p): - assert(len(p) == 32) - return int.from_bytes(p, byteorder='big') - - -def iH(x): - return x + (1 << 31) - - -n = generator_secp256k1.order() -rformat = re.compile(r"^[0-9]+'?$") - - -def ckd_pub(K_par, c_par, i): - if i >= 1 << 31: - raise BIP32Error("the child is a hardended key") - I = hmac.digest( - c_par, serP(K_par) + ser32(i), 'sha512') - I_L, I_R = I[:32], I[32:] - K_i = point(parse256(I_L)) + K_par - c_i = I_R - if parse256(I_L) >= n or is_infinity(K_i): - raise BIP32Error("invalid i") - return K_i, c_i - -def ckd_prv(k_par, c_par, i): - if i >= 1 << 31: - I = hmac.digest( - c_par, b'\x00' + ser256(k_par) + ser32(i), 'sha512') - else: - I = hmac.digest( - c_par, serP(point(k_par)) + ser32(i), 'sha512') - I_L, I_R = I[:32], I[32:] - k_i = (parse256(I_L) + k_par) % n - c_i = I_R - if parse256(I_L) >= n or k_i == 0: - raise BIP32Error("invalid i") - return k_i, c_i - -class BIP32: - def __init__(self, seed, key="Bitcoin seed"): - I = hmac.digest(b"Bitcoin seed", seed, 'sha512') - I_L, I_R = I[:32], I[32:] - self.m = parse256(I_L) - self.M = SigningKey.from_string(I_L, curve=SECP256k1) \ - .get_verifying_key().pubkey.point - self.c = I_R - - def derive(self, path="m"): - tokens = path.split('/') - if tokens[0] == "m": - k = self.m - c = self.c - for r in tokens[1:]: - if not rformat.match(r): - raise BIP32Error("unsupported path format") - if r[-1] == "'": - i = iH(int(r[:-1])) - else: - i = int(r) - k, c = ckd_prv(k, c, i) - return SigningKey.from_string(k.to_bytes(32, byteorder='big'), curve=SECP256k1) - elif tokens[0] == "M": - K = self.M - c = self.c - for r in tokens[1:]: - if not rformat.match(r): - raise BIP32Error("unsupported path format") - if r[-1] == "'": - i = iH(int(r[:-1])) - else: - i = int(r) - K, c = ckd_pub(K, c, i) - return VerifyingKey.from_public_point(K, curve=SECP256k1) - else: - raise BIP32Error("unsupported path format") - -def get_eth_addr(pk): - pub_key = pk.to_string() - m = keccak_256() - m.update(pub_key) - return m.hexdigest()[24:] - -def get_privkey_btc(sk): - priv_key = b'\x80' + sk.to_string() - checksum = sha256(sha256(priv_key))[:4] - return b58encode(priv_key + checksum).decode("utf-8") - -def get_btc_addr(pk): - h = b'\x00' + ripemd160(sha256(b'\x04' + pk.to_string())) - checksum = sha256(sha256(h))[:4] - h += checksum - return b58encode(h).decode("utf-8") - -if __name__ == '__main__': - parser = argparse.ArgumentParser(description='Derive BIP32 key pairs from BIP39 mnemonic') - parser.add_argument('--show-private', action='store_true', default=False, help='also show private keys') - parser.add_argument('--custom-words', action='store_true', default=False, help='use an arbitrary word combination as mnemonic') - parser.add_argument('--account-path', default="44'/9000'/0'/0", help='path prefix for key deriving') - parser.add_argument('--gen-mnemonic', action='store_true', default=False, help='generate a mnemonic (instead of taking an input)') - parser.add_argument('--lang', type=str, default="english", help='language for mnemonic words') - parser.add_argument('--start-idx', type=int, default=0, help='the start index for keys') - parser.add_argument('--end-idx', type=int, default=1, help='the end index for keys (exclusive)') - - args = parser.parse_args() - - - if args.gen_mnemonic: - mgen = mnemonic.Mnemonic(args.lang) - words = mgen.generate(256) - print("KEEP THIS PRIVATE: {}".format(words)) - else: - words = getpass('Enter the mnemonic: ') - if not args.custom_words: - mchecker = mnemonic.Mnemonic(args.lang) - if not mchecker.check(words): - err.write("Invalid mnemonic\n") - sys.exit(1) - - seed = hashlib.pbkdf2_hmac('sha512', unicodedata.normalize('NFKD', words).encode("utf-8"), b"mnemonic", 2048) - gen = BIP32(seed) - if args.start_idx < 0 or args.end_idx < 0: - sys.exit(1) - for i in range(args.start_idx, args.end_idx): - path = "m/{}/{}".format(args.account_path, i) - priv = gen.derive(path) - pub = priv.get_verifying_key() - cpub = pub.to_string(encoding="compressed") - if args.show_private: - print("{}.priv(raw) {}".format(i, priv.to_string().hex())) - print("{}.priv(BTC) {}".format(i, get_privkey_btc(priv))) - print("{}.addr(AVAX) X-{}".format(i, bech32.bech32_encode('avax', bech32.convertbits(ripemd160(sha256(cpub)), 8, 5)))) - print("{}.addr(BTC) {}".format(i, get_btc_addr(pub))) - print("{}.addr(ETH) {}".format(i, get_eth_addr(pub))) diff --git a/freezed_deps/ecdsa-0.15.dist-info/INSTALLER b/freezed_deps/ecdsa-0.15.dist-info/INSTALLER deleted file mode 100644 index a1b589e..0000000 --- a/freezed_deps/ecdsa-0.15.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/freezed_deps/ecdsa-0.15.dist-info/LICENSE b/freezed_deps/ecdsa-0.15.dist-info/LICENSE deleted file mode 100644 index 474479a..0000000 --- a/freezed_deps/ecdsa-0.15.dist-info/LICENSE +++ /dev/null @@ -1,24 +0,0 @@ -"python-ecdsa" Copyright (c) 2010 Brian Warner - -Portions written in 2005 by Peter Pearson and placed in the public domain. - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. diff --git a/freezed_deps/ecdsa-0.15.dist-info/METADATA b/freezed_deps/ecdsa-0.15.dist-info/METADATA deleted file mode 100644 index 6e8a2ef..0000000 --- a/freezed_deps/ecdsa-0.15.dist-info/METADATA +++ /dev/null @@ -1,625 +0,0 @@ -Metadata-Version: 2.1 -Name: ecdsa -Version: 0.15 -Summary: ECDSA cryptographic signature library (pure python) -Home-page: http://github.com/warner/python-ecdsa -Author: Brian Warner -Author-email: warner@lothar.com -License: MIT -Platform: UNKNOWN -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2 -Classifier: Programming Language :: Python :: 2.6 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.3 -Classifier: Programming Language :: Python :: 3.4 -Classifier: Programming Language :: Python :: 3.5 -Classifier: Programming Language :: Python :: 3.6 -Classifier: Programming Language :: Python :: 3.7 -Classifier: Programming Language :: Python :: 3.8 -Requires-Python: >=2.6, !=3.0.*, !=3.1.*, !=3.2.* -Description-Content-Type: text/markdown -Requires-Dist: six (>=1.9.0) -Provides-Extra: gmpy -Requires-Dist: gmpy ; extra == 'gmpy' -Provides-Extra: gmpy2 -Requires-Dist: gmpy2 ; extra == 'gmpy2' - -# Pure-Python ECDSA - -[![build status](https://travis-ci.org/warner/python-ecdsa.png)](http://travis-ci.org/warner/python-ecdsa) -[![Coverage Status](https://coveralls.io/repos/warner/python-ecdsa/badge.svg)](https://coveralls.io/r/warner/python-ecdsa) -[![condition coverage](https://img.shields.io/badge/condition%20coverage-81%25-yellow)](https://travis-ci.org/warner/python-ecdsa/jobs/626479178#L776) -[![Latest Version](https://img.shields.io/pypi/v/ecdsa.svg?style=flat)](https://pypi.python.org/pypi/ecdsa/) - - -This is an easy-to-use implementation of ECDSA cryptography (Elliptic Curve -Digital Signature Algorithm), implemented purely in Python, released under -the MIT license. With this library, you can quickly create keypairs (signing -key and verifying key), sign messages, and verify the signatures. The keys -and signatures are very short, making them easy to handle and incorporate -into other protocols. - -## Features - -This library provides key generation, signing, and verifying, for five -popular NIST "Suite B" GF(p) (_prime field_) curves, with key lengths of 192, -224, 256, 384, and 521 bits. The "short names" for these curves, as known by -the OpenSSL tool (`openssl ecparam -list_curves`), are: `prime192v1`, -`secp224r1`, `prime256v1`, `secp384r1`, and `secp521r1`. It includes the -256-bit curve `secp256k1` used by Bitcoin. There is also support for the -regular (non-twisted) variants of Brainpool curves from 160 to 512 bits. The -"short names" of those curves are: `brainpoolP160r1`, `brainpoolP192r1`, -`brainpoolP224r1`, `brainpoolP256r1`, `brainpoolP320r1`, `brainpoolP384r1`, -`brainpoolP512r1`. -No other curves are included, but it is not too hard to add support for more -curves over prime fields. - -## Dependencies - -This library uses only Python and the 'six' package. It is compatible with -Python 2.6, 2.7 and 3.3+. It also supports execution on the alternative -implementations like pypy and pypy3. - -If `gmpy2` or `gmpy` is installed, they will be used for faster arithmetic. -Either of them can be installed after this library is installed, -`python-ecdsa` will detect their presence on start-up and use them -automatically. - -To run the OpenSSL compatibility tests, the 'openssl' tool must be in your -`PATH`. This release has been tested successfully against OpenSSL 0.9.8o, -1.0.0a, 1.0.2f and 1.1.1d (among others). - - -## Installation - -This library is available on PyPI, it's recommended to install it using `pip`: - -``` -pip install ecdsa -``` - -In case higher performance is wanted and using native code is not a problem, -it's possible to specify installation together with `gmpy2`: - -``` -pip install ecdsa[gmpy2] -``` - -or (slower, legacy option): -``` -pip install ecdsa[gmpy] -``` - -## Speed - -The following table shows how long this library takes to generate keypairs -(`keygen`), to sign data (`sign`), and to verify those signatures (`verify`). -All those values are in seconds. -For convenience, the inverses of those values are also provided: -how many keys per second can be generated (`keygen/s`), how many signatures -can be made per second (`sign/s`) and how many signatures can be verified -per second (`verify/s`). The size of raw signature (generally the smallest -way a signature can be encoded) is also provided in the `siglen` column. -Use `tox -e speed` to generate this table on your own computer. -On an Intel Core i7 4790K @ 4.0GHz I'm getting the following performance: - -``` - siglen keygen keygen/s sign sign/s verify verify/s - NIST192p: 48 0.00035s 2893.02 0.00038s 2620.53 0.00069s 1458.92 - NIST224p: 56 0.00043s 2307.11 0.00048s 2092.00 0.00088s 1131.33 - NIST256p: 64 0.00056s 1793.70 0.00061s 1639.87 0.00113s 883.79 - NIST384p: 96 0.00116s 864.33 0.00124s 806.29 0.00233s 429.87 - NIST521p: 132 0.00221s 452.16 0.00234s 427.31 0.00460s 217.19 - SECP256k1: 64 0.00056s 1772.65 0.00061s 1628.73 0.00110s 912.13 - BRAINPOOLP160r1: 40 0.00026s 3801.86 0.00029s 3401.11 0.00052s 1930.47 - BRAINPOOLP192r1: 48 0.00034s 2925.73 0.00038s 2634.34 0.00070s 1438.06 - BRAINPOOLP224r1: 56 0.00044s 2287.98 0.00048s 2083.87 0.00088s 1137.52 - BRAINPOOLP256r1: 64 0.00056s 1774.11 0.00061s 1628.25 0.00112s 890.71 - BRAINPOOLP320r1: 80 0.00081s 1238.18 0.00087s 1146.71 0.00151s 661.95 - BRAINPOOLP384r1: 96 0.00117s 855.47 0.00124s 804.56 0.00241s 414.83 - BRAINPOOLP512r1: 128 0.00223s 447.99 0.00234s 427.49 0.00437s 229.09 - - ecdh ecdh/s - NIST192p: 0.00110s 910.70 - NIST224p: 0.00143s 701.17 - NIST256p: 0.00178s 560.44 - NIST384p: 0.00383s 261.03 - NIST521p: 0.00745s 134.23 - SECP256k1: 0.00168s 596.23 - BRAINPOOLP160r1: 0.00085s 1174.02 - BRAINPOOLP192r1: 0.00113s 883.47 - BRAINPOOLP224r1: 0.00145s 687.82 - BRAINPOOLP256r1: 0.00195s 514.03 - BRAINPOOLP320r1: 0.00277s 360.80 - BRAINPOOLP384r1: 0.00412s 242.58 - BRAINPOOLP512r1: 0.00787s 127.12 -``` - -To test performance with `gmpy2` loaded, use `tox -e speedgmpy2`. -On the same machine I'm getting the following performance with `gmpy2`: -``` - siglen keygen keygen/s sign sign/s verify verify/s - NIST192p: 48 0.00017s 5945.50 0.00018s 5544.66 0.00033s 3002.54 - NIST224p: 56 0.00021s 4742.14 0.00022s 4463.52 0.00044s 2248.59 - NIST256p: 64 0.00024s 4155.73 0.00025s 3994.28 0.00047s 2105.34 - NIST384p: 96 0.00041s 2415.06 0.00043s 2316.41 0.00085s 1177.18 - NIST521p: 132 0.00072s 1391.14 0.00074s 1359.63 0.00140s 716.31 - SECP256k1: 64 0.00024s 4216.50 0.00025s 3994.52 0.00047s 2120.57 - BRAINPOOLP160r1: 40 0.00014s 7038.99 0.00015s 6501.55 0.00029s 3397.79 - BRAINPOOLP192r1: 48 0.00017s 5983.18 0.00018s 5626.08 0.00035s 2843.62 - BRAINPOOLP224r1: 56 0.00021s 4727.54 0.00022s 4464.86 0.00043s 2326.84 - BRAINPOOLP256r1: 64 0.00024s 4221.00 0.00025s 4010.26 0.00049s 2046.40 - BRAINPOOLP320r1: 80 0.00032s 3142.14 0.00033s 3009.15 0.00061s 1652.88 - BRAINPOOLP384r1: 96 0.00041s 2415.98 0.00043s 2340.35 0.00083s 1198.77 - BRAINPOOLP512r1: 128 0.00064s 1567.27 0.00066s 1526.33 0.00127s 788.51 - - ecdh ecdh/s - NIST192p: 0.00051s 1960.26 - NIST224p: 0.00067s 1502.97 - NIST256p: