Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cipherboy/hash_framework
Framework for studying cryptographic hash functions using SAT.
https://github.com/cipherboy/hash_framework
cryptographic-hash-functions cryptography distributed-computing md4 md5 sat satisfiability sha3 siphash
Last synced: 7 days ago
JSON representation
Framework for studying cryptographic hash functions using SAT.
- Host: GitHub
- URL: https://github.com/cipherboy/hash_framework
- Owner: cipherboy
- License: gpl-3.0
- Created: 2017-11-10T15:26:04.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2021-12-21T02:10:18.000Z (almost 3 years ago)
- Last Synced: 2024-10-28T05:14:56.913Z (19 days ago)
- Topics: cryptographic-hash-functions, cryptography, distributed-computing, md4, md5, sat, satisfiability, sha3, siphash
- Language: Python
- Homepage:
- Size: 923 KB
- Stars: 10
- Watchers: 6
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# hash_framework
## Overview`hash_framework` is a framework for studying cryptographic hash functions via
[SAT](https://en.wikipedia.org/wiki/Boolean_satisfiability_problem). Its
focus is in developing metrics for analyzing collisions and studying and
improving new attacks._This framework is under heavy development and is not yet stable and thus
has no guarantees about working in the future._## Requirements
- Python3
- Flask
- Gunicorn
- sqlite3
- [CryptoMiniSat5](https://github.com/msoos/cryptominisat)
- [bc2cnf](https://users.ics.aalto.fi/tjunttil/circuits/)## Installation
This repository is meant to be run from master. Simply clone the repository
and update the configuration in `hash_framework/config.py` to point to the
required tools.To run a worker, validate the configuration and run `start_workers.sh` from
the base of the repository. See examples in `runs` for distributing jobs.## Existing kernels
- ASCII Search
- Family Search
- Minimal Differential Path Search
- Multicollision Search
- Neighborhood Search
- Ones
- Zeros## TODO
- Finish building database abstraction
- Build manager API for remote clients
- Build remote client library
- Build worker with remote client library
- Build local client library
- Add efficient insertion to client library for large batch job insertion
- Base it on generator / callback?
- Update kernel## Contributing
`hash_framework` is licensed under the GLPv3. Contributions are welcome; please
fork and open a pull request. No guarantees made about timeliness in response;
please be patient.Most welcome are new attacks (in the form of kernels) and implementations
of other hash functions. Also welcome is compute resources for ongoing
research.## Research
This project is part of ongoing research at Iowa State University. As papers
are published using this framework, please refer to this repository.