![]() |
|
|
|
#1
|
|||
|
|||
|
Here is the link to a stripped down source code if anyone wants to have a look.
A GPU version and or Linux version would be great ![]() If any questions then just shoot ECC Source |
| The Following User Gave Reputation+1 to contextrax For This Useful Post: | ||
cjack (02-18-2018) | ||
| The Following 4 Users Say Thank You to contextrax For This Useful Post: | ||
alekine322 (02-18-2018), cjack (02-18-2018), RedLord (02-20-2018), tonyweb (02-17-2018) | ||
|
#2
|
|||
|
|||
|
Quote:
|
|
#3
|
||||
|
||||
|
Hey everyone,
I've been working on a GPU-accelerated ECDLP solver specifically targeting Armadillo's ECDSA-113 protection (binary Koblitz curve over GF(2^113)). The goal: crack the ECDSA-113 certificates used by Encryptionizer (protected with Armadillo) via distributed Pollard's Rho with distinguished points. Live dashboard: https://ecdlp.protect.cx/ The dashboard shows real-time progress — connected agents, iteration speed, DPs collected, collision probability, ETA, leaderboard with podium for top contributors, and it will display a celebration banner when the curve is solved. How it works: Pollard's Rho with Frobenius + negation canonicalization (226x search space reduction) Table-free GF(2^113) multiplication — 80 registers, zero spills Lopez-Dahab projective coordinates (no per-step inversions) ~3.5 billion iterations/sec on RTX 5090, ~1.0 G/s on RTX 3060 Ti Expected solve time: ~19 days on a single RTX 5090 (birthday bound ~6×10^15 iterations) More GPUs = faster solve. Every GPU contributing brings the ETA down proportionally. How to join: Download the agent (Version 1.4.4): https://ecdlp.protect.cx/download/ArmadilloSolver.zip Extract and run: solver_fast.exe --server ecdlp.protect.cx --worker-name "YourName" --worker-notes "Your GPU model" That's it — zero dependencies, zero install. The agent auto-connects, receives work parameters from the server, and starts grinding. You can limit GPU usage with --gpu-limit 50 (percentage). You can stop the agent at any time with Ctrl+C — it saves a checkpoint automatically. When you restart it, it will resume exactly where it left off. The zip includes both pre-built binaries (ready to run) and full source code with CMake build scripts, so you can review and compile it yourself if you prefer. Requirements: Any NVIDIA GPU from Maxwell (GTX 900) onwards. The binary includes PTX for universal compatibility — it will JIT-compile for your specific GPU architecture on first launch. Your contribution shows up on the dashboard leaderboard in real time. When the key is found, everyone who participated gets credited. Shout-out to this community for all the Armadillo research over the years — this project wouldn't exist without it. Last edited by cjack; 03-06-2026 at 05:15. |
| The Following 3 Users Gave Reputation+1 to cjack For This Useful Post: | ||
|
#4
|
||||
|
||||
|
can be done in 3 days if 10 cards of RTX 4090?
I ask Gemini (Antigravity) to read the project source code and doc, it gives the following estimation. Quote:
Quote:
__________________
AKA Solomon/blowfish. Last edited by WhoCares; 03-04-2026 at 13:08. |
|
#5
|
||||
|
||||
|
Hey WhoCares,
Great analysis! Gemini nailed the math — the numbers are spot on. To confirm: Expected steps: ~6.0 × 10^15 (this matches our server's calculation) 10x RTX 4090 at ~2.5 G/s each = 25 G/s total 6.0 × 10^15 / 25 × 10^9 ≈ 240,000 seconds ≈ ~2.8 days (~67 hours) So yes, 10 RTX 4090s would crack it in roughly 3 days on average. One small caveat worth mentioning: Pollard's Rho is probabilistic, so the actual time follows a geometric distribution. You could get lucky and find it at 50% of the expected steps, or unlucky and need 2-3x more. But on average, the estimate is correct. And I can see you're already on the dashboard with your RTX 4070 — welcome aboard and thanks for contributing! Right now we have 4 agents running at a combined ~3.25 G/s, with ~163 trillion iterations done and 6% probability reached. The hunt is on! |
|
#6
|
||||
|
||||
|
congrats, there are more full speed RTX 5090s joined.
Quote:
__________________
AKA Solomon/blowfish. |
|
#7
|
||||
|
||||
|
Thank's for sharing ECC Source contextrax!
Excuse me for my ignorance but, how to calculate the 8 ecc_curve_array[] parameters of an armadillo protected application? |
|
#8
|
|||
|
|||
|
Quote:
They are the hamming weight, A in the koblitz curve equation (y^2 + xy = x^3 + Ax^2 + B), point order and cofactor. The last four is the x,y coordinate for the base point and public point in polynomial base. Armadillo uses a 32 bit's seed for the base point so you will have to use arma source code to calc these values. They are however i the Type 2 Optimal Normal Base and you will have to do base conversion of them to go to x^113+x^9+1 But for testing speed or making a linux or GPU version then this is not necessary. The test curve that I use have A in the equation set to "0". This result in a different curve used for testing only. The order of this curve is 0x2000000000000000480DCA1242B1C and contains the factors: Prime factor : 2 - (2 bits) Prime factor : 2 - (2 bits) Prime factor : 18B9 - (13 bits) Prime factor : 1A89A0F - (25 bits) Prime factor : 31F1F2A998BD31AF391 - (74 bits) (Found by schoof2 from miracl library. "schoof2.exe 0 1 113 9") This makes is pretty good for testing (coz of the low order) and the test curve base point has a order of 0x31F1F2A998BD31AF391. (74 bit) You will also notice that the equivalence classes is maintained in all these subgroup (They all contain 113*2 as factors of p-1) which of course is typical for a koblitz curve. For base conversion you could make a matrix B=[1, b, b^2....,b^(m-1)] (m=113 for this base) Multiplying b^m*B^-1 should give you a polynomial base and to go from this base to x^113+x^9+1 you can use one of the 113 roots. For root finding you can use magma or sage or some other algo if you want to make one yourself. Hope this helps. Last edited by contextrax; 02-20-2018 at 03:17. |
| The Following 4 Users Say Thank You to contextrax For This Useful Post: | ||
alekine322 (10-25-2018), Apuromafo (03-04-2019), cjack (02-25-2018), tonyweb (02-25-2018) | ||
|
#9
|
||||
|
||||
|
Quote:
You have tried to use your models to find the protection system of flex_LM It also uses an ECC protection system. (If I'm wrong, please correct me) |
|
#10
|
|||
|
|||
|
Yes, but flex uses more stronger ECC
Last edited by RedLord; 10-26-2018 at 14:54. |
|
#11
|
||||
|
||||
|
Hi Contextrax, I have a VERY BAD target that I'm trying to reverse since a lot of time! The problem here is that it use A LOT of protected executables, so, maybe, the right way will be attacking the ECDSA certificate itself
![]() Need support to calculate the last 4 ecc_curve_array[] parameters. If you can help I'll extract the public certificate and post it here asap. I think that a tool to calculate the 8 ecc_curve_array[] parameters will be AMAZING
Last edited by cjack; 09-14-2018 at 13:50. |
|
#12
|
|||
|
|||
|
Quote:
|
|
#13
|
||||
|
||||
|
Yes sure! Here the link:
h**ps://mega.nz/#!V8RFxCDL!7JYuUUybRoJelyZwNvp8yB-LmkBGKEeJA_uUjfmxNls I've put into the zip just the registration app and a trial key (expired on november 2017 but if you set the clock back it'll work). As serial number use the string "Evaluation". Hope to start the bruteforcing soon Curious to see how many time will take!
|
|
#14
|
|||
|
|||
|
Quote:
x64dbg (no plugins) hide command bp in 00402A90 as hw bp and start to check is posible use the values (provided) or any fake. here must be the end: Quote:
BR, Apuromafo |
|
#15
|
|||
|
|||
|
Quote:
We used like 6 months last time so unless you have access to a lot of CPU's this will take forever. |
![]() |
| Tags |
| bolero, ecdlp |
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Replacing ECDSA in Target (arma) | Mynotos | General Discussion | 3 | 11-22-2019 00:49 |