On Wednesday 27 February 2008, [EMAIL PROTECTED] wrote:
> Ciao,
> supponiamo di avere due messaggi: A e B.
> Suppongo di essere Bob; mando ad Alice un messaggio W, W = A XOR B.
>
> Ora, Alice e Bob conoscono (e sono sicuri) di:
> - "hash"(A)
> - "hash"(B)
>
> Semplicemente guardando W, devo poter dire se A e B sono corretti
> (usando i loro hash).
le due (non) soluzioni sono le due ragioni per cui - IMHO - non si riesce a 
costruire un protocollo di validazione con questi presupposti :

> Primo approcio:
> Uso il CRC, perché: CRC(W) = CRC(A XOR B) = CRC(A) XOR CRC(B)
Questo vale perchè , come tristemente noto , il CRC è distributivo rispetto a 
XOR. 
> Ora, se un malintenzionato mi invia un messaggio W ("fake") che ha lo
> stesso CRC del messaggio W vero, sono rovinato.
> Quindi scarto il CRC.
Questo può accadere anche con le hash , semplicemente CRC non è un meccanismo 
di hashing sicuro , ma allo stesso modo , con i tempi che corrono , starei 
lontano anche da MD5 per esempio.In sintesi , il fatto di fare il fake di un 
digest non è relativo solo a CRC.


> Secondo approcio:
> Uso hash. Ma qui mi blocco perché: hash(W) = hash(A XOR B) != hash(A)
> XOR hash(B).
#define hash SHA256

In generale una hash non è XOR distributive, questo impedisce , se hai solo le 
hash di poter validare la h(W). Le possibili vie per farlo implicano :

- invertire h(A) , h(B) , ottenere W, calcolare h(w) : questo non funziona 
perchè : 1 si suppone che h(.) non sia invertibile. 2 se trovo una collisione 
in una hash non è detto che corrisponda ad A originale.
- dedurre A e B da W e verificare le loro hash : questo Alice non può farlo se 
non conosce esattamente nulla di A e B (vedi alla voce Cifrario di Vernam).

> Come risolvereste questo problema?
Ci sono per caso dei rilassamenti ai requisiti che possiamo sfruttare? in 
sostanza la soluzione dipende da cosa vuoi garantire...

Cheers

Alex

-- 
The man who follows the crowd will usually get no further than the crowd.
The man who walks alone is likely to find himself in places no one has ever
been.
________________________________________________________
http://www.sikurezza.org - Italian Security Mailing List

Rispondere a