Skip to content

Script for the use of lightweight databases focused on public keys and BSGS, to reduce the use of disk and ram space.

Notifications You must be signed in to change notification settings

Mcdouglasx/lightweight-Baby-Step-Giant-Step-data-base

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

The Baby Step Giant Step (BSGS) algorithm is used to solve the discrete logarithm problem efficiently in a cyclic group. The algorithm works by breaking down the problem into two steps:

Baby Steps

In this step, we calculate a list of baby steps by iteratively raising the generator g to different powers. We start with j = 0 and calculate g^j for values of j from 0 up to m-1 , where m is typically chosen as the square root of the group order n . We store each calculation in 1 bit per key, this is the highlight because it considerably minimizes the size of our database.

create binary baby step

using babyStep_db_v1.py

Giant Steps

In this step, we perform giant steps by multiplying, this approach is efficient because it reduces the search space for the discrete logarithm from O(n) to O(sqrt(n)) , significantly speeding up the computation for large cyclic groups.

search script

using binary_bsgs_v1.py

I have used iceland's work on Bsgs to expose my lightweight database system.

secp256k1

https://github.com/iceland2k14/secp256k1

Download and place the files in the same folder as the scripts

bitcointalk post https://bitcointalk.org/index.php?topic=5477342

Donate to: btc: bc1qxs47ttydl8tmdv8vtygp7dy76lvayz3r6rdahu

About

Script for the use of lightweight databases focused on public keys and BSGS, to reduce the use of disk and ram space.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages