From b35e85d817f0809c344c8a7eb87f6e763e9845d8 Mon Sep 17 00:00:00 2001
From: Gab <24553253+gabrix73@users.noreply.github.com>
Date: Fri, 6 Jun 2025 13:39:30 +0200
Subject: Update README.md
---
README.md | 164 +++++++++++++++++---------------------------------------------
1 file changed, 44 insertions(+), 120 deletions(-)
(limited to 'README.md')
diff --git a/README.md b/README.md
index de28998..8d32daf 100644
--- a/README.md
+++ b/README.md
@@ -1,122 +1,46 @@
-Nofuture.go - debian 12 install
-Core Components Build Process
-
sudo apt-get update && sudo apt-get install -y \
- cmake ninja-build gcc ligit clone --depth 1 https://github.com/open-quantum-safe/liboqs && cd liboqs
-mkdir build && cd build
-cmake -GNinja -DCMAKE_BUILD_TYPE=Release \
- -DOQS_USE_OPENSSL=ON \
- -DOQS_DIST_BUILD=ON \
- -DOQS_OPTIMIZED_BUILD=ON \
- -DCMAKE_INSTALL_PREFIX=/usr/local \
- -DOQS_BUILD_ONLY_LIB=ON ..bssl-dev libtool autoconf
-
-ninja
-sudo ninja install
-sudo ldconfig
-
-# 4. Configurazione Go environment
-export CGO_CFLAGS="-O3 -march=native -fstack-protector-strong -D_FORTIFY_SOURCE=2"
-export CGO_LDFLAGS="-Wl,-z,relro,-z,now -loqs -lssl -lcrypto"
-export GOFLAGS="-buildvcs=false"
-
-# 5. Inizializzazione modulo Go
-sudo -u www-data /usr/local/go/bin/go mod init nofuture
-sudo -u www-data /usr/local/go/bin/go get -v \
- github.com/awnumar/memguard@v0.22.3 \
- github.com/open-quantum-safe/liboqs-go@latest \
- golang.org/x/crypto@latest \
- golang.org/x/sys@latest
-
-# 6. Compilazione finale
-sudo -u www-data /usr/local/go/bin/go build -v \
- -tags="oqs,purego,harden" \
- -trimpath \
- -ldflags="-s -w -extldflags '-Wl,-z,relro,-z,now'" \
- -buildmode=pie \
- -o nofuture
-
-# 7. Hardening del binario
-sudo setcap cap_sys_ptrace,cap_net_admin=ep nofuture
-sudo chmod 0700 nofuture
-
-
-MemGuard Initialization & Configuration:
-
-
- memguard.CatchInterrupt()
- memguard.Purge()
- unix.Mlockall(unix.MCL_CURRENT | unix.MCL_FUTURE)
-
-
- - Secure Memory Locking: Prevents swapping sensitive data to disk
-- Interrupt Handling: Automatic memory purge on SIGINT/SIGTERM
-- Deep Memory Purge: Secure wiping of allocated buffers
-
-
-MemGuard in Key Lifecycle Management:
- passphrase, _ := memguard.NewImmutableRandom(32)
-defer passphrase.Destroy()
-
- - Immutable Buffers: Write-protected memory regions
- - Ephemeral Storage: Keys exist only in protected memory
- - Automatic Destruction: Guaranteed wipe with defer
-
-
-Enclave-Based Cryptography:
- func deriveEnclaveKey(passphrase *memguard.Enclave) {
- passBuf, _ := passphrase.Open()
- defer passBuf.Destroy()
-}
-
- - Double-Layer Protection: Enclave wrapping + locked buffers
- - Controlled Exposure: Temporary buffer access patterns
- - Zero-Copy Architecture: Minimize memory exposure
-
-
-
-Quantum-Safe Key Exchange:
- pubKey, secKey, _ := quantumKEMKeyPair()
-defer pubKey.Destroy()
-defer secKey.Destroy()
-
- - MemGuard-Protected Keys:
-
- - Public Key: Immutable locked buffer
- - Private Key: Enclave-wrapped storage
-
-
- - Zeroization on Completion: Guaranteed key destruction
-
-
-Secure Session Management:
- type QuantumSession struct {
- sessionKey *memguard.Enclave
- remotePubKey *memguard.Enclave
-}
-
- - Enclave-Wrapped Session Keys: Encrypted memory storage
- - Forward Secrecy: Ephemeral session keys
- - Compartmentalization: Isolated memory regions per session
-
-
-
-Memory-Hardened Cryptography:
- lockedKey, _ := memguard.NewImmutableFromBytes(key)
-defer lockedKey.Destroy()
-
- - Argon2 in Protected Memory:
-
- - Memory-hard derivation in locked buffers
- - Secure salt handling
-
-
- - Multi-Layer Protection:
-
- - mlock() system calls
- - MADV_DONTDUMP flags
- - Guard pages
-
-
-
+# π‘οΈ nofuture.go β Ephemeral Post-Quantum Text Encryption
+
+[](./LICENSE)
+[](https://golang.org)
+[](#)
+[](#)
+
+**nofuture.go** is a secure, ephemeral text encryption application designed to facilitate private communication β even across untrusted platforms β using post-quantum cryptography, memory-hard key management, and a local virtual keyboard for anti-keylogger defense.
+
+Its core purpose is simple but powerful:
+
+> π¬ **Encrypt sensitive text, exchange it via any mainstream chat, and make the keys disappear forever.**
+
+---
+
+## π¦ Project Structure
+
+- `cmd/` β CLI and runtime entry points
+- `internal/crypto` β Kyber, Dilithium, Argon2, BLAKE2b, XChaCha
+- `internal/memory` β memguard-backed key handling
+- `assets/` β frontend static files (keyboard UI, etc.)
+- `USAGE.md` β basic usage guide
+
+---
+
+## π Documentation
+
+- β
[How it works](#session-flow)
+- β
[Cryptographic primitives](#cryptographic-primitives)
+- β
[Memory protection](#key-generation--memory-protection)
+- β
[Virtual keyboard](#virtual-keyboard-anti-keylogger)
+- β
[Usage example](USAGE.md)
+
+---
+
+## π License
+
+MIT License β see [`LICENSE`](./LICENSE)
+
+---
+
+## β Built with love and defiance
+Because **privacy isnβt a feature** β itβs a human right.
+
--
cgit v1.2.3