OAEP

OAEP (zkratka anglického Optimal asymmetric encryption padding, doslova Optimální výplň asymetrického šifrování) je v kryptografii jedním z algoritmů vytváření výplně. Vytvořili jej v roce 1995 Mihir Bellare a Phillip Rogaway[1] pro asymetrickou šifru RSA a později byl standardizován v rámci PKCS #1 a v rámci RFC 2437.[2]

Jádrem algoritmu je využití Feistelovy sítě s dvojicí náhodných orákulí, které zpracují otevřený text před tím, než je předán asymetrické šifře.

Popis algoritmu

Schéma algoritmu OAEP

Ve schématu je využito:

  • číslo n {\displaystyle n} udávající cílový počet bitů
  • čísla k 1 {\displaystyle k_{1}} a k 2 {\displaystyle k_{2}} určená protokolem
  • vstupní bitová posloupnost m {\displaystyle m} o délce n k 0 k 1 {\displaystyle n-k_{0}-k_{1}} bitů
  • dvojice funkcí G {\displaystyle G} a H {\displaystyle H} (typicky kryptografické hašovací funkce)

Postup kódování:

  1. Vstupní bitová posloupnost m {\displaystyle m} je doplněna k 1 {\displaystyle k_{1}} nulami na délku n k 0 {\displaystyle n-k_{0}} bitů.
  2. Je vytvořena náhodná bitová posloupnost r {\displaystyle r} délky k 0 {\displaystyle k_{0}} bitů.
  3. Funkce G {\displaystyle G} vytvoří z posloupnosti r {\displaystyle r} novou posloupnost o délce n k 0 {\displaystyle n-k_{0}} bitů.
  4. X = m 00..0 G ( r ) {\displaystyle X=m00..0\oplus G(r)}
  5. Funkce H {\displaystyle H} vytvoří z X {\displaystyle X} dlouhého n k 1 {\displaystyle n-k_{1}} bitů posloupnost o délce k 0 {\displaystyle k_{0}} bitů.
  6. Y = r H ( X ) {\displaystyle Y=r\oplus H(X)}
  7. Výstupem je zřetězení posloupností X | | Y {\displaystyle X||Y} o délce n {\displaystyle n} bitů.

Postup dekódování:

  1. Náhodná posloupnost r {\displaystyle r} je získána z rovnosti r = Y H ( X ) {\displaystyle r=Y\oplus H(X)} .
  2. Zpráva je získána z rovnosti m 00 0 = X G ( r ) {\displaystyle m00\dots 0=X\oplus G(r)}

Odkazy

Reference

V tomto článku byl použit překlad textu z článku Optimal asymmetric encryption padding na anglické Wikipedii.

  1. BELLLARE, Mihir; ROGAWAY, Phillip. Optimal Asymmetric Encryption -- How to encrypt with RSA. In: DE SANTIS, A. Advances in Cryptology - Eurocrypt '94 Proceedings. [s.l.]: Springer, 1995. Dostupné v archivu pořízeném dne 2018-11-05. Archivováno 5. 11. 2018 na Wayback Machine.
  2. KALISKI, Burt; STADDONOVÁ, Jessica. PKCS #1: RSA Cryptography Specifications Version 2.0. Request for Comments [online]. Říjen 1998. Čís. 2437. Dostupné online. ISSN 2070-1721. (anglicky) 

Literatura

  • BELLLARE, Mihir; ROGAWAY, Phillip. Optimal Asymmetric Encryption -- How to encrypt with RSA. In: DE SANTIS, A. Advances in Cryptology - Eurocrypt '94 Proceedings. [s.l.]: Springer, 1995. Dostupné v archivu pořízeném dne 2018-11-05. Archivováno 5. 11. 2018 na Wayback Machine.