Angelday8 / secp256k1

Python Library for Secp256k1 Bitcoin curve to do fast ECC calculation Test it Here https://replit.com/@Mizogg/secp256k1?v=1

Home Page:https://mizogg.co.uk

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

miz_ice.py

HUNT4BITCOIN RANGE DIVISION 100% using secp256k1. Divide the Chosen Range by 100% and Scan Sequentially.

Example :

 ✅ Start range in BITs (Puzzle StartNumber) ✍️ -> 0
 ⛔️ Stop range Max in BITs (Puzzle StopNumber)✍️ -> 10
Magnitude Jump Stride -> 1
Starting search... Please Wait min range: 1
Max range: 1024
==========================================================
Total Bitcoin Addresses Loaded and Checking :  160
Scan:  1  :Remaining:  10  :Total:  400
Match Found 1%

Privatekey (dec):  3
Privatekey (hex):  0000000000000000000000000000000000000000000000000000000000000003
Privatekey Uncompressed:  KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFU74sHUHy8S
Privatekey compressed:  5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsreB1FQ8BZ
Public Address 1 Uncompressed:  1NZUP3JAc9JkmbvmoTv7nVgZGtyJjirKV1
Public Address 1 Compressed:  1CUNEBjYrCn2y1SdiUMohaKUi4wpP326Lb
Public Address 3 P2SH:  3BM3eLQZbwubG3XwwxJmd9qxwMJn7yUTSn
Public Address bc1 BECH32:  bc1q0ht9tyks4vh7p5p904t340cr9nvahy7u3re7zg
Scan:  2  :Remaining:  9  :Total:  800
Match Found 22%

Privatekey (dec):  224
Privatekey (hex):  00000000000000000000000000000000000000000000000000000000000000e0
Privatekey Uncompressed:  KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFU8xvGK1zpm
Privatekey compressed:  5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsrebwE4gQs
Public Address 1 Uncompressed:  1HFvQh3dVFPae3JaFjL5Mpua9Zbg9Y6FrK
Public Address 1 Compressed:  1M92tSqNmQLYw33fuBvjmeadirh1ysMBxK
Public Address 3 P2SH:  384CGuTAFqcvTJ1DEnmTn7NQe3kSoBdP69
Public Address bc1 BECH32:  bc1qmnnkkfsnq5h2qy3qgsz2j7euyh4vx9c4ct6tuv

Match Found 51%

Privatekey (dec):  514
Privatekey (hex):  0000000000000000000000000000000000000000000000000000000000000202
Privatekey Uncompressed:  KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFUBTL67V6dE
Privatekey compressed:  5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsrfAeGjhSe
Public Address 1 Uncompressed:  1ofbgenBbkCcmQyRK7XzHnhFHULAdNsBu
Public Address 1 Compressed:  1LeBZP5QCwwgXRtmVUvTVrraqPUokyLHqe
Public Address 3 P2SH:  37ikgSWtXptgUeVshZV7PbBZwxce1BPoBq
Public Address bc1 BECH32:  bc1q6aefs9n9pevp6arz654ddaejmg8zajfmftc9yt
Scan:  4  :Remaining:  7  :Total:  1600
Match Found 7%

Privatekey (dec):  76
Privatekey (hex):  000000000000000000000000000000000000000000000000000000000000004c
Privatekey Uncompressed:  KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFU7hDgvu64y
Privatekey compressed:  5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsreKD614Nu
Public Address 1 Uncompressed:  1ESJVfV5UVERkWgVNfMjsLwJT88yMJHi8R
Public Address 1 Compressed:  1McVt1vMtCC7yn5b9wgX1833yCcLXzueeC
Public Address 3 P2SH:  33NmypyeTdoE2tdj2tZwAQMCRranteifcy
Public Address bc1 BECH32:  bc1qugvjaznamrw3ezpjr9vmgauk3w2p42tn3txcnx

ALT Display View. Example1

 ✅ Start range in BITs (Puzzle StartNumber) ✍️ -> 0
 ⛔️ Stop range Max in BITs (Puzzle StopNumber)✍️ -> 10
