Optimális aszimmetrikus titkosítás párnázással

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 .

Történelem

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] .

OAEP algoritmus

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:

Titkosítás

  1. Az üzenethez nullák kapcsolódnak , ami miatt eléri a bites hosszúságot.
  2. Véletlenszerű bites karakterlánc jön létre .
  3. bitekre bővíti a karakterláncot .
  4. .
  5. bitről bitre tömöríti .
  6. .
  7. titkosított szöveg .

Dekódolás

  1. A véletlenszerű karakterlánc visszaáll
  2. Az eredeti üzenet így áll vissza
  3. A visszafejtett üzenet utolsó karaktereit a rendszer nullára ellenőrzi. Ha nullától eltérő karakterek vannak, akkor az üzenetet egy támadó hamisította.

Alkalmazás

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] .

Módosítások

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.

OAEP+ algoritmus

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] .

Titkosítás
  1. Véletlenszerű bites karakterlánc jön létre .
  2. hosszúságú karakterláncra alakítja át .
  3. hosszúságú karakterláncra alakítja át .
  4. Az üzenet bal oldala összeállításra kerül .
  5. hosszúságú karakterláncra alakítja át .
  6. Az üzenet jobb oldala készül .
  7. titkosított szöveg .
Dekódolás
  1. A véletlenszerű karakterlánc visszaáll .
  2. két részre van osztva és , méretekkel és bitekkel, ill.
  3. Az eredeti üzenet így áll vissza .
  4. Ha nem teljesül , akkor az üzenet hamisított.

SAEP/SAEP+ algoritmus

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:

SAEP+ titkosítás
  1. Véletlenszerű bites karakterlánc jön létre .
  2. hosszúságú karakterláncra alakítja át .
  3. hosszúságú karakterláncra alakítja át .
  4. Kiszámolva .
  5. titkosított szöveg .
SAEP+ visszafejtés
  1. Kiszámított , ahol és a méretű és  a karakterláncok .
  2. Az egyenlőséget ellenőrzik . Ha az egyenlőség igaz, akkor az eredeti üzenetet , ha nem, akkor az üzenetet egy támadó hamisította.

Lásd még

Jegyzetek

  1. 1 2 Optimális aszimmetrikus titkosítás Hogyan titkosítsunk RSA-val, 1995 , p. egy.
  2. 1 2 OAEP Reconsidered, 2001 , p. egy.
  3. Az RSA–OAEP az RSA Feltételezése szerint biztonságos, 2001 , p. egy.
  4. 1 2 Egyirányú kereskedés a választott titkosított szöveg biztonsága ellen a faktoring-alapú titkosításban, 2006 , 1. o. egy.
  5. 1 2 Egyszerűsített OAEP az RSA és Rabin funkciókhoz, 2001 , 1. o. 277.
  6. Olcsó alternatíva az OAEP számára, 2001 , p. egy.
  7. Egyszerűsített OAEP az RSA és a Rabin funkciókhoz, 2001 , 1. o. 275.
  8. 1 2 3 Egyszerűsített OAEP az RSA és Rabin funkciókhoz, 2001 , 1. o. 290.

Irodalom