Vai al contenuto
Offuscamento

Steganografia Mojibake

Ogni byte dell'input viene codificato come un codepoint Unicode superiore scelto casualmente. Ad esempio una A (U+0041) può diventare U+5E41 (un ideogramma CJK). Il testo risultante è illeggibile a prima vista, ma la decodifica estrae il codepoint di ogni carattere modulo 256 per recuperare il byte originale. Interno tutto UTF-8, Unicode-safe.

Range Codepoint (hex)

Il range determina solo la codifica. La decodifica funziona con qualsiasi range.

Testo in chiaro
Testo offuscato

Attenzione: non è crittografia

Questo tool fa offuscamento reversibile senza chiave. Chiunque conosca l'algoritmo può decodificare il messaggio con pochi secondi di lavoro. Serve per mascheramento visivo (ad esempio far sembrare un messaggio una stringa casuale di ideogrammi in un editor di testo), NON per proteggere segreti. Per cifrare davvero usa AES-256-GCM con libsodium o GPG.

Domande frequenti

A cosa serve davvero uno strumento di mojibake?
Principalmente dimostrazioni didattiche di steganografia (nascondere l'esistenza del messaggio, non il contenuto) e red team awareness. Esempio di use-case reale: un file di testo che contiene commenti apparentemente 'ideogrammi CJK random' ma che in realtà sono stringhe leggibili una volta decodificate. Utile per CTF, training di sicurezza, o semplicemente per curiosità sui codepoint Unicode.
Perché il risultato è diverso ogni volta per lo stesso input?
Perché il 'valore k' (l'offset Unicode alto) è casuale ad ogni carattere. Solo il preset Braille produce output deterministico (perché il range ha un solo valore alto disponibile, 0x28). Tutti gli altri preset randomizzano e producono output diversi ogni volta. La decodifica funziona comunque, perché è basata sul modulo 256 del codepoint, non sul valore alto.
Supporta emoji e caratteri non-ASCII nell'input?
Sì. L'input viene prima convertito in UTF-8 (quindi un 'è' italiano diventa 2 byte, un'emoji 4 byte), poi ogni byte viene offuscato. In decodifica, i byte vengono riuniti e reinterpretati come UTF-8. Emoji 🎯 🔒, accenti italiani (perché, città, più), CJK, arabo, ebraico: tutti supportati.
È sicuro per nascondere password o informazioni sensibili?
NO. Ripeto: non è crittografia. Chiunque con un JavaScript console può decodificare il tuo output in 3 secondi. Se devi proteggere informazioni sensibili, usa crittografia simmetrica con chiave segreta (AES-256-GCM via libsodium) o un password manager decente.
Come funziona tecnicamente?
L'algoritmo applica una sequenza specifica di encoding e decoding (UTF-8 verso ISO-8859-1 e ritorno) sfruttando proprio il difetto di interpretazione che produce i caratteri mojibake. L'implementazione usa TextEncoder e TextDecoder nativi del browser, evitando le funzioni legacy unescape/encodeURIComponent.

Offuscamento leggero non basta? Ti serve crittografia vera.

Se stai cercando come nascondere contenuti sensibili in produzione, lo strumento che ti serve non è questo. Offro consulenza su crittografia applicativa (libsodium, sealed boxes, encrypted columns in DB), gestione chiavi con HSM/KMS, audit del codice per vulnerabilità di side-channel e prompt injection in agent LLM. Cybersecurity applicata concreta, non teorica.

Parla con me di crittografia e sicurezza