mirror of
https://github.com/planetrenox/inzerosight.git
synced 2026-09-18 10:05:44 +00:00
38 lines
2.5 KiB
Markdown
38 lines
2.5 KiB
Markdown
<p align="center"><img src="icon_500.png" width="128"></p>
|
||
<h1 align="center">inØsight</h1>
|
||
<p align="center">This sentence contains hidden text you can only read by installing inzerosight.</p>
|
||
|
||
<p align="center">
|
||
<a href="https://addons.mozilla.org/en-US/firefox/addon/in0sight/">Firefox Add-on</a> · <a href="https://chromewebstore.google.com/detail/acnmohbphjmnbaboacmecidopeplkhog">Chrome Web Store</a>
|
||
</p>
|
||
|
||
---
|
||
|
||
|
||
## Encryption
|
||
|
||
### PLAIN
|
||
No encryption. Encodes text directly.
|
||
|
||
### SPECK32/64 ECB
|
||
Block cipher in ECB mode. Each character is encrypted independently — identical plaintext characters produce identical ciphertext. Useful when you want varied-looking output from the same input, but **not secure under real threat models** since patterns in the plaintext leak through.
|
||
|
||
### SPECK48/96 CTR
|
||
Stream cipher mode with a random 24-bit nonce prepended to the output. Identical plaintexts produce different ciphertexts each time. Significantly more secure than ECB. **Rotate your password after roughly every 100 encryptions** to avoid nonce reuse risk within the 24-bit space.
|
||
|
||
## How ZWUS Works
|
||
|
||
1. Take each character's Unicode code point.
|
||
2. Convert it to the chosen base (3, 6, or 8).
|
||
3. Map each resulting digit to its assigned zero-width character from the alphabet.
|
||
4. Join digits together; separate characters with the base's designated separator (also zero-width).
|
||
|
||
The result is a string of invisible Unicode that carries the full original text. Decoding reverses the mapping: split on the separator, look up each zero-width character to recover the digit, parse the base-N number back to a code point, and reconstruct the string.
|
||
|
||
## Use ZWUS in Your Own Projects
|
||
|
||
The encoder/decoder is available as a standalone package for multiple languages:
|
||
|
||
- **JavaScript/TypeScript:** [zwus on npm](https://www.npmjs.com/package/zwus)
|
||
- **Rust:** [zwus on crates.io](https://crates.io/crates/zwus)
|