https://github.com/crownedgrouse/preach
[WIP] Phi base Random Encoder Aimed for Cryptography Hardening
https://github.com/crownedgrouse/preach
cryptography obfuscation rust
Last synced: about 1 year ago
JSON representation
[WIP] Phi base Random Encoder Aimed for Cryptography Hardening
- Host: GitHub
- URL: https://github.com/crownedgrouse/preach
- Owner: crownedgrouse
- License: mit
- Created: 2018-02-28T22:16:46.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2019-03-02T10:00:11.000Z (over 7 years ago)
- Last Synced: 2025-02-12T21:34:40.656Z (over 1 year ago)
- Topics: cryptography, obfuscation, rust
- Language: Rust
- Homepage:
- Size: 313 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Phi base Random Encoder Aimed for Cryptography Hardening
## Overview
`preach` is a Rust program using the properties of the Phi base to harden cryptography.
Cryptography is based on the fact that a payload crypted by a symmetric key give always same result.
`preach` allow multiple results with same payload and key, but still allowing recipient to decrypt.
## How it works ?
`preach` encode each byte (0-256) on three bytes on a random choice between all forms of integer coded in Phi base.
## Why ?
Attacker can try brut force if he know that a payload is always starting the same, or contain always
same data at a given position.
With `preach`, attacker cannot know if the payload changed, or key changed, or both.
Some bytes can be encoded up to 233 different way on three bytes.
A same payload will almost never be same twice again and if it happen the symmetric key would have been changed already.
## How to use it ?
`preach` have to be used on payload *before* crypting. As size of payload becomes three time more,
compressing is recommanded *after* crypting in order not to help attacker with compression headers.