Az OAEP ( Optimal A symmetric Encryption P adding , Optimális aszimmetrikus titkosítás hozzáadással) egy összeadási séma , amelyet általában valamilyen titkos bejáratú egyirányú funkcióval (például RSA vagy Rabin függvényekkel ) együtt használnak a kriptográfiai erősség növelésére . az utóbbiból. Az OAEP-et Mihir Bellare és Phillip Rogaway [1] javasolta, majd az RSA -ra való alkalmazását a PKCS#1 -ben , ill .RFC 2437 .
Az OAEP eredeti, Bellare és Rogaway által 1994-ben javasolt verziójáról azt állították, hogy ellenáll a választott rejtjelezett szövegen alapuló támadásoknak , bármilyen egyirányú titkos beviteli funkcióval kombinálva [1] . További vizsgálatok kimutatták, hogy egy ilyen séma csak a nem adaptív választott rejtjelezett szövegen alapuló támadásokkal szemben ellenálló [2] . Ennek ellenére bebizonyosodott, hogy a véletlenszerű orákulummodellben a szabványos RSA titkosítási kitevővel történő használatakor a séma ellenáll az adaptívan választott rejtjelszövegen alapuló támadásoknak is [3] . Az újabb munkák kimutatták, hogy a standard modellben (amikor a hash függvények nem véletlenszerű orákulumként vannak modellezve) RSA használatakor nem lehet bizonyítani az adaptív titkosított szöveges támadásokkal szembeni ellenállást [4] .
A klasszikus OAEP-séma egy kétcellás Feistel-hálózat , ahol minden cellában az adatokat egy kriptográfiai hash-függvény segítségével alakítják át . Bemenetként a hálózat egy üzenetet kap, amelyhez ellenőrző nullákat adnak, és egy kulcsot - egy véletlenszerű karakterláncot [5] .
A diagram a következő jelölést használja:
Az OAEP algoritmus az üzenet előfeldolgozására szolgál az RSA használata előtt . Az üzenetet először rögzített hosszúságúra töltik ki az OAEP segítségével, majd RSA segítségével titkosítják. Ezt a titkosítási sémát együttesen RSA-OAEP-nek hívják, és a jelenlegi nyilvános kulcsú titkosítási szabvány ( RFC 3447 ) része. Viktor Boyko azt is bebizonyította, hogy a véletlen orákulumok modelljében a nézetfüggvény egy mindent vagy semmit típusú transzformáció[4] .
Az olyan hiányosságok miatt, mint a választott rejtjelezett szövegen alapuló támadásokkal szembeni kriptográfiai ellenállás bizonyításának lehetetlensége, valamint a séma alacsony sebessége [6] miatt, a későbbiekben olyan OAEP-alapú módosításokat javasoltak, amelyek kiküszöbölik ezeket a hiányosságokat.
Victor Shoup változatát , amely ellenáll az adaptív titkosított szöveges támadásoknak, ha bármilyen egyirányú hátsó ajtó funkcióval kombinálják [2] .
Dan Bonet az OAEP két egyszerűsített megvalósítását javasolta, SAEP és SAEP+ néven. A titkosítás egyszerűsítésének fő ötlete az utolsó lépés hiánya - az üzenetet "ragasztják" az eredetileg generált véletlenszerű karakterlánccal . Így az áramkörök csak egy Feistel cellából állnak , aminek köszönhetően a működési sebesség növekedése érhető el [7] . Az algoritmusok közötti különbséget az ellenőrző bitek rögzítése fejezi ki. SAEP esetén ezek nullák, míg SAEP+ esetén ez egy hash from (illetve, mint az OAEP és az OAEP+ esetében is) [5] . Az algoritmusok hátránya az üzenet hosszának erős csökkentése. A sémák megbízhatósága a Rabin függvény és az RSA használata esetén csak a továbbított szöveg hosszának következő megszorításával igazolódott: SAEP + és emellett SAEP esetén [8] . Érdemes megjegyezni, hogy megközelítőleg azonos sebesség mellett a SAEP+-nak kevesebb korlátozása van az üzenethosszra vonatkozóan, mint a SAEP-nek [8] , ami miatt előnyösebbnek ismerik el [8] .
A diagram a következő jelölést használja: