OAEP ( engelsk Optimal A symmetric Encryption P adding , Optimal asymmetrisk encryption with addition) er et additionsskema , der normalt bruges sammen med en envejsfunktion med en hemmelig indgang (for eksempel RSA- eller Rabin-funktioner ) for at øge den kryptografiske styrke af sidstnævnte. OAEP blev foreslået af Mihir Bellare og Phillip Rogaway [1] , og dens anvendelse til RSA blev efterfølgende standardiseret i PKCS#1 og RFC 2437 .
Den originale version af OAEP, foreslået af Bellare og Rogaway i 1994, blev hævdet at være modstandsdygtig over for angreb baseret på valgt chiffertekst i kombination med enhver envejs hemmelig indtastningsfunktion [1] . Yderligere undersøgelser har vist, at en sådan ordning kun er modstandsdygtig over for angreb baseret på ikke-adaptiv valgt chiffertekst [2] . På trods af dette er det blevet bevist, at skemaet i den tilfældige orakelmodel , når man bruger standard RSA med chiffereksponent , også er modstandsdygtigt over for angreb baseret på adaptivt valgt chiffertekst [ 3] . Nyere arbejde har vist, at i standardmodellen (når hash-funktioner ikke er modelleret som tilfældige orakler) er det ikke muligt at bevise modstand mod adaptive chiffertekstangreb ved brug af RSA [4] .
Det klassiske OAEP-skema er et to -cellet Feistel -netværk , hvor data i hver celle transformeres ved hjælp af en kryptografisk hash-funktion . Som input modtager netværket en besked med kontrolnuller tilføjet og en nøgle - en tilfældig streng [5] .
Diagrammet bruger følgende notation:
OAEP-algoritmen bruges til at forbehandle meddelelsen, før RSA bruges . Beskeden udfyldes først til en fast længde ved hjælp af OAEP og krypteres derefter med RSA. Samlet kaldes dette krypteringsskema RSA-OAEP og er en del af den nuværende offentlige nøglekrypteringsstandard ( RFC 3447 ). Det blev også bevist af Viktor Boyko, at visningsfunktionen i modellen af tilfældige orakler er en alt-eller-intet-type transformation[4] .
På grund af sådanne mangler som umuligheden af at bevise kryptografisk modstand mod angreb baseret på valgt chiffertekst , samt skemaets lave hastighed [6] , blev der efterfølgende foreslået OAEP-baserede modifikationer, der eliminerer disse mangler.
Victor Shoup har , der er modstandsdygtigt over for adaptive chiffertekstangreb, når det kombineres med enhver envejs bagdørsfunktion [2] .
Dan Bonet har foreslået to forenklede implementeringer af OAEP, navngivet henholdsvis SAEP og SAEP+. Hovedideen med at forenkle kryptering er fraværet af det sidste trin - beskeden blev "limet" med den oprindeligt genererede tilfældige streng . Kredsløbene består således kun af én Feistel-celle , på grund af hvilken en stigning i driftshastigheden opnås [7] . Forskellen mellem algoritmerne fra hinanden kommer til udtryk i registreringen af kontrolbittene. I tilfælde af SAEP er disse nuller, mens dette for SAEP+ er en hash fra (henholdsvis som i OAEP og OAEP+) [5] . Ulempen ved algoritmerne er en kraftig reduktion af beskedens længde. Pålideligheden af skemaer i tilfælde af brug af Rabin-funktionen og RSA er kun blevet bevist med følgende begrænsning på længden af den transmitterede tekst: for SAEP + og desuden for SAEP [8] . Det er værd at bemærke, at ved omtrent samme hastighed har SAEP+ færre begrænsninger på meddelelseslængden end SAEP [8] , på grund af hvilket det er anerkendt som mere at foretrække [8] .
Diagrammet bruger følgende notation: