{"id":15570499,"url":"https://github.com/cipherboy/hash_framework","last_synced_at":"2025-04-24T02:28:47.476Z","repository":{"id":44373839,"uuid":"110261907","full_name":"cipherboy/hash_framework","owner":"cipherboy","description":"Framework for studying cryptographic hash functions using SAT.","archived":false,"fork":false,"pushed_at":"2021-12-21T02:10:18.000Z","size":945,"stargazers_count":10,"open_issues_count":1,"forks_count":2,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-18T10:23:37.453Z","etag":null,"topics":["cryptographic-hash-functions","cryptography","distributed-computing","md4","md5","sat","satisfiability","sha3","siphash"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cipherboy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-11-10T15:26:04.000Z","updated_at":"2022-09-15T08:35:12.000Z","dependencies_parsed_at":"2022-07-12T20:10:33.268Z","dependency_job_id":null,"html_url":"https://github.com/cipherboy/hash_framework","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cipherboy%2Fhash_framework","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cipherboy%2Fhash_framework/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cipherboy%2Fhash_framework/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cipherboy%2Fhash_framework/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cipherboy","download_url":"https://codeload.github.com/cipherboy/hash_framework/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250547525,"owners_count":21448510,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cryptographic-hash-functions","cryptography","distributed-computing","md4","md5","sat","satisfiability","sha3","siphash"],"created_at":"2024-10-02T17:42:35.526Z","updated_at":"2025-04-24T02:28:47.444Z","avatar_url":"https://github.com/cipherboy.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# hash_framework\n## Overview\n\n`hash_framework` is a framework for studying cryptographic hash functions via\n[SAT](https://en.wikipedia.org/wiki/Boolean_satisfiability_problem). Its\nfocus is in developing metrics for analyzing collisions and studying and\nimproving new attacks.\n\n_This framework is under heavy development and is not yet stable and thus\nhas no guarantees about working in the future._\n\n## Requirements\n\n  - Python3\n  - Flask\n  - Gunicorn\n  - sqlite3\n  - [CryptoMiniSat5](https://github.com/msoos/cryptominisat)\n  - [bc2cnf](https://users.ics.aalto.fi/tjunttil/circuits/)\n\n\n## Installation\n\nThis repository is meant to be run from master. Simply clone the repository\nand update the configuration in `hash_framework/config.py` to point to the\nrequired tools.\n\nTo run a worker, validate the configuration and run `start_workers.sh` from\nthe base of the repository. See examples in `runs` for distributing jobs.\n\n\n## Existing kernels\n\n  - ASCII Search\n  - Family Search\n  - Minimal Differential Path Search\n  - Multicollision Search\n  - Neighborhood Search\n  - Ones\n  - Zeros\n\n\n## TODO\n    - Finish building database abstraction\n    - Build manager API for remote clients\n    - Build remote client library\n    - Build worker with remote client library\n    - Build local client library\n    - Add efficient insertion to client library for large batch job insertion\n        - Base it on generator / callback?\n    - Update kernel\n\n\n## Contributing\n\n`hash_framework` is licensed under the GLPv3. Contributions are welcome; please\nfork and open a pull request. No guarantees made about timeliness in response;\nplease be patient.\n\nMost welcome are new attacks (in the form of kernels) and implementations\nof other hash functions. Also welcome is compute resources for ongoing\nresearch.\n\n## Research\n\nThis project is part of ongoing research at Iowa State University. As papers\nare published using this framework, please refer to this repository.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcipherboy%2Fhash_framework","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcipherboy%2Fhash_framework","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcipherboy%2Fhash_framework/lists"}