Exponenciální šifra

Polygrafická šifra založená na modulárním umocňování

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

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

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

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