Search content
Sort by

Showing 11 of 11 results by LeTH3knXoDArzm
Post
Topic
Board Development & Technical Discussion
Re: Probabilistic search of prefixes vs random+sequential
by
LeTH3knXoDArzm
on 24/04/2025, 05:39:41 UTC
I'm from my phone now, I'm not able to scroll the code but as far I understood you are scanning for "aabbcc" in a block, once found you move to next one. Right? If yes, it's like the "?" checksum in minikey, basically you get one valid ripemd starting with "00" once every 256~ hashes. And it's interesting. it's like kangaroo 🦘 for hashes if I got it right.
Post
Topic
Board Development & Technical Discussion
Merits 4 from 1 user
Re: Competition to Break Bitcoin's Cryptography and win 1 BTC
by
LeTH3knXoDArzm
on 17/04/2025, 13:02:55 UTC
⭐ Merited by LoyceV (4)
I don't know, I read their T&C and they are mention the following "10. Prize and Related Terms. One Winner may receive a prize of one (1) Bitcoin or, " < I don't like that "may".
Post
Topic
Board Bitcoin Discussion
Merits 2 from 2 users
Re: Mini-puzzle #5
by
LeTH3knXoDArzm
on 16/04/2025, 13:45:28 UTC
⭐ Merited by RetiredCoder (1) ,Cricktor (1)
Congrats to the winner!  Smiley

Solved it!
Thank you RetiredCoder for the puzzle, a few more and I can buy a brand new rtx 5090  Grin
Should I also put how I managed to solve it?

Yes please!

Here's how I made it:

I tried to understand your puzzle, you first said that the private key is ABCD where A = A; B = A*2; C = C*3; D = D*4. At this point I was confused since you also mentioned that A is the LSB - so my brain was not fully working. But I went full in with the fact that the private key is D + C + B + A; so in my mind I was thinking that there's some padding like: "4 * (1 << 192) + 3 * (1 << 128) + 2 * (1 << 64) + 1" or int: 25108406941546723056364004793593481054836439088298861789185/hex: 04000000000000000300000000000000020000000000000001 (let's call it nG, I know it may be not the right notation but I don't have any idea on how to call it)

