close

Optimální asymetrické šifrování s odsazením

Přejít na navigaci Přejít na hledání

OAEP ( anglicky  O optimal A symmetric Encryption P added, Optimal asymetrické šifrování s přidáním) je schéma sčítání , které se obvykle používá ve spojení s nějakou jednosměrnou funkcí s tajným vstupem (například funkce RSA nebo Rabin ) ke zvýšení šifrovací síly . toho druhého. OAEP navrhli Mihir Bellare [en] a Phillip Rogaway [en] [1] a jeho aplikace na RSA byla následně standardizována v PKCS#1 a RFC 2437 .

Historie

Původní verze OAEP, navržená Bellare a Rogaway v roce 1994, byla prohlašována za odolná vůči útokům založeným na zvoleném šifrovém textu v kombinaci s jakoukoli jednosměrnou funkcí tajného vstupu [1] . Další studie ukázaly, že takové schéma je odolné pouze vůči útokům založeným na neadaptivním zvoleném šifrovém textu [2] . Navzdory tomu bylo prokázáno, že v modelu náhodného orákula při použití standardního RSA s exponentem šifry je schéma také odolné vůči útokům založeným na adaptivně zvoleném šifrovém textu [3] . Novější práce ukázaly, že ve standardním modelu (když hašovací funkce nejsou modelovány jako náhodná orákula) není možné prokázat odolnost vůči útokům adaptivních šifrových textů při použití RSA [4] .

Algoritmus OAEP

Image
schéma OAEP

Klasické schéma OAEP je dvoubuněčná síť Feistel , kde jsou v každé buňce data transformována pomocí kryptografické hašovací funkce . Jako vstup síť obdrží zprávu s přidanými kontrolními nulami a klíčem - náhodným řetězcem [5] .

Diagram používá následující zápis:

Šifrování

  1. Zpráva je připojena nulami, díky čemuž dosahuje délky bitů.
  2. Vygeneruje se náhodný bitový řetězec .
  3. rozšíří kousek řetězce na bity.
  4. .
  5. komprimuje bit na bit.
  6. .
  7. zašifrovaný text .

Dešifrování

  1. Náhodný řetězec je obnoven
  2. Původní zpráva je obnovena jako
  3. Poslední znaky dešifrované zprávy jsou kontrolovány na nulu. Pokud obsahuje nenulové znaky, pak byla zpráva zfalšována útočníkem.

Aplikace

Algoritmus OAEP se používá k předběžnému zpracování zprávy před použitím RSA . Zpráva je nejprve doplněna na pevnou délku pomocí OAEP a poté zašifrována pomocí RSA. Souhrnně se toto schéma šifrování nazývá RSA-OAEP a je součástí současného standardu šifrování veřejného klíče ( RFC 3447 ). Viktor Bojko také dokázal, že funkce zobrazení v modelu náhodných orakulů je transformací typu vše nebo nic ( anglicky ) [4] .

Úpravy

Kvůli takovým nedostatkům, jako je nemožnost prokázat kryptografickou odolnost vůči útokům na základě zvoleného šifrového textu , a také nízká rychlost schématu [6] , byly následně navrženy úpravy na bázi OAEP, které tyto nedostatky eliminují.

Algoritmus OAEP+

Victor Shoup navrhl variantu vycpávkového schématu založeného na OAEP (nazvané OAEP+ ) , které je odolné vůči adaptivním útokům šifrovaným textem v kombinaci s jakoukoli jednosměrnou funkcí zadních vrátek [2] .

Šifrování

  1. Vygeneruje se náhodný bitový řetězec .
  2. převede na řetězec délky .
  3. převede na řetězec délky .
  4. Levá strana zprávy se skládá .
  5. převede na řetězec délky .
  6. Pravá strana zprávy se skládá .
  7. zašifrovaný text .

Dešifrování

  1. Náhodný řetězec je obnoven .
  2. je rozdělena na dvě části a , s velikostmi a bity, v tomto pořadí.
  3. Původní zpráva je obnovena jako .
  4. Pokud není splněna , je zpráva zfalšována.

Algoritmus SAEP/SAEP+

Dan Bonet navrhl dvě zjednodušené implementace OAEP, pojmenované SAEP a SAEP+. Hlavní myšlenkou zjednodušení šifrování je absence posledního kroku – zpráva byla „přilepena“ původně vygenerovaným náhodným řetězcem . Obvody se tedy skládají pouze z jednoho Feistelova článku , díky čemuž je dosaženo zvýšení rychlosti provozu [7] . Vzájemný rozdíl mezi algoritmy je vyjádřen v záznamu kontrolních bitů. V případě SAEP se jedná o nuly, zatímco u SAEP+ se jedná o hash z (respektive jako v OAEP a OAEP+) [5] . Nevýhodou algoritmů je výrazné zkrácení délky zprávy. Spolehlivost schémat v případě použití Rabinovy ​​funkce a RSA byla prokázána pouze s následujícím omezením délky přenášeného textu: pro SAEP + a navíc pro SAEP [8] . Stojí za zmínku, že při přibližně stejné rychlosti má SAEP+ méně omezení na délku zprávy než SAEP [8] , díky čemuž je uznáván jako výhodnější [8] .

Diagram používá následující zápis:

SAEP+ šifrování

  1. Vygeneruje se náhodný bitový řetězec .
  2. převede na řetězec délky .
  3. převede na řetězec délky .
  4. Vypočteno .
  5. zašifrovaný text .

SAEP+ dešifrování

  1. Vypočteno , kde a  jsou řetězce velikosti a , resp.
  2. Rovnost je kontrolována . Pokud je rovnost pravdivá, pak původní zpráva , pokud ne, pak je zpráva podvržena útočníkem.

Viz také

Poznámky

Literatura