From d2b806cf047a0063dd7fc3c9896afb08ebf63e10 Mon Sep 17 00:00:00 2001 From: Gab <24553253+gabrix73@users.noreply.github.com> Date: Fri, 13 Jun 2025 13:51:40 +0200 Subject: Create leggimi.html --- leggimi.html | 218 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 218 insertions(+) create mode 100644 leggimi.html (limited to 'leggimi.html') diff --git a/leggimi.html b/leggimi.html new file mode 100644 index 0000000..8fafc3a --- /dev/null +++ b/leggimi.html @@ -0,0 +1,218 @@ + + +
+ + +nofuture.go è una web app crittografica post-quantum da usare in un tab del browser, mentre in un altro hai una chat. La comunicazione è cifrata localmente, e le sessioni vengono sincronizzate usando un Session ID. Le chiavi sono protette in RAM con memguard e vengono eliminate a fine sessione.
Il Session ID rappresenta una sessione univoca sicura tra due dispositivi. Non è una chiave pubblica, ma una combinazione sicura di identificatori derivati da elementi crittografici.
+remotePubKey: chiave pubblica remotanonce: numero casualesessionKey: segreto condiviso
+hash := sha256.New()
+hash.Write(pubKey.Bytes())
+hash.Write(nonce[:])
+sessionID := hex.EncodeToString(hash.Sum(nil))
+
+Dopo lo scambio dei session-ID, cliccando su “Pair” l'app avvia un processo automatico per derivare una chiave condivisa sicura.
Nota: Nessuna chiave pubblica viene scambiata manualmente.
+nofuture.go protegge tutte le chiavi in RAM usando memguard, che impedisce accessi anche da parte di root o strumenti di debug.
| Minaccia | Contromisura |
|---|---|
| gdb / lsof | Memoria fuori heap, cifrata |
| Accesso root | RAM bloccata con mlock |
| Keylogger | Le chiavi non sono mai digitate |
| Cold boot | Memoria giĂ purgata |
Per proteggere la digitazione del testo, l’app può usare una tastiera virtuale con disposizione dei tasti casuale a ogni apertura.
+nofuture.go is a post-quantum crypto tool used in a browser tab while using a chat app in another. Messages are encrypted locally and exchanged via synchronized Session IDs. Keys are memory-hardened with memguard and purged after session ends.
The Session ID uniquely identifies a secure session between two peers. It's derived from a mix of cryptographic elements—not a public key.
+remotePubKey: peer’s public keynonce: random numbersessionKey: shared secret
+hash := sha256.New()
+hash.Write(pubKey.Bytes())
+hash.Write(nonce[:])
+sessionID := hex.EncodeToString(hash.Sum(nil))
+
+ After exchanging session-IDs, just click “Pair”. The system automatically derives a shared key using Kyber post-quantum KEM.
No manual key sharing is needed.
+ + + +All key materials are protected with memguard, which allocates encrypted memory buffers off-heap, blocks OS access (even root), and purges everything on termination.
+| Threat | Mitigation |
|---|---|
| gdb / lsof | Data is not in readable heap |
| Root access | Memory protected with mlock |
| Keyloggers | Keys never typed |
| Cold boot | Memory purged |
A virtual keyboard with randomized layout protects text from keyloggers. No keystroke events are triggered.
+