Stachu 'Dozzie' K.
8/1/2007 10:33:00 AM
On 01.08.2007, mk <REVERSE_lp.pw@myzskm.REMOVE> wrote:
> Czytam w3a?nie ksi??ke "Applied Cryptography" Bruce'a Schneier'a.
> W rozdziale 4.9 opisywany jest jeden ze sposobów realizacji protoko3u
> kryptograficznego "bit commitment" (metoda pozwalaj?ca z3o?ya
> deklaracje, ?e posiadamy jak?? wiadomo?a jedno-bitow?, bez ujawniania
> jej; po pewnym czasie mo?na sprawdzia, czy owa deklaracja by3a prawdziwa)
>
> Oto opis protoko3u z ksi??ki z u?yciem funkcji jednokierunkowych:
> (1) Alicja generuje losowo dwie liczby R1 i R2
> (2) Alicja tworzy wiadomo?a sk3adaj?c? sie z liczb R1 i R2 oraz bitu b,
> wobec którego chce z3o?ya deklaracje; wiadomo?a wiec wygl?da tak:
> (R1, R2, b)
> (3) Alicja oblicza funkcje jednokierunkow? z (R1,R2,b) i wysy3a wynik
> Bobowi wraz z liczb? R1
> H(R1, R2, b); R1
>
> Bob nie jest w stanie dowiedziea sie na podstawie takiej wiadomo?ci,
> jakie jest b.
> Alicja nie jest w stanie zmienia warto?ci b, bo Bob przy sprawdzaniu sie
> zorientuje, ?e np. wynik funkcji jednokierunkowej jest inny.
>
> Sprawdzanie wygl?da nastepuj?co:
> (4) Alicja wysy3a Bobowi oryginaln? wiadomo?a (R1,R2,b)
> (5) Bob oblicza funkcje jednokierunkow? z otrzymanej wiadomo?ci i
> porównuje j? z t? otrzyman? w kroku (3); sprawdza równie? zgodno?a R1 z
> R1 otrzyman? w kroku (3). Je?li wszystko sie zgadza to, otrzymany bit b
> nie zosta3 w miedzyczasie zmieniony.
>
>
> Mam w?tpliwo?ci, czy ten protokó3 nie jest nazbyt skomplikowany?
Tradycyjnie podaje sie w3a?nie M = (R1 || b) i przesy3a jedynie H(M).
> Czy ten protokó3 nie móg3by wygl?daa po prostu tak?:
> (1) Alicja generuje losowo liczbe R1 i skleja j? z bitem b
> (R1, b)
> (2) Alicja oblicza funkcje jednokierunkow? z (R1, b) i wysy3a wynik Bobowi:
> H(R1, b)
>
> Sprawdzanie:
> (3) Alicja wysy3a Bobowi (R1, b)
> (4) Bob oblicza H(R1, b) i sprawdza z tym co otrzyma3 w kroku (2); je?li
> warto?ci s? zgodne, to znaczy, ?e bit b nie zosta3 miedzy krokami 2, a 3
> zmieniony.
>
> Bob nie jest w stanie nic dowiedziea sie o bicie b, bo nie zna R1.
> Alicja równie? nie mo?e zmanipulowaa bitu b odk?d Bob ma warto?a funkcji
> jednokierunkowej...
Otó? mo?e próbowaa. Mo?e miea wygenerowan? wcze?niej kolizje ró?ni?c?
sie ostatnim bitem. Chodzi o wyeliminowanie tego w3a?nie przypadku. Tak
naprawde w protokole Bob powinien podes3aa swój losowy ci?g R_b,
a Alicja powinna przedstawia H(R_a || R_b || b).
--
Secunia non olet.
Stanislaw Klekot