mjojo
Newbie
Offline
Activity: 79
Merit: 0
|
 |
May 28, 2025, 01:54:41 PM |
|
When playing with some iceland tools which is https://github.com/iceland2k14/kangaroo i got this speed on CPU - [24894.64 TeraKeys/s][Kang 28672][Count 2^29.29/2^29.10][Elapsed 06s][Dead 1][RAM 53.4MB/46.0MB]
Is it good bad fake idk but like i know iceland tools are good iceland2k14 is proprietary and all his tools contain backdoor do not use iceland2k14 libraries unless you want to loose your keys or findings good luck If you suspect that there is a backdoor in it, you can always use it offline. If it doesn not work offline, than you should be worried about it. But I don't think ICELAND is puting some backdoors in his apps... Agree with you, if we just script kiddiot please appreciate to all contributor who gave their code and their effort in free
|
|
|
|
|
nochkin
Member

Offline
Activity: 88
Merit: 14
|
 |
May 28, 2025, 01:58:47 PM |
|
all his tools contain backdoor do not use iceland2k14 libraries unless you want to loose your keys or findings
Any proof for this or that's just your guess?
|
|
|
|
|
|
kTimesG
|
 |
May 28, 2025, 02:11:37 PM |
|
If I understood your question right, maybe one possible way to simplify the check is to first verify whether both points are n-torsion points (nP = O and nQ = O). If not, you can already rule out that they belong to the same n-order subgroup. If they both are, i think you have to build up the entire subgroup as you said, i don't think there is a direct way to check. But at least the n-torsion check can help "quickly" exclude cases that definitely don’t match, or at least use less computation. Could this make sense?
I used the wrong terminology. I meant quick-checking whether two points belong to the same orbit. Since n - 1 divides by 2, 3, 149, 631, .... So all points on the curve can be grouped in orbits of size 2, 3, 149, 631. The sum of all points (and scalars) of each distinct orbit is O (0). In the end, any valid point has a unique 7-dimensional scalar. I think a trial and error search of common coefficients on lower dimensions (same orbit, or finding the distance between orbits) may simplify the ECDLP (with some sort of pollard rho). It might also be nothin'.
|
Off the grid, training pigeons to broadcast signed messages.
|
|
|
mjojo
Newbie
Offline
Activity: 79
Merit: 0
|
 |
May 28, 2025, 02:28:58 PM |
|
If you want in my GitHub you can find VanitySearch-bitcrack repo, 50% faster than these
Hi @fixedpaul when you release for multiple GPU, so far your repo is the fastest VanitySearch I tested. thank
|
|
|
|
|
nochkin
Member

Offline
Activity: 88
Merit: 14
|
 |
May 28, 2025, 03:00:21 PM |
|
what kind of speed should i expect when using python to brute force 12 word bip39 seed phrase from word list?
Pure Python implementation should get you maybe like a dozen or two per second, that's all.
|
|
|
|
|
nochkin
Member

Offline
Activity: 88
Merit: 14
|
 |
May 28, 2025, 03:43:21 PM |
|
what kind of speed should i expect when using python to brute force 12 word bip39 seed phrase from word list?
Pure Python implementation should get you maybe like a dozen or two per second, that's all. it shows around 10000h/s Sounds like you are doing part of the work only. I was testing the whole thing like getting a list of deterministic keys/addresses and so on.
|
|
|
|
|
snaz3d
Newbie
Offline
Activity: 2
Merit: 0
|
 |
May 29, 2025, 12:40:38 AM |
|
Y'all should get a job.
|
|
|
|
|
nochkin
Member

Offline
Activity: 88
Merit: 14
|
 |
May 29, 2025, 12:54:46 AM |
|
Y'all should get a job.
It's a job. A non-paying one, but a job.
|
|
|
|
|
MrGPBit
Jr. Member
Offline
Activity: 51
Merit: 1
|
 |
May 29, 2025, 01:19:52 PM |
|
Y'all should get a job.
Bitcoin Hunter is an official job
|
|
|
|
|
nameavailable
Newbie
Offline
Activity: 10
Merit: 0
|
 |
May 29, 2025, 02:10:45 PM |
|
I've spent 3.5 years studying this sequence instead of trying to brute force. I have developed thousands of algorithms and analysis scripts. This morning I successfully and efficiently reversed engineered indexes 1-69 perfectly generating them all without hard coding any keys.. BTC<3
|
|
|
|
|
MrGPBit
Jr. Member
Offline
Activity: 51
Merit: 1
|
 |
