Optimal Asymmetric Encryption Padding: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
mNessun oggetto della modifica
Corretto: "anche se fosse"
 
(2 versioni intermedie di 2 utenti non mostrate)
Riga 1:
In [[crittografia]], '''Optimal Asymmetric Encryption Padding''' ('''OAEP''') è uno schema di [[padding (crittografia)|padding]] spesso utilizzato assieme a [[RSA (crittografia)|RSA]]. OAEP è stato introdotto da [[Mihir Bellare|Bellare]] e [[Phillip Rogaway|Rogaway]],<ref>[[Mihir Bellare|M. Bellare]], [[Phillip Rogaway|P. Rogaway]]. ''Optimal Asymmetric Encryption -- How to encrypt with RSA''. L'abstract completo può essere trovato in: Advances in Cryptology - [[Eurocrypt]] '94 Proceedings, Lecture Notes in Computer Science Vol. 950, A. De Santis ed, [[Springer-Verlag]], 1995. [http://www-cse.ucsd.edu/users/mihir/papers/oae.pdf Versione integrale (pdf)] {{Webarchive|url=https://web.archive.org/web/20080708233234/http://www-cse.ucsd.edu/users/mihir/papers/oae.pdf |date=8 luglio 2008 }}</ref> e successivamente standardizzato in [[PKCS]] #1 v2 e RFC 2437.
 
L'algoritmo OAEP è una sorta di [[rete di Feistel]] che utilizza coppie di [[Oracolo random|oracoli random]] <math>G</math> e <math>H</math> per effettuare un preprocessing su un messaggio da [[Crittografia asimmetrica|cifrare asimmetricamente]]. Se usato in combinazione con una [[funzione botola]] sicura, questo metodo è considerato [[Sicurezza semantica|semanticamente sicuro]] all'interno del modello a [[oracolo random]] contro attacchi di tipo ''[[Attacco con testo in chiaro scelto|chosen plaintext]]''. In casi particolari (ad esempio, con [[RSA (crittografia)|RSA]]), OAEP è stato provato essere sicuro anche contro attacchi di tipo ''[[Attacco con testo cifrato scelto|chosen ciphertext]]''. OAEP può essere utilizzato per costruire una trasformazione ''all-or-nothing'' ("tutto o niente"), come spiegato [[#Funzionamento|in seguito]].
Riga 5:
OAEP soddisfa i due obiettivi seguenti:
#Aggiunge una componente di casualità che può essere usata per convertire uno schema di crittazione deterministico (come [[RSA (crittografia)|RSA]]) in uno probabilistico.
#Fa in modo che un possibile avversario non possa recuperare alcuna porzione del testo in chiaro, puranche nonse essendofosse in grado di invertire la [[funzione botola]] su cui si basa l'algoritmo di crittazione.
 
== Funzionamento ==
Riga 30:
# recuperare il messaggio <math>m</math> tramite <math>m00..0 = X \oplus G(r)</math>.
 
La proprietà ''all-or-nothing'' deriva dal fatto che per recuperare il messaggio <math>m</math> si ha bisogno delle intere stringhe <math>X</math> e <math>Y</math>. <math>X</math> è richiesto per ottenere <math>r</math> da <math>Y</math>, e <math>r</math> è richiesta per ottenere <math>m</math> da <math>X</math>. Dato anche una piccolissima modifica all'input di una funzionafunzione crittografica di ''hash'' cambia completamente il risultato, <math>X</math> e <math>Y</math> devono essere interamente ottenute. Questo garantisce l'[[Integrità dei dati|integrità]] del messaggio.
 
== Note ==