Newsgroup: it.comp.sicurezza.varie
Titolo: XOR e file compressi

Se PRIMA comprimo un file e DOPO lo cripto con l'XOR ed una password
sufficientemente lunga (quant'e' sufficiente?), qual'e' la siurezza?
Ciao-
-- 
Paolo Sasso  _\\|//_  Lunga vita e prosperita'
            (' O-O ')
Student at the Department of Computer Science
of Turin, Italy --- e-mail:  
saxi...@iol.it


Beh, se vuoi criptare qualcosa necessariamente lo comprimi PRIMA, se no
non comprimi niente.
Cosa intendi con "lo cripto con l'XOR ed una password sufficientemente
lunga"? Se intendi dire che usi la password per fare direttamente l'XOR
con il messaggio, in generale e` una cattiva idea. L'XOR dovrebbe essere
usato con una sequenza casuale di bit lunga quanto il messaggio. Questo
e` un algoritmo che ha un risultato "perfetto" dal punto di vista della
crittografia, perche` non c'e' modo di recuperare il messaggio senza la
sequenza casuale (che e`, in un certo senso, la chiave). Nota che usare
un generatore di numeri pseudocasuali non genera una sequenza di bit
casuali, generare bit casuali e` una cosa abbastanza difficile.
Non mi occupo di crittografia ma a spanna penso di poterti dare qualche
idea.
Se usi una chiave piu` corta del messaggio e la ripeti piu` volte,
questa struttura ripetitiva si puo` riconoscere nel messaggio
crittografato, ogni occorrenza della chiave successiva alla prima e`
informazione ridondante che aggiungi. Ora, se tu riuscissi a comprimere
perfettamente il messaggio prima di crittografarlo vorrebbe dire che
toglieresti dal messaggio tutta l'informazione ridondante e quindi in un
certo senso sarebbe lui la sequenza casuale di bit con cui fai l'XOR
delle tue chiavi ripetute. Purtroppo questa compressione perfetta non si
raggiunge, e poi i messaggi compressi hanno come minimo un header con
una struttura riconoscibile. Sfuttando l'header potresti ottenere
informazioni almeno sulla prima parte della chiave, da utilizzare poi
ogni volta che la chiave ricomincia. Da qui ricostruire i pezzi
mancanti, tenedo conto che anche li c'e' una parte ripetitiva.
I dettagli dipendono poi dalla struttura dell'header, dall'algoritmo di
compressione, dalla lunghezza della chiave rispetto al messaggio e
all'header e soprattutto valgono se la chiave e` casuale: se la chiave
e` lunga ma non casuale credo che recuperare il messaggio diventi molto
facile.
Un libro molto interessante sulla crittografia, peraltro orientato piu`
all'uso  che agli aspetti matematici, e` "Applied Cryptography" di Bruce
Schneier,  edito da John Wiley & Sons, Inc.
ciao
- Claudio

 
Beh, se vuoi criptare qualcosa necessariamente lo comprimi PRIMA, se no


 >
Seconda puntata. Un mio amico ha suggerito che comunque per rompere un
algoritmo di questo tipo con i difetti che ho indicato servirebbe "un
pool del controspionaggio". Per smentire questo sospetto basta pensare
ai "known plaintext attacks". Prendiamo i documenti di Word. Contengono
tutta un'intestazione di parecchi byte che descrive lo stile. Anche
compressa questa intestazione e` molto lunga. Se poi a essere
crittografato e` un file di cui si puo` indovinare l'inizio (ad esempio
un modulo) il frammento di chiave riconoscibile si allunga ancora. Non
serve neppure indagare su qual'e' l'algoritmo di compressione, al
massimo si "salta" qualche frammento, tipo una checksum nell'header.
A questo punto la domanda e`: quanto e` sicuro un algoritmo la cui
validita` dipende dal documento che sto crittografando?
ciao
- Claudio

 una struttura riconoscibile.
Basta non criptare l'header... non ci sarebbe nessun problema.
Sto implementando per Macintosh un programma di compressione che
comprenda la possibilita' di criptare uno o piu' files e volevo capire
la reale sicurezza di un XOR su file compresso e "chiave ripetuta".
In pratica, in un file compresso non ho ridondanza e se c'e' e' molto
piccola. E' realmente possibile risalire alla chiave in casi come
questi? E come?


saxi...@iol.it
 wrote:
 >comprenda la possibilita' di criptare uno o piu' files e volevo capire
 >la reale sicurezza di un XOR su file compresso e "chiave ripetuta".
Zero. Ti consiglio di leggere qualche libro sull'argomento. Se non sbaglio
alla fine del manuale di PGP c'e` una bibliografia.
-- 
ciao,			[To reply remove "+nospam" from my address.        ]
Marco			[Per rispondere togli "+nospam" dal mio indirizzo. ]

 alla fine del manuale di PGP c'e` una bibliografia.
Proprio zero non mi sembra.
Sai rispondermi con motivazioni precise per favore?
Ciao e grazie lo stesso-


saxi...@iol.it
 wrote:
 >>  >comprenda la possibilita' di criptare uno o piu' files e volevo capire
 >>  >la reale sicurezza di un XOR su file compresso e "chiave ripetuta".
 >> Zero. Ti consiglio di leggere qualche libro sull'argomento. Se non sbaglio
 >> alla fine del manuale di PGP c'e` una bibliografia.
 >Proprio zero non mi sembra.
Ti sembra male :-)
 >Sai rispondermi con motivazioni precise per favore?
Non sono un crittografo esperto e quindi non posso spiegarti i dettagli,
ma un metodo di crittografazione come quello si presa a una marea di
attacchi, ti assicuro che non offre veramente la minima sicurezza.


questi? E come?
Effettivamente gli algoritmi a chiave ripetuta (tipo Vigenere per
intenderci) non sono assolutamente affidabili. Io ho fatto un
programmino che cracca il Vigenere e con 1600 caratteri e' gia in
grado di trovare la password con cui e' stato cifrato il messaggio.
Questi algoritmi sono deboli se e' possibile fare delle analisi
statistiche, se il messaggio e' molto corto allora possono avere una
loro validita' ma non mi sembra il tuo caso.
Quello che ti serve sono i cosiddetti Stream Cipher, sono quegli
algortimti che cifrano bit per bit e non blocchi di bit. Potresti
andare a vedere su "Applied Cryptography" di Bruce Scheier, c'e' un
capitolo solo per questo. Potresti usare l'A5 che e' quello usato
anche dai GSM, ma se ti serve qualcosa di piu' semplice li' trovi
sicuramente la bibbliografia che ti serve.
Bye, Guido
   ________ __________ 
  /  _____/ \______   \   Guido Bellomo
 /   \  ___  |    |  _/   Ingegneria delle Telecomunicazioni - BO
 \    \_\  \ |    |   \   
www.geocities.com/Hollywood/3493/parochia.html
  \______  / |______  /   
sem...@iperbole.bologna.it
         \/         \/    Cell. 0347/3561058