May 29, 2025, 02:16:13 PM |
|
I've spent 3.5 years studying this sequence instead of trying to brute force. I have developed thousands of algorithms and analysis scripts. This morning I successfully and efficiently reversed engineered indexes 1-69 perfectly generating them all without hard coding any keys.. BTC<3 Please share your experience and I code
|
|
|
|
|
nameavailable
Newbie
Offline
Activity: 10
Merit: 0
|
 |
May 29, 2025, 02:38:40 PM |
|
what kind of speed should i expect when using python to brute force 12 word bip39 seed phrase from word list?
not worth the time unless you are 100% sure on about 8-9 of them..minimum
|
|
|
|
|
Frequence
Jr. Member
Offline
Activity: 39
Merit: 2
|
 |
May 29, 2025, 03:15:38 PM |
|
what kind of speed should i expect when using python to brute force 12 word bip39 seed phrase from word list?
Pure Python implementation should get you maybe like a dozen or two per second, that's all. it shows around 10000h/s Sounds like you are doing part of the work only. I was testing the whole thing like getting a list of deterministic keys/addresses and so on. atleast it found test phrase. now playing with https://privatekeys.pw/puzzles/0.2-btc-puzzleimport time import itertools from multiprocessing import Pool, cpu_count import hashlib, struct, base58 from ecdsa import SigningKey, SECP256k1
# === Configuration === TARGET_ADDRESS = "1KfZGvwZxsvSmemoCmEV75uqcNzYBHjkHZ"
# position_words = { 1: ["black", "this", "order", "find", "real", "subject", "food", "truth", "hidden", "future", "freedom", "power", "welcome"], 2: ["black", "this", "order", "find", "real", "subject", "food", "truth", "hidden", "future", "freedom", "power", "welcome"], 3: ["black", "this", "order", "find", "real", "subject", "food", "truth", "hidden", "future", "freedom", "power", "welcome"], 4: ["black", "this", "order", "find", "real", "subject", "food", "truth", "hidden", "future", "freedom", "power", "welcome"], 5: ["black", "this", "order", "find", "real", "subject", "food", "truth", "hidden", "future", "freedom", "power", "welcome"], 6: ["black", "this", "order", "find", "real", "subject", "food", "truth", "hidden", "future", "freedom", "power", "welcome"], 7: ["black", "this", "order", "find", "real", "subject", "food", "truth", "hidden", "future", "freedom", "power", "welcome"], 8: ["black", "this", "order", "find", "real", "subject", "food", "truth", "hidden", "future", "freedom", "power", "welcome"], 9: ["black", "this", "order", "find", "real", "subject", "food", "truth", "hidden", "future", "freedom", "power", "welcome"], 10: ["black", "this", "order", "find", "real", "subject", "food", "truth", "hidden", "future", "freedom", "power", "welcome"], 11: ["black", "this", "order", "find", "real", "subject", "food", "truth", "hidden", "future", "freedom", "power", "welcome"], 12: ["black", "this", "order", "find", "real", "subject", "food", "truth", "hidden", "future", "freedom", "power", "welcome"] }
REPORT_INTERVAL = 5 # seconds
# === Private key to P2PKH address === def private_to_address(priv): sk = SigningKey.from_string(priv, curve=SECP256k1) pub = b'\x04' + sk.verifying_key.to_string() sha = hashlib.sha256(pub).digest() ripe = hashlib.new('ripemd160', sha).digest() prefixed = b'\x00' + ripe checksum = hashlib.sha256(hashlib.sha256(prefixed).digest()).digest()[:4] return base58.b58encode(prefixed + checksum).decode()
# === Electrum v1 seed to address === def electrum_seed_to_addr(seed_words): phrase = ' '.join(seed_words) seed = hashlib.sha512(phrase.encode('utf-8')).digest() priv_key = seed[:32] return private_to_address(priv_key)
# === Combination checker === def check_combination(combo): if len(set(combo)) < len(combo): # enforce unique words return None try: address = electrum_seed_to_addr(combo) if address == TARGET_ADDRESS: return combo except: return None return None
# === Parallel combination scanner === def scan_combinations_parallel(): word_lists = [position_words[i + 1] for i in range(12)] total = 1 for lst in word_lists: total *= len(lst)
print(f"Scanning {total:,} Electrum v1 seed combinations using {cpu_count()} cores...")
start = time.time() last_report = start pool = Pool(cpu_count())
generator = itertools.product(*word_lists)
for i, result in enumerate(pool.imap_unordered(check_combination, generator, chunksize=500)): now = time.time() if now - last_report >= REPORT_INTERVAL: elapsed = now - start speed = i / elapsed progress = (i / total) * 100 print(f"[{elapsed:.1f}s] Checked: {i:,} | Speed: {speed:,.0f}/s | Progress: {progress:.6f}%") last_report = now
if result: print("\nSUCCESS! Valid Electrum seed found:") print(" ".join(result)) print(f"Address: {TARGET_ADDRESS}") pool.terminate() return
print("\nDone. No matching Electrum-style mnemonic found.")
# === Main === if __name__ == "__main__": scan_combinations_parallel()
hopeless: Scanning 23,298,085,122,481 Electrum v1 seed combinations using 8 cores... [5.0s] Checked: 5,108,500 | Speed: 1,021,699/s | Progress: 0.000022% Don’t waste your time on this it’s an endless attempt with near zero chance of success. Thhe creator hasn’t updated or even signed the puzzle address. It’s not worth 0.2 BTC; you’re better off sticking with the 32 BTC puzzle instead.
|
|
|
|
|
Frequence
Jr. Member
Offline
Activity: 39
Merit: 2
|
 |
May 29, 2025, 06:58:17 PM |
|
what kind of speed should i expect when using python to brute force 12 word bip39 seed phrase from word list?
Pure Python implementation should get you maybe like a dozen or two per second, that's all. it shows around 10000h/s Sounds like you are doing part of the work only. I was testing the whole thing like getting a list of deterministic keys/addresses and so on. atleast it found test phrase. now playing with https://privatekeys.pw/puzzles/0.2-btc-puzzlehopeless: Scanning 23,298,085,122,481 Electrum v1 seed combinations using 8 cores... [5.0s] Checked: 5,108,500 | Speed: 1,021,699/s | Progress: 0.000022% Don’t waste your time on this it’s an endless attempt with near zero chance of success. Thhe creator hasn’t updated or even signed the puzzle address. It’s not worth 0.2 BTC; you’re better off sticking with the 32 BTC puzzle instead. It is useless mess. As i can see it is electrum 1626, but can not find even 12 correct candinates. advanceed research : https://github.com/AlberTajuelo/bitcoin-0.2-image-puzzle/tree/master
|
|
|
|
|
nochkin
Member

Offline
Activity: 88
Merit: 14
|
 |
May 30, 2025, 03:52:50 AM |
|
hopeless: Scanning 23,298,085,122,481 Electrum v1 seed combinations using 8 cores... [5.0s] Checked: 5,108,500 | Speed: 1,021,699/s | Progress: 0.000022%
It does not look like your code is actually doing its job. It does not even try to search for the address, this is why the speed is for doing basically nothing.
|
|
|
|
|
MrGPBit
Jr. Member
Offline
Activity: 51
Merit: 1
|
 |
