Kryptografický primitiv

Kryptografický primitiv je nízkoúrovňový algoritmus používaný k vytváření kryptografických protokolů pro bezpečnostní systém. Používají jej kryptografičtí návrháři jako své nejzákladnější stavební kameny. Tyto stavební bloky jsou součástí kryptosystému, což je sada kryptografických algoritmů potřebných k implementaci konkrétní bezpečnostní služby, jako jsou šifrovací funkce nebo jednosměrné hash funkce.

Protože tito primitiva jsou stavební kameny, jsou navrženy tak, aby prováděly jeden přesně definovaný a vysoce spolehlivý úkol. Vytvoření a testování spolehlivosti primitivu trvá dlouho a je velmi těžké, takže návrh nového kryptografického primitivu, který vyhovuje potřebám nového kryptografického systému, je velmi vzácný. Tímto způsobem jsou kryptografické primitivy podobné programovacím jazykům. Je vzácné, že programátor při psaní nového programu vymyslí nový programovací jazyk. Místo toho použijí existující jazyk, stejně jako kryptografický designér použije existující primitiv, aby se vyhnuli časově náročné a náchylné k chybám při vytváření nového primitivu.


Běžné kryptografické primitivy

  • Jednosměrná hashovací funkce: Matematická funkce, která přebírá vstupní řetězec s proměnnou délkou a převádí jej na binární sekvenci pevné délky.
  • Kryptografie symetrických klíčů: Šifrovací systém, ve kterém odesílatel a příjemce zprávy sdílí jeden společný klíč, který se používá k šifrování a dešifrování zprávy.
  • Kryptografie veřejného klíče: Také známý jako asymetrická kryptografie, systém, který používá pár klíčů, veřejný klíč a soukromý klíč. Kdokoli může zašifrovat zprávu pomocí veřejného klíče příjemce, ale šifrovanou zprávu lze dešifrovat pouze pomocí soukromého klíče příjemce.
  • Smíšená síť: Směrovací protokol, který vytváří obtížně dohledatelnou komunikaci. Řetěz proxy serverů šifrovaných pomocí kryptografie veřejného klíče se používá k přijímání zpráv od více odesílatelů, jejich míchání a následnému odesílání zpět v náhodném pořadí do dalšího cíle.
  • Získávání soukromých informací: Protokol, který klientovi umožňuje načíst informace o databázi, aniž by vlastník databáze věděl, jaké konkrétní informace byly načteny.