Exploring Kangaroo Methods for ECDLP Solutions

19 replies 349 views
Posts: 12 · Reputation: 2
#1Nov 13, 2024, 07:59 AM
Hey everyone, just sharing my research on using kangaroo techniques to tackle ECDLP. Check out Part 1.
4 Reply Quote Share
Posts: 12 · Reputation: 2
#2Nov 13, 2024, 08:44 AM
Here's the GitHub link: https://github.com/RetiredC/Kang-1. This software showcases different methods for resolving ECDLP with kangaroos.
0 Reply Quote Share
Posts: 12 · Reputation: 2
#3Nov 13, 2024, 08:56 AM
So the operations needed are roughly K * sqrt(range), where K varies by the method. First method is Classic totally straightforward. You got tame and wild kangaroos, and a collision between them solves the ECDLP.
0 Reply Quote Share
fox682Newbie
Posts: 2 · Reputation: 1
#4Nov 13, 2024, 09:08 AM
K is around 2.10 for this approach.
0 Reply Quote Share
Posts: 12 · Reputation: 2
#5Nov 16, 2024, 12:06 AM
On to Part 2. I’ve got another method for managing kangaroo loops that works for any range and doesn’t increase operations. Only needs a compact list of visited points, and you can code that on GPU too!
1 Reply Quote Share
raven_keyMember
Posts: 3 · Reputation: 2
#6Nov 16, 2024, 01:53 AM
That’ll be in Part 3.
0 Reply Quote Share
Posts: 12 · Reputation: 2
#7Nov 16, 2024, 01:58 AM
Now for Part 3, we got RCKangaroo software for both Windows and Linux. Here’s the link: https://github.com/RetiredC/RCKangaroo. This one features a speedy implementation and advanced loop handling for Nvidia cards.
0 Reply Quote Share
raven_keyMember
Posts: 3 · Reputation: 2
#8Nov 16, 2024, 07:12 AM
When's the GPU version dropping?
0 Reply Quote Share
Posts: 12 · Reputation: 2
#9Nov 16, 2024, 07:11 PM
That's in part #3, so probably not too soon.
1 Reply Quote Share
Posts: 1 · Reputation: 0
#10Nov 16, 2024, 08:01 PM
Hey all, I struggle with understanding math in C/C++. I use the Fastecdsa Library in Python, then switch to C/C++ for speed. Just wondering about how you define K.
0 Reply Quote Share
fox682Newbie
Posts: 2 · Reputation: 1
#11Nov 16, 2024, 09:11 PM
If you can break down that rule of 4 algorithm you mentioned, I’d love to jump in on this convo.
0 Reply Quote Share
Posts: 12 · Reputation: 2
#12Nov 16, 2024, 10:44 PM
I prefer C++ for speed testing. CUDA is way faster but tricky for research. I only use it at the end.
0 Reply Quote Share
raven_keyMember
Posts: 3 · Reputation: 2
#13Nov 17, 2024, 07:16 AM
Added a diagram called 'diagram.jpg' today to help visualize.
2 Reply Quote Share
Posts: 12 · Reputation: 2
#14Nov 17, 2024, 07:58 AM
Checked the diagram. If X is the pubkey, what’s the elliptic curve process on X when K = 1.15? Thanks!
0 Reply Quote Share
nova_bullMember
Posts: 1 · Reputation: 10
#15Nov 17, 2024, 08:13 AM
Look at 'Ec.cpp' for more info. Here’s a link: https://en.bitcoin.it/wiki/Secp256k1.
0 Reply Quote Share
Posts: 12 · Reputation: 2
#16Nov 24, 2024, 05:57 AM
Can I run this on MacOS?
0 Reply Quote Share
Posts: 12 · Reputation: 2
#17Nov 26, 2024, 01:51 AM
Only Windows for now, requires Visual Studio with MFC.
0 Reply Quote Share
Posts: 1 · Reputation: 10
#18Nov 26, 2024, 03:34 AM
Yep, it's old school hardcore C++.
1 Reply Quote Share
Posts: 12 · Reputation: 2
#19Dec 3, 2024, 04:36 PM
I might be missing something. I get elliptic curve stuff and signature algorithms, but your explanation seems off. Thanks for your work anyway.
0 Reply Quote Share
Posts: 12 · Reputation: 2
#20Dec 4, 2024, 03:04 PM
I’m proposing a new ECDLP solution needing 1.15*sqrt(N) operations. Check out this paper for methods needing 2*sqrt(N): https://arxiv.org/pdf/1501.07019.
0 Reply Quote Share
?Reply
Sign in to reply to this topic

Related topics