Magnitude Jump Stride -> 1
Starting search... Please Wait min range: 1
Max range: 1024
 :Start 0%:  0000000000000000000000000000000000000000000000000000000000000001
 :HEX 1%:    0000000000000000000000000000000000000000000000000000000000000002
 :HEX 5%:    0000000000000000000000000000000000000000000000000000000000000034
 :HEX 10%:   0000000000000000000000000000000000000000000000000000000000000066
 :HEX 15%:   0000000000000000000000000000000000000000000000000000000000000098
 :HEX 20%:   00000000000000000000000000000000000000000000000000000000000000ca
 :HEX 25%:   00000000000000000000000000000000000000000000000000000000000000fc
 :HEX 30%:   000000000000000000000000000000000000000000000000000000000000012e
 :HEX 35%:   0000000000000000000000000000000000000000000000000000000000000160
 :HEX 40%:   0000000000000000000000000000000000000000000000000000000000000192
 :HEX 45%:   00000000000000000000000000000000000000000000000000000000000001c4
 :HEX 50%:   00000000000000000000000000000000000000000000000000000000000001f6
 :HEX 55%:   0000000000000000000000000000000000000000000000000000000000000228
 :HEX 60%:   000000000000000000000000000000000000000000000000000000000000025a
 :HEX 65%:   000000000000000000000000000000000000000000000000000000000000028c
 :HEX 70%:   00000000000000000000000000000000000000000000000000000000000002be
 :HEX 75%:   00000000000000000000000000000000000000000000000000000000000002f0
 :HEX 80%:   0000000000000000000000000000000000000000000000000000000000000322
 :HEX 85%:   0000000000000000000000000000000000000000000000000000000000000354
 :HEX 90%:   0000000000000000000000000000000000000000000000000000000000000386
 :HEX 95%:   00000000000000000000000000000000000000000000000000000000000003b8
 :Stop100%:  0000000000000000000000000000000000000000000000000000000000000400
 

Example2

 ✅ Start range in BITs (Puzzle StartNumber) ✍️ -> 0
 ⛔️ Stop range Max in BITs (Puzzle StopNumber)✍️ -> 256
Magnitude Jump Stride -> 432123212
Starting search... Please Wait min range: 1
Max range: 115792089237316195423570985008687907853269984665640564039457584007913129639936
 :Start 0%:  0000000000000000000000000000000000000000000000000000000000000001
 :HEX 1%:    0000000000000000000000000000000000000000000000000000000019c1ad4d
 :HEX 5%:    0ccccccccccccce0000000000000000000000000000000000000000019c1ad4d
 :HEX 10%:   19999999999999c0000000000000000000000000000000000000000019c1ad4d
 :HEX 15%:   26666666666666a0000000000000000000000000000000000000000019c1ad4d
 :HEX 20%:   3333333333333380000000000000000000000000000000000000000019c1ad4d
 :HEX 25%:   4000000000000060000000000000000000000000000000000000000019c1ad4d
 :HEX 30%:   4ccccccccccccd40000000000000000000000000000000000000000019c1ad4d
 :HEX 35%:   5999999999999a20000000000000000000000000000000000000000019c1ad4d
 :HEX 40%:   6666666666666700000000000000000000000000000000000000000019c1ad4d
 :HEX 45%:   73333333333333e0000000000000000000000000000000000000000019c1ad4d
 :HEX 50%:   80000000000000c0000000000000000000000000000000000000000019c1ad4d
 :HEX 55%:   8ccccccccccccda0000000000000000000000000000000000000000019c1ad4d
 :HEX 60%:   9999999999999a80000000000000000000000000000000000000000019c1ad4d
 :HEX 65%:   a666666666666760000000000000000000000000000000000000000019c1ad4d
 :HEX 70%:   b333333333333440000000000000000000000000000000000000000019c1ad4d
 :HEX 75%:   c000000000000120000000000000000000000000000000000000000019c1ad4d
 :HEX 80%:   ccccccccccccce00000000000000000000000000000000000000000019c1ad4d
 :HEX 85%:   d999999999999ae0000000000000000000000000000000000000000019c1ad4d
 :HEX 90%:   e6666666666667c0000000000000000000000000000000000000000019c1ad4d
 :HEX 95%:   f3333333333334a0000000000000000000000000000000000000000019c1ad4d
 :Stop100%:  10000000000000000000000000000000000000000000000000000000000000000

