https://github.com/bboymega/secureupdatedynamichash
Secure Hotfix System with Dynamic Hash-Based Verification
https://github.com/bboymega/secureupdatedynamichash
cityhash cybersecurity file-integrity hashing integrity security security-tools spookyhash xxhash
Last synced: 4 months ago
JSON representation
Secure Hotfix System with Dynamic Hash-Based Verification
- Host: GitHub
- URL: https://github.com/bboymega/secureupdatedynamichash
- Owner: bboymega
- License: mit
- Created: 2025-06-22T20:21:38.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-06-22T21:03:20.000Z (4 months ago)
- Last Synced: 2025-06-22T21:26:54.640Z (4 months ago)
- Topics: cityhash, cybersecurity, file-integrity, hashing, integrity, security, security-tools, spookyhash, xxhash
- Language: Python
- Homepage:
- Size: 22.5 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SecureUpdateDynamicHash
This system utilises a high-performance, security-aware dynamic hashing mechanism to facilitate the reliable distribution of updates and hotfixes to designated client endpoints.Update payloads are partitioned at randomized offsets, with each segment individually hashed using CityHash64, XXH64, and SpookyHash64.
A final integrity check is performed by computing a SHA-256 hash over the concatenated sequence of all segment hashes.
# Server
```
usage: server.py [-h] [-c CONFIG_FILE] [-g PATH_TO_NEW_CONFIG_FILE]Secure Update Server with Dynamic Hash Verification
options:
-h, --help show this help message and exit
-c, --config CONFIG_FILE
Path to the configuration file
-g, --generate PATH_TO_NEW_CONFIG_FILE
Generate a new configuration file, for example, config.json
```
Server Configuration :
| KEY | VALUE |
| ------------- | ------------- |
| allowed | List of allowed client UUIDs |
| version | Version of the target program/files served by the update server |
| listen | Listening address |
| port | Listening port |
| update_file | Update file served by the update server |
| client_install_path | Path on the client where the update will be installed |
| client_install_script | Install script on the server that will be executed by the client during update installation |# Client
```
usage: client.py [-h] [-c CONFIG_FILE] [-g PATH_TO_NEW_CONFIG_FILE]Secure Update Client with Dynamic Hash Verification
options:
-h, --help show this help message and exit
-c, --config CONFIG_FILE
Path to the configuration file
-g, --generate PATH_TO_NEW_CONFIG_FILE
Generate a new configuration file, for example, config.json
```
Client Configuration :
| KEY | VALUE |
| ------------- | ------------- |
| UUID | Client UUID |
| version | Currently installed version of the target program/files on the client |
| server | Update server address |
| port | Update server port |# Installation
| DEPENDENCIES |
| ------------ |
| xxhash |
| cityhash |
| spookyhash |Please install the dependencies listed above using either `pip install` or `python3 -m pip install`, depending on your environment configuration.
During installation, ensure that `server.py` and `client.py` reside in the same directory as `partialhash.py`, as it contains the partial hashing module and is a required dependency.