OAEP ( engelska Optimal A symmetric Encryption P adding , Optimal asymmetric encryption with addition) är ett tilläggsschema , vanligtvis använt i kombination med någon enkelriktad funktion med en hemlig ingång (till exempel RSA- eller Rabin-funktioner ) för att öka den kryptografiska styrkan av den senare. OAEP föreslogs av Mihir Bellare och Phillip Rogaway [1] , och dess tillämpning på RSA standardiserades därefter i PKCS#1 och RFC 2437 .
Den ursprungliga versionen av OAEP, som föreslagits av Bellare och Rogaway 1994, påstods vara resistent mot attacker baserade på vald chiffertext i kombination med valfri enkelriktad hemlig ingångsfunktion [1] . Ytterligare studier har visat att ett sådant schema endast är resistent mot attacker baserade på icke-adaptiv vald chiffertext [2] . Trots detta har det bevisats att i den slumpmässiga orakelmodellen , när man använder standard RSA med chifferexponent , är schemat också motståndskraftigt mot attacker baserade på adaptivt vald chiffertext [3] . Nyare arbete har visat att i standardmodellen (när hashfunktioner inte modelleras som slumpmässiga orakel) är det inte möjligt att bevisa motstånd mot adaptiva chiffertextattacker när man använder RSA [4] .
Det klassiska OAEP-schemat är ett Feistel-nätverk med två celler , där data i varje cell transformeras med hjälp av en kryptografisk hashfunktion . Som indata får nätverket ett meddelande med kontrollnollor som lagts till och en nyckel - en slumpmässig sträng [5] .
Diagrammet använder följande notation:
OAEP-algoritmen används för att förbehandla meddelandet innan RSA används . Meddelandet utfylls först till en fast längd med OAEP och krypteras sedan med RSA. Tillsammans kallas detta krypteringsschema RSA-OAEP och är en del av den nuvarande krypteringsstandarden för publika nyckel ( RFC 3447 ). Det bevisades också av Viktor Boyko att synfunktionen i modellen av slumpmässiga orakel är en transformation av typ allt-eller-inget[4] .
På grund av sådana brister som omöjligheten att bevisa kryptografiskt motstånd mot attacker baserat på vald chiffertext , samt den låga hastigheten i schemat [6] , föreslogs därefter OAEP-baserade modifieringar som eliminerar dessa brister.
Victor Shoup har som är resistent mot adaptiva chiffertextattacker när det kombineras med valfri envägsbakdörrsfunktion [2] .
Dan Bonet har föreslagit två förenklade implementeringar av OAEP, namngivna SAEP respektive SAEP+. Huvudidén med att förenkla kryptering är frånvaron av det sista steget - meddelandet "limmades" med den ursprungligen genererade slumpmässiga strängen . Således består kretsarna av endast en Feistel-cell , på grund av vilken en ökning av drifthastigheten uppnås [7] . Skillnaden mellan algoritmerna från varandra uttrycks i registreringen av kontrollbitarna. När det gäller SAEP är dessa nollor, medan för SAEP+ är detta en hash från (respektive som i OAEP och OAEP+) [5] . Nackdelen med algoritmerna är en kraftig minskning av meddelandets längd. Tillförlitligheten hos scheman vid användning av Rabin-funktionen och RSA har endast bevisats med följande begränsning av längden på den överförda texten: för SAEP + och dessutom för SAEP [8] . Det är värt att notera att vid ungefär samma hastighet har SAEP+ färre begränsningar för meddelandelängden än SAEP [8] , på grund av vilket det anses vara mer föredraget [8] .
Diagrammet använder följande notation:
Public key kryptosystem | |||||||||
---|---|---|---|---|---|---|---|---|---|
Algoritmer |
| ||||||||
Teori |
| ||||||||
Standarder |
| ||||||||
Ämnen |
|