Deformowalność (kryptografia)

Z Wikipedii, wolnej encyklopedii

Deformowalność – własność pewnych algorytmów kryptograficznych[1]. Algorytm jest deformowalny, jeśli adwersarz ma możliwość zmiany szyfrogramu bez znajomości tekstu jawnego. Innymi słowy: mając szyfrogram komunikatu adwersarz może wygenerować inny szyfrogram, który będzie odpowiadał komunikatowi dla pewnej funkcji bez znajomości

W kryptosystemach ogólnego przeznaczenia deformowalność jest często cechą niepożądaną, ponieważ umożliwia adwersarzowi zmianę zawartości komunikatu. Załóżmy dla przykładu, że bank używa szyfru strumieniowego do ukrycia informacji finansowych. Użytkownik wysyła zaszyfrowany komunikat z informacją „PRZELEJ 0000100,00 ZŁ NA KONTO NR 199”. Jeśli adwersarz może zmodyfikować szyfrogram oraz zna format komunikatu, mógłby on zmienić kwotę oraz adresata transakcji na, dajmy na to, „PRZELEJ 0100000,00 ZŁ NA KONTO NR 227”.

Z drugiej strony istnieją kryptosystemy celowo projektowane jako deformowalne. Innymi słowy, w niektórych przypadkach, możliwość zmiany szyfrogramu komunikatu na poprawny szyfrogram (dla pewnych ograniczonych klas funkcji ) bez znajomości może być pożądana. Takie schematy szyfrowania znane są pod nazwą szyfrowania homomorficznego.

Kryptosystem może być semantycznie bezpieczny wobec ataków z wybranym tekstem jawnym, lecz nadal deformowalny. Podatność na adaptywny atak z wybranym szyfrogramem jest natomiast jednoznaczna z niedeformowalnością.

Przykłady systemów z deformowalnością[edytuj | edytuj kod]

W szyfrach strumieniowych szyfrogram jest wynikiem działania alternatywy wykluczającej na tekście jawnym oraz pseudolosowego strumienia bitów gdzie jest kluczem. Adwersarz może skonstruować szyfrogram dla dowolnego ponieważ

W algorytmie RSA tekst jawny jest zaszyfrowany za pomocą przekształcenia gdzie jest kluczem publicznym. Mając taki szyfrogram adwersarz może skonstruować szyfrogram komunikatu dla dowolnego ponieważ Z tego powodu RSA jest zazwyczaj używane ze schematami OAEP lub PKCS1.

W algorytmie ElGamal tekst jawny jest zaszyfrowany funkcją gdzie jest kluczem publicznym. Mając do dyspozycji szyfrogram adwersarz może obliczyć co jest poprawnym szyfrogramem komunikatu dla dowolnego Dla odmiany kryptosystem Cramera-Shoupa (oparty na ElGamalu) jest niedeformowalny.

W kryptosystemach ElGamal oraz RSA można tak połączyć szyfrogramy komunikatów oraz aby uzyskać poprawny szyfrogram komunikatu

Całkowita niedeformowalność[edytuj | edytuj kod]

W 2005 roku Fishlin zdefiniował pojęcie całkowitej niedeformowalności jako zdolność systemu do pozostania niedeformowalnym nawet w przypadku, gdy adwersarz otrzymuje możliwość wybrania nowego klucza publicznego. Oznacza to, że adwersarz nie powinien mieć możliwości wygenerowania szyfrogramu, którego odpowiadający mu tekst jawny jest związany z oryginalnym komunikatem relacją uwzględniającą klucz publiczny.

Przypisy[edytuj | edytuj kod]

  1. Danny Dolev, Cynthia Dwork, Moni Naor. Nonmalleable Cryptography. „SIAM Journal on Computing”. 30 (2), s. 391–437, 2000. DOI: 10.1137/S0097539795291562.