The Hexafid Cipher reference implementation
Project description
Hexafid
Hexafid is an experimental block cipher. DANGER!
The project goals are to produce a cipher that:
- works easily with pen and paper
- secures confidentiality of information
- offers plausible deniability if discovered
- exhibits greater strength in software
Caveat Emptor
- Hexafid began as a hobby project during the COVID-19 pandemic
- The work has NOT yet been peer reviewed by the academic community
- The algorithms have NOT yet been proven to have strong security
- The software is released under an open source licence (MIT) that:
- Limits ANY liability, and
- Provides NO warranty
Documentation Home
https://hexafid.gitlab.io/hexafid
Installation
Use the package manager pip to install hexafid.
$ pip install hexafid
Usage
As an end user:
$ hexafid --version
$ hexafid --help
$ hexafid
As a developer:
from hexafid import hexafid_core as hexafid
hexafid.encrypt(message, key, mode, iv, period, rounds) # returns ciphertext string
hexafid.decrypt(message ,key, mode, period, rounds) # returns plaintext string
NOTE: use of these libraries assumes that you understand the cryptographic implications of changing parameters.
Contributing
Merge Requests are welcome. For all changes, please:
- open an Issue first to document the activity;
- label the Issue (e.g. Bug, Feature, Refactor, Suggestion, Test);
- update or add any related tests to support your work;
- create an associated Merge Request to discuss changes with a maintainer.
We expect team members to have minimum knowledge as found in https://www.coursera.org/learn/crypto.
Key areas of future research and development include:
- linear and differential cryptanalysis
- constraint optimized key search algorithm
- publishable reference implementation in C
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hexafid-0.7.5.tar.gz.
File metadata
- Download URL: hexafid-0.7.5.tar.gz
- Upload date:
- Size: 1.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6f423c255afa3724429005984f03285a0396bd01752cd51483249aac9db90b76
|
|
| MD5 |
993f298f6dfea6f78c0e59f63d8b1769
|
|
| BLAKE2b-256 |
760a660d4ff89c1943dd5b091d99d5746673b67b0c2dc9945a41fd70cb5903f9
|
File details
Details for the file hexafid-0.7.5-py3-none-any.whl.
File metadata
- Download URL: hexafid-0.7.5-py3-none-any.whl
- Upload date:
- Size: 40.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3dd9b5e1971d760d2cb12baf1c9db8743bef0641c221fd4bca2a8ebfc5a5d756
|
|
| MD5 |
96615c352c4dfa944b7ee8637334ad66
|
|
| BLAKE2b-256 |
4e1996912574a7644c0454efab4281c87d9cdf082318af0564da3f8a0e859873
|