Generování klíčů - Key generation
Generování klíčů je proces generování klíčů v kryptografii . Klíč se používá k šifrování a dešifrování jakýchkoli dat, která jsou šifrována/dešifrována.
Zařízení nebo program používaný ke generování klíčů se nazývá generátor klíčů nebo keygen .
Generace v kryptografii
Moderní kryptografické systémy zahrnují algoritmy se symetrickým klíčem (jako DES a AES ) a algoritmy s veřejným klíčem (jako je RSA ). Algoritmy symetrického klíče používají jeden sdílený klíč; utajení dat vyžaduje uchování tohoto klíče v tajnosti. Algoritmy veřejného klíče používají veřejný klíč a soukromý klíč . Veřejný klíč je k dispozici komukoli (často prostřednictvím digitálního certifikátu ). Odesílatel šifruje data pomocí veřejného klíče příjemce; tato data může dešifrovat pouze držitel soukromého klíče.
Protože algoritmy veřejného klíče bývají mnohem pomalejší než algoritmy symetrických klíčů, moderní systémy jako TLS a SSH používají kombinaci těchto dvou: jedna strana obdrží veřejný klíč druhého a zašifruje malý kus dat (buď symetrický klíč) nebo některá data použitá k jeho generování). Ve zbývající části konverzace je k šifrování použit (obvykle rychlejší) algoritmus symetrických klíčů.
Počítačová kryptografie používá pro klíče celá čísla . V některých případech jsou klíče generovány náhodně pomocí generátoru náhodných čísel (RNG) nebo generátoru pseudonáhodných čísel (PRNG) . PRNG je počítačový algoritmus, který produkuje data, která se při analýze objevují náhodně. PRNG, že použití systému entropie pro sadbu dat obecně lepších výsledků, protože to znamená, že počáteční podmínky PRNG mnohem obtížnější pro útočníka uhodnout. Dalším způsobem generování náhodnosti je využití informací mimo systém. Veracrypt (software pro šifrování disku) využívá pohyby myší k vytváření jedinečných semen, ve kterých jsou uživatelé vybízeni k sporadickému pohybu myší. V jiných situacích je klíč odvozen deterministicky pomocí přístupového hesla a funkce odvození klíče .
Mnoho moderních protokolů je navrženo tak, aby měly dopředné utajení , což vyžaduje vygenerování nového nového sdíleného klíče pro každou relaci.
Klasické kryptosystémy vždy generují dva stejné klíče na jednom konci komunikačního spojení a nějakým způsobem přenášejí jeden z klíčů na druhý konec odkazu. Zjednodušuje však správu klíčů a místo toho používá výměnu klíčů Diffie – Hellman .
Nejjednodušší metodou čtení šifrovaných dat bez jejich dešifrování je útok hrubou silou- stačí pokusit se o každé číslo až do maximální délky klíče. Proto je důležité použít dostatečně dlouhou délku klíče ; delší klíče zaútočí exponenciálně déle, takže útok hrubou silou je nepraktický. V současné době jsou běžné délky klíčů 128 bitů (pro algoritmy symetrických klíčů) a 2048 bitů (pro algoritmy veřejného klíče).
Generování ve fyzické vrstvě
Bezdrátové kanály
Bezdrátový kanál se vyznačuje dvěma koncovými uživateli. Přenášením pilotních signálů mohou tito dva uživatelé odhadnout kanál mezi nimi a použít informace o kanálu ke generování klíče, který je tajný pouze pro ně. Společný tajný klíč pro skupinu uživatelů lze vygenerovat na základě kanálu každé dvojice uživatelů.
Optické vlákno
Klíč lze také generovat využitím fluktuace fází ve vláknovém spojení.
Viz také
- Generování distribuovaného klíče : U některých protokolů by žádná strana neměla být ve výhradním vlastnictví tajného klíče. Během generování distribuovaného klíče každá strana získá podíl na klíči. Práh ze zúčastněných stran by měly spolupracovat, aby bylo dosaženo šifrovací úkolu, jako je dešifrování zprávy.