La steganografia è una delle tecniche più antiche di occultamento di messaggi, letteralmente deriva dal greco e significa appunto scrittura nascosta.

I primi utilizzi della steganografia risalirebbero, secondo alcuni studi, addirittura al 440 a.c. Lo storico greco Erodoto (484 a.c. – 425 a.c.) menziona due esempi di impiego della steganografia nella sua opera "Le storie". La tecnica fu poi teorizzata nel 1500 dall’abate Tritemio.

Proprio i greci pare siano stati tra i primi ad utilizzare tecniche di occultamento di messaggi, sembra nascosti nella cera. L’utilizzo di questa tecnica aveva molta importanza specialmente in ambito militare e non è un caso che tutte le procedure di crittazione siano direttamente o indirettamente collegabili a studi effettuati in campo bellico.

Spesso la steganografia viene accostata alla crittografia, ma, in realtà si tratta di due tecniche molto differenti. Mentre lo scopo della crittografia è nascondere il contenuto di un messaggio, quello della steganografia è di occultare l’esistenza del messaggio stesso. Per raggiungere risultati ottimali, le due tecniche possono essere combinate: il messaggio da nascondere viene prima cifrato e poi gli viene applicata la steganografia.

Il sistema steganografico (stegosistema) prevede che due utenti, A e B, vogliano scambiarsi dati segreti. Per fare ciò, nascondono tali dati in frammenti di informazione che risultano innocui a chi riesca ad intercettarli.

I dati da nascondere costituiscono il messaggio segreto e vengono nascosti, incapsulati, in un altro frammento di informazione detto contenitore dando origine al frammento stego che è, appunto, una copia molto simile ma non identica del contenitore.

Nel campo dell’informatica, due interlocutori possono nascondere i propri messaggi inserendo il testo da mantenere segreto all’interno di file di diverso tipo quali file audio e video, immagini ecc.

In base all’origine del file contenitore possiamo distinguere software di steganografia iniettiva e software di steganografia generativa.

La prima categoria è senz’altro la più numerosa. I software di questo tipo consentono di "iniettare" il messaggio segreto all’interno di un messaggio contenitore già esistente modificandolo in modo tale sia da contenere il messaggio, sia da risultare indistinguibile dall’originale.

Nei software di tipo generativo, invece, si parte dal messaggio segreto per produrre un opportuno contenitore atto a nascondere nel migliore dei modi quel determinato messaggio segreto.

Un software gratis che permette all’utente di nascondere un file di qualsiasi tipo in un file di immagine senza praticamente introdurre cambiamenti visibili nella suddetta è Hallucinate