Re: Un ibrido tra CRC e HASH?

GP <[email protected]> Thu, 28 Feb 2008 10:30:16 +0100
Newsgroups gmane.comp.security.italian.crypto
Message-ID <[email protected]>
michele-e/[email protected] ha scritto:
> Ciao,
> supponiamo di avere due messaggi: A e B.
> Suppongo di essere Bob; mando ad Alice un messaggio W, W =3D 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).
>
> Primo approcio:
> Uso il CRC, perch=E9: CRC(W) =3D CRC(A XOR B) =3D CRC(A) XOR CRC(B)
> 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.
>
> Secondo approcio:
> Uso hash. Ma qui mi blocco perch=E9: hash(W) =3D hash(A XOR B) !=3D has=
h(A)
> XOR hash(B).
>
> Come risolvereste questo problema?
L'unica cosa che mi viene in mente che gode di alcune propriet=E0
additive =E8 il cifrario asimmetrico di Pailler. In sostanza la
propriet=E0 in questione dati due messaggi A e B e una chiave K:

W =3D Enc_K(A) * Enc_K(B) =3D Enc_K(A+B)

Al posto di usare l'hash o il crc puoi usare Enc... c'=E8 da studiare
come usare le chiavi pri/pub... ad esempio Enc_K potrebbe essere
fatta con la chiave pubblica di Alice e/o Bob...

Spero ti possa aiutare.


GP.
________________________________________________________
http://www.sikurezza.org - Italian Security Mailing List