Great, now I have to calculate the inverse of it so I'll be on 'the other side', let's call it inv_nG (gmpy2.invert(04000000000000000300000000000000020000000000000001, SECP256k1.order). Once calculated, I created the point Q' by doing inv_nG * pubkey (original one, posted by RetiredCoded) and now I have a key that lays in 2**63, 2**64 bit range.

What's next? Well, I started to hope & pray that I will be able to find something with my toast (pc) and after 2 minutes I found the following partial key with bsgs: pK (partial key) = 3380374721080fff. At this point I had to do the concatenation; private key = 4 * pK + 3 * pK + 2 * pK + pK and I've got the whole full private key: ce00dd1c84203ffc9a80a5d563182ffd67006e8e42101ffe3380374721080fff

I hope that I was clear enough, I'm not used to explain how I do stuff  Smiley
Post
Topic
Board Bitcoin Discussion
Re: Mini-puzzle #5
by
LeTH3knXoDArzm
on 16/04/2025, 13:02:30 UTC
Solved it!

Thank you RetiredCoder for the puzzle, a few more and I can buy a brand new rtx 5090  Grin

Should I also put how I managed to solve it?


Congrulations!
It's sad i've need to work

Wonder what strategy you manage to solve this puzzle?
can you tell us how you solve it?


Some math + kangaroo then some math again to reassemble the whole private key.

Solved it!

Thank you RetiredCoder for the puzzle, a few more and I can buy a brand new rtx 5090  Grin

Should I also put how I managed to solve it?


I suppose you divided the public key by 10 and then brute-forced A, and the rest is history. If A + B + C + D.

1PGRtg6XjiYSB1VJAhsqLQc6hQeBqFGVPD

Not really, the key is between 2^255-2^256, so if you take this private key (integer): 62522620898388648159897954119572167059065661617885912620603899974102669643449 and divide it by 10 it will never be in 2**63, 2**64 bit range  Grin
Post
Topic
Board Bitcoin Discussion
Re: Mini-puzzle #5
by
LeTH3knXoDArzm
on 16/04/2025, 11:33:07 UTC
Solved it!

Thank you RetiredCoder for the puzzle, a few more and I can buy a brand new rtx 5090  Grin

Should I also put how I managed to solve it?
Post
Topic
Board Development & Technical Discussion
Merits 1 from 1 user
Re: I created smaller secp256k1 just for testing
by
LeTH3knXoDArzm
on 13/03/2025, 10:50:11 UTC
⭐ Merited by JackMazzoni (1)
I learn many things from this smaller secp256k1.

Uncompressed public key: 042f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4d8ac222636e5e 3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6

Three x values:
x1 = 21505829891763648114329055987619236494102133314575206970830385799158076338148
x2 = 23285849548026170226712523888619559634478006467037872208296602441247713932904
x3 = 71000409797526377082529405132449111724689844884027484860330595767503044400611

Two y values:
y1 = 98003708678762621233683240503080860129026887322874138805529884920309963580118
y2 = 17788380558553574189887744505607047724243097342766425233927699087598871091545
Enter private key for (x1, y1) = (21505829891763648114329055987619236494102133314575206970830385799158076338148, 98003708678762621233683240503080860129026887322874138805529884920309963580118): 5

Six public keys with private keys:
Public key 1: 042f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4d8ac222636e5e 3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6 [Private key: 5]
  Validated: k1 matches
Public key 2: 04337b52e3acda49dff79f54fbccb94671a045693ee0d097cc138c694695a83668d8ac222636e5e 3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6 [Private key: 72798312578463789091060122408687194401800723498338030560477939572921828405753]
  Validated: k2 matches
Public key 3: 049cf8cecf391e958cb2ac03df28ea6865772f120342cdcd7c20cac14eb816d5e3d8ac222636e5e 3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6 [Private key: 42993776658852406332510862600000713451036840780736873822127223568596333088579]
  Validated: k3 matches
Public key 4: 042f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe42753ddd9c91a1 c292b24562259363bd90877d8e454f297bf235782c459539959 [Private key: 115792089237316195423570985008687907852837564279074904382605163141518161494332]
  Validated: k4 matches
Public key 5: 04337b52e3acda49dff79f54fbccb94671a045693ee0d097cc138c694695a836682753ddd9c91a1 c292b24562259363bd90877d8e454f297bf235782c459539959 [Private key: 42993776658852406332510862600000713451036840780736873822127223568596333088584]
  Validated: k5 matches
Public key 6: 049cf8cecf391e958cb2ac03df28ea6865772f120342cdcd7c20cac14eb816d5e32753ddd9c91a1 c292b24562259363bd90877d8e454f297bf235782c459539959 [Private key: 72798312578463789091060122408687194401800723498338030560477939572921828405758]
  Validated: k6 matches

Sum of private keys for y1 = 115792089237316195423570985008687907852837564279074904382605163141518161494337 (should be n or 2n)
Sum of private keys for y2 = 231584178474632390847141970017375815705675128558149808765210326283036322988674 (should be n or 2n)

Endomorphs!

public key 2 = beta * P.x || lambda * P (mod p)
public key 3 = beta2 * P.x
public key 4 = p - P.y() == inverse of p * G (mod p)
public key 5 = x*beta%p, p-y == N-pvk*lmda%N
public key 6 = x*beta2%p, p-y == N-pvk*lmda2%N

python script that compute all of them in one shot (if helpful to anyone):

Code:
from ecdsa.ellipticcurve import Point
from ecdsa.curves import SECP256k1

# secp256k1 parameters
curve = SECP256k1.curve
p = curve.p()
G = SECP256k1.generator

# Compute β = 2^((p-1)/3) mod p
beta   = pow(2, (p - 1) // 3, p)
beta2  = 60197513588986302554485582024885075108884032450952339817679072026166228089408
lmbda  = 37718080363155996902926221483475020450927657555482586988616620542887997980018
lmbda2 = 78074008874160198520644763525212887401909906723592317393988542598630163514319

# print(p)
def parse_pubkey(pubkey: str):
    """Extracts x, y coordinates from an uncompressed '04' format public key."""
    if not pubkey.startswith('04') or len(pubkey) != 130:
        raise ValueError("Invalid uncompressed public key format")
    x = int(pubkey[2:66], 16)
    y = int(pubkey[66:], 16)
    return Point(SECP256k1.curve, x, y, SECP256k1.order)

# beta * P.x == lambda * P (mod p)
def endomorphism(P: Point) -> Point:
    x_new = (beta * P.x()) % p
    return Point(curve, x_new, P.y())
# p - P.y() == inverse of p * G (mod p) (negation of y)
def endomorphism2(P: Point) -> Point:
    # x_new = ( P.x() * beta2) % p
    y_new = ( p - P.y() ) % p
    return Point(curve, P.x(), y_new)

def endomorphism3(P: Point) -> Point:
    x_new = (beta2 * P.x()) % p
    return Point(curve, x_new, P.y())
def endomorphism4(P: Point) -> Point:
    x_new = (beta * P.x()) % p
    y_new = (p - P.y()) % p
    return Point(curve, x_new, y_new)
def endomorphism5(P: Point) -> Point:
    x_new = (beta2 * P.x()) % p
    y_new = (p - P.y()) % p
    return Point(curve, x_new, y_new)



pubkey = "042f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"
# compute given public key or P integer, decomment one or another.
P = 6 * G
# P = parse_pubkey(pubkey)

P_endomorph = endomorphism(P)
P_endomorph2 = endomorphism2(P)
P_endomorph3 = endomorphism3(P)
P_endomorph4 = endomorphism4(P)
P_endomorph5 = endomorphism5(P)

print("Original P  :", (P.x(), P.y()))
print(f"Originak P key 04{P.x():x}{P.y():x}")
print('---------------------------------')
print("Endomorph P [beta * P.x == lambda * P (mod p)]:", (P_endomorph.x(), P_endomorph.y()))
print(f"Endomorph φ(P) key 04{P_endomorph.x():064x}{P_endomorph.y():064x}")
print('---------------------------------')
print("Endomorph2 P [p - P.y() == inverse of p * G (mod p) (negation of y)]:", (P_endomorph2.x(), P_endomorph2.y()))
print(f"Endomorph2 φ(P) key 04{P_endomorph2.x():x}{P_endomorph2.y():x}")
print('---------------------------------')
print("Endomorph3 P [beta2 * P.x == 2nd beta iteration]:", (P_endomorph3.x(), P_endomorph3.y()))
print(f"Endomorph3 φ(P) key 04{P_endomorph3.x():x}{P_endomorph3.y():x}")
print('---------------------------------')
print("Endomorph4 P [x*beta%p, p-y == N-pvk*lmda%N]:", (P_endomorph4.x(), P_endomorph4.y()))
print(f"Endomorph4 φ(P) key 04{P_endomorph4.x():x}{P_endomorph4.y():x}")
print('---------------------------------')
print("Endomorph5 P [x*beta2%p, p-y == N-pvk*lmda2%N]:", (P_endomorph5.x(), P_endomorph5.y()))
print(f"Endomorph5 φ(P) key 04{P_endomorph5.x():x}{P_endomorph5.y():x}")
Post
Topic
Board Development & Technical Discussion
Re: little algebra - how to take back?
by
LeTH3knXoDArzm
on 10/11/2021, 14:11:37 UTC
so


K ( nonce) is  

nonce = 231584178474632390847141970017375815706539969331281128078915168015826294532480 as integer not as point!

after multiply by 64 mod n   (n = order of curve secp256k1)

nonce = nonce * 64 % n
we have result : 864840773131319313704841732789971543806  


so any way how to take it back before multiply by 64?

Well, I don't know what you are trying to reach but (nonce * 64)%range != 864840773131319313704841732789971543806.
You did the following instead:
range = fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141
nonce = 2000000000000000000000000000000000000000000000000000000000219e980

nonce%range = 28aa24632a16ebf88805b42e661ad66fe (864840773131319313704841732789971543806)

 Smiley

Post
Topic
Board Development & Technical Discussion
Re: Can someone modify this code in python ?
by
LeTH3knXoDArzm
on 02/11/2021, 15:32:05 UTC
Hi Cobras,
sorry for the off-topic. But can someone tell me what is a "scrypt"? I'm confused.  Huh
Post
Topic
Board Development & Technical Discussion
Re: koalabear Token
by
LeTH3knXoDArzm
on 06/10/2021, 08:15:39 UTC
INTRODUCTION

Koala Bear Token is fasted growing cryptocurrency of its kind. Koala Bear fully decentralized and on a mission to bring crypto to the average person while also helping save koala bear in need.

KOALA BEAR TOKEN, BIG DREAM

Koala bear the goal of being a decentralized meme project with a purpose. Koala Bear is a fun meme with a serious mission to rescue koala bear in need, bring crypto adoption to the main stream with new concepts such as rewards, NFT, decentralized exchanges and credit card for crypto on our website.

website - https://koabear.net
Follow us on - Telegram - https://t.me/koalabearindia

 Wink Wink

Your site is very familiar to me. I just can not remember where I have seen it before. Your team section is not up-to-date by the way.

That's because it's a wp theme: http://wpdemo.oceanthemes.net/icos/
Post
Topic
Board Project Development
Merits 3 from 2 users
Re: List of all Bitcoin addresses with a balance
by
LeTH3knXoDArzm
on 07/07/2021, 10:32:53 UTC
⭐ Merited by LoyceV (2) ,JayJuanGee (1)
you can upload the content on https://wetransfer.com/ and use that for the main link, and somewhere in the page add the link on your host. It would save loooooots of traffic.
Thanks for the suggestion, but I'm not going to do this. I don't like using a third party that requires additional attention from the downloader. If anything, I'll use Torrent in the future.

Or so! It's a great option, took a look on google for seedboxes and found this (first link) https://seedbox.io/shared-seedbox/ there's a monthly payment (6 euros) but there's unlimited traffic.
But there are some cons:
1) There's a fee to be paid monthly (6 euros)
2) The hassle to upload the files every day on that seedbox
3) You should implement some google captcha to download directly from loyce.club.
..
..
..
it worth the work? Smiley
Post
Topic
Board Project Development
Re: List of all Bitcoin addresses with a balance
by
LeTH3knXoDArzm
on 07/07/2021, 09:46:41 UTC
Hi LoyceV,
I really appreciate your work, but I have a question... you can upload the content on https://wetransfer.com/ and use that for the main link, and somewhere in the page add the link on your host. It would save loooooots of traffic.