Optimal Asymmetric Encryption Padding

Z testwiki
Wersja z dnia 20:18, 22 mar 2023 autorstwa imported>Beno (WP:SK+mSI.v2+Bn)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacji Przejdź do wyszukiwania

Optimal Asymmetric Encryption Padding – schemat szyfrowania przypominający sieć Feistela, wymyślony w 1994 przez Bellare’a i Rogawaya. OAEP jest często stosowany w połączeniu z RSA do wstępnego zaszyfrowania wiadomości. OAEP wykorzystuje dwie funkcje haszujące, a także dodaje element losowości, przez co jest schematem niedeterministycznym. OAEP zapewnia bezpieczeństwo „all-or-nothing”, co oznacza, że adwersarz nie może odszyfrować części kryptogramu niezależnie od jego całości. Wynika to z faktu zastosowania funkcji haszujących.

Schemat OAEP

Schemat OAEP
  • n – długość w bitach modułu RSA,
  • k0 i k1 – ustalone liczby całkowite,
  • m – wiadomość długości (nk0k1) bitów,
  • G i H – ustalone funkcje haszujące.

Algorytm szyfrowania:

  • konkatenujemy wiadomość m z ciągiem k1 zer, otrzymując ciąg m00...0 długości (nk0) bitów,
  • generujemy losowy ciąg r długości k0 bitów,
  • wykonujemy G(r), otrzymując ciąg długości (nk0) bitów,
  • X=m00...0G(r),
  • Y=H(X)r,
  • wynikiem jest konkatenacja X||Y.

Algorytm deszyfrowania:

  • r=YH(X),
  • m00...0=XG(r).