Optimal Asymmetric Encryption Padding

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

n - długość w bitach modułu RSA
k0 i k1 - ustalone liczby całkowite
m - wiadomość długości (n - k0 - k1) 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 (n - k0) bitów
  • generujemy losowy ciąg r długości k0 bitów
  • wykonujemy G(r) otrzymując ciąg długości (n - k0) bitów
  • X = m00...0G(r)
  • Y = H(X)r
  • wynikiem jest konkatenacja X || Y


Algorytm deszyfrowania:

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

Media użyte na tej stronie