HUNT4BITCOIN.py

Merry Christmas:☃️☃️☃️☃️☃️☃️☃️☃️☃️☃️☃️☃️☃️☃️☃️☃️☃️☃️☃️☃️100%
💰-----------------💰 HUNT4BITCOIN with Python 💰----------------------💰
   🤖🤖🤖 Made by Mizogg  with help from Михаил Х.XopMC  https://github.com/XopMC 🤖🤖🤖
    🤩 With iceland2k14 secp256k1 https://github.com/iceland2k14/secp256k1  🤩
💰-----------------💰 HUNT4BITCOIN with Python 💰----------------------💰
         ⏳Starting search... Please Wait ⏳
Bitcoin Addresses Loading Please Wait:
Total Bitcoin Addresses Loaded and Checking :  160
 ℹ️ Start search... Pick Range to start (Min=0 Max=256) ℹ️
 ✅ Start range in BITs (Puzzle StartNumber) ✍️ -> 64
 ⛔️ Stop range Max in BITs (Puzzle StopNumber)✍️ -> 160
⏳Starting search... Please Wait ⏳
==========================================================
Scan Number :  457841  : Total Checked :  1831364  : Keys/s :  4692

Test it on Replit https://replit.com/@Mizogg/secp256k1?v=1

HUNT4BITCOIN_ONLINE.py

 [3] ------------------------
🔁 Total Checked 👇[12]
🤩Address Uncompressed🤩:  1EHNa6Q4Jz2uvNExL497mE43ikXhwF6kZm                              💸Total Received💸: 781873722
🤩Address Compressed  🤩:  1BgGZ9tcN4rm9KBzDn7KprQz87SZ26SAMH                              💸Total Received💸: 15211855
🤩Address 3 P2SH    🤩:  3JvL6Ymt8MVWiCNHC7oWU6nLeHNJKLZGLN                              💸Total Received💸: 1000
🤩Address bc1 BECH32  🤩:  bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4                      💸Total Received💸: 31110
🔑 PrivateKey (WIF) Compressed   : KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFU73sVHnoWn
🔑 PrivateKey (WIF) UnCompressed : 5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsreAnchuDf
🔑 Private Key (HEX) : 0000000000000000000000000000000000000000000000000000000000000001
🔑 Private Key (DEC) : 1
💸💰🤩💸💰🤩💸💰🤩💸💰🤩💸💰🤩💸💰🤩💸💰🤩💸💰🤩💸💰🤩💸💰🤩💸💰🤩💸💰🤩💸💰🤩💸💰

Winner.txt

Privatekey (dec): 1
Privatekey (hex): 0000000000000000000000000000000000000000000000000000000000000001
Privatekey Uncompressed: 5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsreAnchuDf
Privatekey compressed: KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFU73sVHnoWn
Address 1 Compressed: 1BgGZ9tcN4rm9KBzDn7KprQz87SZ26SAMH Total Received : 15211855
Address 1 Uncompressed: 1EHNa6Q4Jz2uvNExL497mE43ikXhwF6kZm Total Received : 781873722
Address 3 P2SH: 3JvL6Ymt8MVWiCNHC7oWU6nLeHNJKLZGLN Total Received : 1000
Address bc1 BECH32: bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4 Total Received : 31110
 =====Made by mizogg.co.uk Donations 3P7PZLbwSt2bqUMsHF9xDsaNKhafiGuWDB =====

secp256k1

Python Library for Secp256k1 Bitcoin curve to do fast ECC calculation (3.49 Million/s per cpu)

Info

Some functions have been added for easier and quicker use in a script.
A Point is just a bytes form of correct length Full Pubkey. So 65 bytes exactly.

point_loop_addition is just like starting from a point P and incrementing +G continuously m times. So we get P+G, P+2G, P+3G...... All these are returned concatenated in 65bytes*m.
Same is the case with point_vector_addition but here two Point vectors are added together. Lets say 10points of 650bytes added with 10points of 650bytes to get added 650bytes.
point_sequential_increment is similar to loop_increment except some vector trick is used to make it faster. (Note: It is not yet working in very low range Privatekey Points).

Many Altcoin Address support has been added. Although not checked all of them. 

Example Usage

import secp256k1 as ice
print('[C]',ice.privatekey_to_address(0, True, 42866423864328564389740932742094))
: [C] 1EAKqa4DbqnxJ9uLUFrXTMSPd2k3fHzWgr
print('[U]',ice.privatekey_to_address(0, False, 42866423864328564389740932742094))
: [U] 1SXCEWFyUp6q4x92iR6JANNDAu87MNmSz
print('[P2SH]',ice.privatekey_to_address(1, True, 42866423864328564389740932742094))
: [P2SH] 3BDxuSY3g7SM2Zg3k6pkYxCgvk2JbcCx3M
print('[Bech32]',ice.privatekey_to_address(2, True, 42866423864328564389740932742094))
: [Bech32] bc1qjpw34q9px0eaqmnut2vfxndkthlh5qs9gt969u


print(ice.scalar_multiplication(33604).hex())
: 0488de60bd8c187071fc486979f2c9696c3602c562fbba6922993ff665eae81b4f8adf94f4e2a50b05fe35aee42c146f6415e5cf524b6b1b5a8d17de8b741a5a21

P = ice.scalar_multiplication(33604)
P.hex()
: '0488de60bd8c187071fc486979f2c9696c3602c562fbba6922993ff665eae81b4f8adf94f4e2a50b05fe35aee42c146f6415e5cf524b6b1b5a8d17de8b741a5a21'

ice.point_negation(P).hex()
: '0488de60bd8c187071fc486979f2c9696c3602c562fbba6922993ff665eae81b4f75206b0b1d5af4fa01ca511bd3eb909bea1a30adb494e4a572e821738be5a20e'

ice.point_doubling(P).hex()
: '04484200af427941631f87f4ca153635156ceb0306e7033874e06a784088be5e3563868c14b34af7bc6206bcdbd63dee7a7825e595f8c45b07746e1b87da3091fc'

ice.pubkey_to_address(0, True, P)
: '17eCpwzTCEDAbws2ucoZEy1iEcg1WrLKDp'

ice.pubkey_to_address(0, False, P)
: '1Ew5GpHRfXskxurzUHyaf9WwV9NdxHWdch'

ice.pubkey_to_address(1, False, P)
: ' P2SH: Only compressed key '

ice.pubkey_to_address(1, True, P)
: '382NUCrzpd9WkpyRzEtusMM5e6v5tNCHQg'

ice.pubkey_to_address(2, True, P)
: 'bc1qfrdqfz89qxllsg3wrj46f9pegung0n8vj53fsk'

ice.privatekey_to_h160(1, True, 0x437af32d9e723fb9cd0).hex()
: '2ab7b63dd0de957b72df9eded24cd62e80d131f4'

ice.privatekey_to_h160(1, False, 0x437af32d9e723fb9cd0).hex()
: '3243394361fceaa57ae1a7ff32b48e30e8de3e5b'

ice.pbkdf2_hmac_sha512_dll('good push broken people salad bar mad squirrel joy dismiss merge jeans token wear boring manual doll near sniff turtle sunset lend invest foil').hex()
: '87aad6885223fa91dbca6f0a1f1816202832fd4264dc89365c745c0f1b0418d9065e33c2583cd8fb7f6f40c3dca65dec47dd7061105819833e630b6ebf085862'

P3 = ice.point_loop_addition(100000, P, P2)
P3[:65].hex()
: '044d7161f5d186b0f453887cd74a0f684534eb334da2b0ddcb9b9e9c6d3060d4ec1ae05b6da9d17c0aa6c2ffe6d5bd43a13cc52e0ec2463ca92d271b878b8ed464'

