Deformowalność (kryptografia)

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

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

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
  1. Danny Dolev, Cynthia Dwork, Moni Naor. Nonmalleable Cryptography. „SIAM Journal on Computing”. 30 (2), s. 391–437, 2000. DOI: 10.1137/S0097539795291562.