May 30, 2025, 07:30:24 AM |
|
hopeless: Scanning 23,298,085,122,481 Electrum v1 seed combinations using 8 cores... [5.0s] Checked: 5,108,500 | Speed: 1,021,699/s | Progress: 0.000022%
It does not look like your code is actually doing its job. It does not even try to search for the address, this is why the speed is for doing basically nothing. you did not even try. import time import itertools from multiprocessing import Pool, cpu_count import hashlib, struct, base58 from ecdsa import SigningKey, SECP256k1
# === Configuration === TARGET_ADDRESS = "1ATUAMkg2y9mFB2fEJCmovt53bsgaiG5Ug"
# breathe black tower truth food liberty moon mask subject proof vote real position_words = { 1: ["food","this", "subject", "breathe", "black", "order", "vote"], 2: ["food","this", "subject", "real", "black", "order", "vote"], 3: ["food","this", "subject", "breathe", "tower", "order", "vote"], 4: ["truth"], 5: ["food","this", "subject", "real", "black", "order", "vote"], 6: ["liberty"], 7: ["moon"], 8: ["food","this", "subject", "mask", "black", "order", "vote"], 9: ["food","this", "subject", "real", "black", "order", "vote"], 10: ["food","this", "subject", "real", "black", "order", "proof"], 11: ["food","this", "subject", "real", "black", "order", "vote"], 12: ["food","this", "subject", "real", "black", "order", "vote"] }
REPORT_INTERVAL = 5 # seconds
# === Private key to P2PKH address === def private_to_address(priv): sk = SigningKey.from_string(priv, curve=SECP256k1) pub = b'\x04' + sk.verifying_key.to_string() sha = hashlib.sha256(pub).digest() ripe = hashlib.new('ripemd160', sha).digest() prefixed = b'\x00' + ripe checksum = hashlib.sha256(hashlib.sha256(prefixed).digest()).digest()[:4] return base58.b58encode(prefixed + checksum).decode()
# === Electrum v1 seed to address === def electrum_seed_to_addr(seed_words): phrase = ' '.join(seed_words) seed = hashlib.sha512(phrase.encode('utf-8')).digest() priv_key = seed[:32] return private_to_address(priv_key)
# === Combination checker === def check_combination(combo): if len(set(combo)) < len(combo): # enforce unique words return None try: address = electrum_seed_to_addr(combo) if address == TARGET_ADDRESS: return combo except: return None return None
# === Parallel combination scanner === def scan_combinations_parallel(): word_lists = [position_words[i + 1] for i in range(12)] total = 1 for lst in word_lists: total *= len(lst)
print(f"Scanning {total:,} Electrum v1 seed combinations using {cpu_count()} cores...")
start = time.time() last_report = start pool = Pool(cpu_count())
generator = itertools.product(*word_lists)
for i, result in enumerate(pool.imap_unordered(check_combination, generator, chunksize=1000)): now = time.time() if now - last_report >= REPORT_INTERVAL: elapsed = now - start speed = i / elapsed progress = (i / total) * 100 print(f"[{elapsed:.1f}s] Checked: {i:,} | Speed: {speed:,.0f}/s | Progress: {progress:.6f}%") last_report = now
if result: print("\nSUCCESS! Valid Electrum seed found:") print(" ".join(result)) print(f"Address: {TARGET_ADDRESS}") pool.terminate() return
print("\nDone. No matching Electrum-style mnemonic found.")
# === Main === if __name__ == "__main__": scan_combinations_parallel()
Scanning 40,353,607 Electrum v1 seed combinations using 8 cores... [5.0s] Checked: 6,381,000 | Speed: 1,276,035/s | Progress: 15.812713% [10.0s] Checked: 12,892,272 | Speed: 1,289,032/s | Progress: 31.948252% [15.0s] Checked: 18,649,000 | Speed: 1,242,677/s | Progress: 46.213961% SUCCESS! Valid Electrum seed found: breathe black tower truth food liberty moon mask subject proof vote real Address: 1ATUAMkg2y9mFB2fEJCmovt53bsgaiG5Ug actual range goes very small when you think list is shorter after each position, like lottery balls in certain order. count invalid seed or not, i dont care. just with 12 words is 479001600, 24 is 620448401733239439360000 Can you also adapt python code for Electrum Seed Version v2+?
|
|
|
|
|
Akito S. M. Hosana
Jr. Member
Offline
Activity: 392
Merit: 8
|
 |
May 30, 2025, 08:58:51 AM |
|
Everyone give up, don't be cheated of life, because time is life
Bro, time doesn’t even exist in the U.S. 
|
|
|
|
|
Retarded Coder
Newbie
Offline
Activity: 1
Merit: 0
|
 |
May 30, 2025, 10:23:51 AM |
|
# === Electrum v1 seed to address === def electrum_seed_to_addr(seed_words): phrase = ' '.join(seed_words) seed = hashlib.sha512(phrase.encode('utf-8')).digest() priv_key = seed[:32] return private_to_address(priv_key)
Mnemonics don't work like that. Your code is complete nonsense.
|
|
|
|
|
nochkin
Member

Offline
Activity: 88
Merit: 14
|
 |
May 30, 2025, 11:32:29 PM |
|
hopeless: Scanning 23,298,085,122,481 Electrum v1 seed combinations using 8 cores... [5.0s] Checked: 5,108,500 | Speed: 1,021,699/s | Progress: 0.000022%
It does not look like your code is actually doing its job. It does not even try to search for the address, this is why the speed is for doing basically nothing. you did not even try. Actually, I did and even tried to debug it. There are a few issues with it, this is why it does not search.
|
|
|
|
|
|
citb0in
|
 |
May 31, 2025, 09:28:01 AM |
|
does anyone know a fork or similar program like keyhunt-cuda that works for p2sh addresses (addresses with prefix 3........) ?
|
Some signs are invisible, some paths are hidden - but those who see, know what to do. Follow the trail - Follow your intuition - [bc1qqnrjshpjpypepxvuagatsqqemnyetsmvzqnafh]
|
|
|
|