P3[-65:].hex()
: '047ae2dadd8871465f988a40e57d9ff7f37eb67f4d244df11b010995a92dcdebaa040d43b7895e538b3b83789e3ab98faf6b9b4201d5a2ed7d4b0f11b1d59b853d'

P4 = ice.point_sequential_increment(500000, P)
P4[:65].hex()
: '046ebfe8cd423c6c16fa29ce8aae12fa15b4ab78314773aa6453aa98b2bdcc10f66a43166c2f45267331dcf4a113aa584cd040fb0f8fe07326c28a8cb6b0f84149'

ice.pubkey_to_ETH_address(P)
: '0xfa7e4d39a1fde2d03d01e298c31ee602bcdf4c85'

ice.privatekey_to_ETH_address(43789543)
: '0xf91262290187f5547839ae0c84b55892f39c5a9b'

ice.privatekey_group_to_ETH_address(43232, 4)
: 'a760b12246759d603cca3686b95b1309772e9c30481fe3d921db92f0a0ad0012a852f0eaf05784feec0c24da5eeed9e7a6eb4477ee030289bf68311863b57e0e653620747c2339f48ba8cd60ea33ea88'

ice.pub_endo1(P).hex()
: '0441d68a94e621d33139103b6e4b9d8ac94103ba746952e4b322b7e7ba8c1d75d18adf94f4e2a50b05fe35aee42c146f6415e5cf524b6b1b5a8d17de8b741a5a21'

ice.pub_endo2(P).hex()
: '04354b14ad8dc5bc5ccaa75b17c1990bca88f980289af2b22a440821de88fa6b0f8adf94f4e2a50b05fe35aee42c146f6415e5cf524b6b1b5a8d17de8b741a5a21'

ice.get_sha256('S6c56bnXQiBjk9mqSYE7ykVQ7NzrRy').hex()
: '4c7a9640c72dc2099f23715d0c8a0d8a35f8906e3cab61dd3f78b67bf887c9ab'

ice.get_sha256(P).hex()
: '739c4ba018e1877d5c82fa60b7e2304776e7bf39af5dc9b4c05152ea78b822f9'

ice.privatekey_to_coinaddress(ice.COIN_LTC, 0, True, 0x1b1f)
: 'LPb9na7qWdM7iHwKiiQmkQrhBtr11n8ywb'

ice.privatekey_to_coinaddress(ice.COIN_DOGE, 0, True, 0x1b1f)
: 'D9WJ4ckejP1LzVRmHAR329xXrpD2HhkX4Q'

ice.privatekey_to_coinaddress(ice.COIN_DOGE, 0, False, 0x1b1f)
: 'D7Q1YeimeNmgmn4HnRGJnFrpMkQWJK3bHn'

ice.privatekey_to_coinaddress(ice.COIN_DASH, 0, True, 0x1b1f)
: 'Xf43McTuPgKecRqkQTjhKvUip24Qza1qRF'

ice.privatekey_to_coinaddress(ice.COIN_RVN, 0, True, 0x1b1f)
: 'RDePbshJ2nudXVcN1kQbZv88jwwKWs42X6'

Speed

On my old Laptop with i7 4810 MQ CPU

timeit ice.privatekey_to_address(0, True, 67)
6.35 µs ± 41.4 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)

timeit ice.scalar_multiplication(3240945)
3.1 µs ± 38.7 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)

timeit ice.point_increment(P)
2.32 µs ± 20.6 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)

timeit ice.point_addition(P,P2)
2.66 µs ± 17.6 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)

With 3500000 continuous keys in 1 group call, we get 3.5 Miilion Key/s Speed with 1 cpu:

timeit ice.point_sequential_increment(3500000, P)
1.01 s ± 5.37 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

About

Python Library for Secp256k1 Bitcoin curve to do fast ECC calculation Test it Here https://replit.com/@Mizogg/secp256k1?v=1

https://mizogg.co.uk

License:MIT License


Languages

Language:Python 100.0%