CipherScope is a distributed and concurrent hash cracking system written in Go.
It demonstrates practical concepts of parallel computing and distributed systems, combining:
- Multi-core processing (goroutines)
- Distributed execution across multiple machines (e.g., TV Boxes)
- Task distribution via TCP sockets
- Efficient worker coordination and early termination
CipherScope supports two main attack strategies:
- Reads passwords from a wordlist file
- Hashes each entry and compares with the target
- Generates all possible combinations from a given charset and length
- Uses recursion + streaming (no full memory allocation)
CipherScope combines:
-
Intra-node parallelism
- Goroutines + channels
- Utilizes all CPU cores
-
Inter-node parallelism
- Multiple workers across devices
- Master distributes workload
CipherScope/ βββ master/ # Task coordinator (distributes work) βββ worker/ # Executes tasks (runs on remote machines) βββ core/ # Engine, jobs, and task definitions βββ attacks/ # Dictionary and brute-force logic βββ crypto/ # Hashing algorithms βββ utils/ # Logging and helpers βββ main.go # Local (non-distributed) execution
- Go 1.20+
- Machines in the same network (for distributed mode)
Clone the repository:
git clone https://github.com/your-username/cipherscope.git
cd cipherscopego run master/main.goYou will be prompted:
Enter hash: Enter hash type (md5, sha1, sha256):
Edit:
π worker/main.go
Replace:
"net.Dial("tcp", "MASTER_IP:9000")With your master IP:
"net.Dial("tcp", "192.168.0.10:9000")go run worker/main.go(Open multiple terminals)
GOOS=linux GOARCH=arm64 go build -o worker ./workerscp worker user@DEVICE_IP:/home/user/chmod +x worker
./workerGenerate a test hash:
echo -n "abcde" | md5sumRun master and input:
Hash: <generated hash>
Type: md5
Expected output:
Password found: abcde
All workers stopped.
-
Dictionary Attack:
O(n) -
Brute Force:
O(|charset|^length)
T β N / (workers Γ CPU cores)
Where:
- N = total combinations
- workers = number of machines
- No support for salted hashes (e.g., bcrypt, argon2)
- Brute force grows exponentially
- No dynamic load balancing (static distribution)
- No fault tolerance (worker failure not handled)
- π Dynamic task queue (work stealing)
- π Real-time metrics (hashes/sec)
- π Support for bcrypt / argon2
- β‘ GPU acceleration
- π gRPC instead of raw TCP
- π₯οΈ CLI interface (cobra)
- π Benchmarking tools
Use small values for quick tests:
charset := "abc"
length := 3- Goroutines and channels
- Producerβconsumer pattern
- Context cancellation
- TCP networking in Go
- Distributed task scheduling
- Parallel brute force search
MIT License
Developed for academic purposes in Parallel Computing.
CipherScope is a practical demonstration of distributed brute-force computation, showing how:
- Workloads can be split across machines
- CPU cores can be fully utilized
- Systems can scale horizontally