Go to file
TiredFromTelehack 195d6108c7 Update: Generate 16-character salt starting with lowercase letter in pow_generator.py 2024-10-18 03:38:05 +02:00
README.md Update README.md 2024-10-18 02:47:50 +02:00
pow_generator.py Update: Generate 16-character salt starting with lowercase letter in pow_generator.py 2024-10-18 03:38:05 +02:00
proof_of_work.sh Updated proof_of_work.sh with input validation and improvements 2024-10-18 01:50:35 +02:00

README.md

Proof of Work Script

This repository contains scripts for implementing a Proof of Work (PoW) algorithm using the Argon2 hashing function. It is designed to solve a mining challenge based on given parameters, making it suitable for educational purposes or testing PoW implementations.

Table of Contents

Features

  • Checks for required utilities (argon2, xxd, bc).
  • Accepts a challenge code as input, either via command line or prompt.
  • Iteratively generates and hashes candidate passwords until a valid solution is found.
  • Displays the solution once it meets the required difficulty.
  • Python Salt Generator: A Python script to generate random salt values and PoW challenge codes, with configurable parameters.

Requirements

Ensure the following utilities are installed on your system:

  • argon2: A secure hashing algorithm for password hashing.
  • xxd: A tool for creating a hex dump from a binary file and vice versa.
  • bc: An arbitrary precision calculator language.

Installation

You can install the required utilities on Debian/Ubuntu-based systems using the following command:

sudo apt-get install argon2 xxd bc

If you're using a different Linux distribution, please consult your package manager's documentation.

Usage

Bash Script Usage

  1. Clone the repository to your local machine:
git clone https://github.com/TiredFromTelehack/proof-of-work-solver.git
cd proof-of-work-solver
  1. Make the script executable:
chmod +x proof_of_work.sh
  1. Run the script with a challenge code:
./proof_of_work.sh "262144:1:SALTe7e590c2f902:1500"

Python Salt Generator Usage

  1. Make sure you have Python installed (Python 3 is recommended).

  2. Run the generator script to create a random Proof of Work challenge code:

python3 pow_generator.py

Examples

Bash Script Example

Run the Bash script with a specific challenge code:

./proof_of_work.sh "262144:1:SALTe7e590c2f902:1500"

Output Example:

Estimated iterations: 1500 Time Cost: 1 Elapsed Time: 5 seconds. SOLUTION FOUND Your unblock code is: UNBLOCK-X7J2L9D5 This is the code you enter into the site to pass the challenge.

Python Salt Generator Example

Run the Python salt generator to create a random challenge code:

python3 pow_generator.py

Output Example:

Generated Proof of Work Code: 123456:1:SALTe7e590c2f902:1450

The generated code includes:

Memory Cost: Randomized up to 262,144 bytes.

Time Cost: Always set to 1.

Salt: Randomized, prefixed with "SALTE".

Difficulty: Randomized between 1000 and 1500.