Exponenciální šifra

Z Wikipedie, otevřené encyklopedie

Exponenciální šifra je polyalfabetická šifra. Šifra je velmi odolná vůči kryptoanalýze. Je založena na principu modulárního umocňování. Bezpečnost šifry je zajištěna složitostí řešení diskrétního logaritmu.[1]

Princip[editovat | editovat zdroj]

Definujme modul m jako prvočíslo. Zvolme šifrovací klíč e jako celé kladné číslo nesoudělné s m-1. Šifrovaný text (dále jen ŠT) získáme umocněním bloku otevřeného textu (dále jen OT) modulárně umocněného klíčem. Bezpečnost šifry je zajištěna tím, že opačná operace (nalézt základ umocněného čísla) je pro útočníka výpočetně složitý problém.

Při dešifrování je znám šifrovací klíč e. Dešifrovací klíč d lze spočítat pomocí vzorce . OT text se dešifruje pomocí umocnění ŠT dešifrovacím klíčem d. Matematicky lze dešifrování popsat s využitím malé Fermatovy věty jako[1][2]

  • c - blok ŠT
  • p - blok OT
  • m - modulo
  • e - šifrovací klíč
  • d - dešifrovací klíč
  • , kde k je nějaké celé číslo

Šifrování[editovat | editovat zdroj]

Převod OT do ŠT probíhá v následujících krocích.[2]

  • Seskupíme OT do n-tic písmen. Jako OT si v tomto příkladě volíme OT = WIKI. OT seskupíme do dvojic písmen.
  • Písmena převedeme do číselného ekvivalentu (A => 00, B => 01, ..., Y => 24, Z => 25).
  • Zvolíme velikost bloku.
    • Protože písmena jsou zakódována maximálně pomocí dvou číslic, tak velikost bloku musí být násobkem dvou.
    • V příkladě voláme blok velikosti s = 2. Proto velikost zakódovaného bloku bude 4 číslice.
  • Kódy čísel zřetězíme do bloků („WIKI“ => 2208 1008).
  • Zvolíme modul m (m je prvočíslo), tak že m > 2525. (m = 2647)
    • Číslo 2525 reprezentuje maximální hodnotu bloku (písmena ZZ).
    • Kdyby bylo modulo m menší než 2525, tak by se poškodila přenášená informace. Tudíž by nešlo ŠT jednoznačně dešifrovat.
  • Zvolíme šifrovací klíč e, tak že gcd(e, m-1) = 1. (e = 31)
  • Po blocích převádíme OT podle předpisu na ŠT.
  • ŠT = 2048 1044

Dešifrování[editovat | editovat zdroj]

Převod ŠT do OT probíhá v následujících krocích.[2]

  • Známe ŠT, modulo i šifrovací klíč. (ŠT = 2048 1044, m = 2647, e = 31)
  • Dešifrovací klíč dopočítáme d pomocí pravidla . (d = 1195)
  • Spočítáme OT podle předpisu .
  • OT = WIKI

Reference[editovat | editovat zdroj]

  1. a b LÓRENCZ, Róbert. Blokové, transpozičníní a exponenciální šifry [online]. [cit. 2015-08-19]. S. 19–26. Dostupné online. [nedostupný zdroj]
  2. a b c Exponenciální šifra [online]. [cit. 2015-08-19]. Dostupné online.