Title: Algoritmo di cifratura simmetrica "fai da te" Post by: alex9919 on June 19, 2017, 12:22:59 PM Salve, diversi mesi fa, interessato all'argomento iniziai a scrivere del codice in C che applicasse una cifratura simmetrica a un determinato messaggio inserito dalla console (in seguito non mi sono dedicato più per diversi motivi).
Questa è la funzione per cifrare: Code: void cifra(char messaggio[], char pass[]){ Code: void decifra(char messaggio[], char pass[]){ Vorrei chiedere a chi è più esperto, cosa ne pensa e quali sarebbero le falle di tale metodo. Title: Re: Algoritmo di cifratura simmetrica "fai da te" Post by: reee on June 21, 2017, 05:38:21 PM In pratica è un cifrario di Vernam.
E' sicuro se si ha modo di generare la chiave usando numeri davvero "casuali" (e qui non hai postato il codice per generare la chiave, diciamo che se la chiave è generata correttamente allora il tuo algoritmo è sicuro). Gli svantaggi sono: 1) tutti i tipici svantaggi della crittografia simmetrica (serve un canale sicuro per comunicare la chiave) 2) la chiave deve essere della stessa lunghezza del messaggio. Title: Re: Algoritmo di cifratura simmetrica "fai da te" Post by: alex9919 on June 21, 2017, 07:27:01 PM In realtà per ora non ho ancora pensato a un modo per generare la chiave (andrebbe inserita da input).
Title: Re: Algoritmo di cifratura simmetrica "fai da te" Post by: picchio on June 21, 2017, 08:40:56 PM Se come chiave si usasse una immagine (o altro documento) compresso? Credete possa essere sicuro? Alla fine i file compressi (ovviamente senza perdita di informazioni) non dovrebbero avere ridondanza e, a naso, direi che dovrebbero assomigliare a sequenza pseudocasuali.
Title: Re: Algoritmo di cifratura simmetrica "fai da te" Post by: reee on June 21, 2017, 09:37:55 PM Se come chiave si usasse una immagine (o altro documento) compresso? Credete possa essere sicuro? Alla fine i file compressi (ovviamente senza perdita di informazioni) non dovrebbero avere ridondanza e, a naso, direi che dovrebbero assomigliare a sequenza pseudocasuali. non è un metodo granchè sicuro, le immagini hanno degli header prefefiniti che potrebbero portare a decifrare parti di codice. Vanno generati per forza dei dati casuali per fare una cosa "seria".Ah, tra gli "svantaggi" mi ero dimenticato il fatto che la chiave può essere usata solo una volta. Title: Re: Algoritmo di cifratura simmetrica "fai da te" Post by: picchio on June 21, 2017, 09:58:19 PM Se come chiave si usasse una immagine (o altro documento) compresso? Credete possa essere sicuro? Alla fine i file compressi (ovviamente senza perdita di informazioni) non dovrebbero avere ridondanza e, a naso, direi che dovrebbero assomigliare a sequenza pseudocasuali. non è un metodo granchè sicuro, le immagini hanno degli header prefefiniti che potrebbero portare a decifrare parti di codice. Vanno generati per forza dei dati casuali per fare una cosa "seria".Ah, tra gli "svantaggi" mi ero dimenticato il fatto che la chiave può essere usata solo una volta. Usi il file zippato per chiave, non il file immagine. Immagino che il problema sia ... Aldo ha il messaggio crittato e non deve poterlo leggere, come arriva a capire che la chiave è proprio quella senza altre informazioni (tipo sa che è uno zip - da risolvere il problema degli header o metadati degli zip) ... Se ci pensi potrebbe essere un metodo abbastanza semplice per scambiarsi la chiave senza dare nell'occhio ... anche se sono consapevole che non è sicuro ma ... Title: Re: Algoritmo di cifratura simmetrica "fai da te" Post by: jack0m on June 26, 2017, 09:29:17 AM Se la password è più corta di metà del messaggio, a occhio e croce si cracca più o meno facilmente con un po' di criptoanalisi
Title: Re: Algoritmo di cifratura simmetrica "fai da te" Post by: alex9919 on July 05, 2017, 02:53:57 PM Se la password è più corta di metà del messaggio, a occhio e croce si cracca più o meno facilmente con un po' di criptoanalisi Non esiste un implementazione in C/Java di un metodo di cifratura più robusto?Title: Re: Algoritmo di cifratura simmetrica "fai da te" Post by: joosh on July 08, 2017, 02:46:30 PM Se la password è più corta di metà del messaggio, a occhio e croce si cracca più o meno facilmente con un po' di criptoanalisi Non esiste un implementazione in C/Java di un metodo di cifratura più robusto?Title: Re: Algoritmo di cifratura simmetrica "fai da te" Post by: jack0m on July 08, 2017, 07:52:39 PM Se la password è più corta di metà del messaggio, a occhio e croce si cracca più o meno facilmente con un po' di criptoanalisi Non esiste un implementazione in C/Java di un metodo di cifratura più robusto?non è una questione di implementazione, è proprio l'algoritmo che è debole, perché riusi ciclicamente la stessa password. In pratica usi una modalità ECB senza initialization vector (IV), che è la più insicura. Qui trovi una spiegazione con diverse modalità a confronto: https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation (https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation) |