L'attacco "padding oracle" di cui parli è meglio conosciuto come l'attacco di Bleichenbacher contro RSA . L'utente malintenzionato invia chiavi crittografate malformate; alcuni continueranno (per puro caso) a decifrare correttamente, anche se con un contenuto decodificato che l'attaccante non può sapere. Se il comportamento del server cambia, a seconda che la decrittografia non sia riuscita ("bad padding") o meno (il server utilizza il risultato della decrittografia e continua), l'utente malintenzionato può ottenere alcune informazioni sulla chiave privata RSA.
Una soluzione alternativa è, in realtà, nascondere la modifica del comportamento: quando la decifrazione fallisce, il server utilizza semplicemente un valore casuale invece del risultato della decrittografia. Pertanto, l'utente malintenzionato non è più in grado di distinguere tra "bad padding" e "padding era corretto e risultava in una certa posta indesiderata decrittografata". Questo è, in effetti, piuttosto difficile da implementare correttamente, specialmente dal momento che gli aggressori laboriosi possono applicare attacchi temporali e notare quando il server utilizza una sostituzione casuale, a causa del tempo extra necessario per generare la sostituzione.
OAEP è nominalmente immune all'attacco di Bleichenbacher ed è stato progettato proprio in quell'obiettivo; tuttavia, ciò richiede ancora che sia implementato correttamente, che è, ancora una volta, non così facile come sembra. La solita raccomandazione vale: se stai scrivendo il tuo protocollo crittografico o implementazione, allora stai sbagliando. Dovresti utilizzare un protocollo esistente e implementazioni esistenti in cui dettagli quali resistenza agli attacchi temporali sono stati esplorati e risolti in anni di test sul campo.