Kryptografická primitiva
Kryptografická primitiva jsou nízkoúrovňové kryptografické algoritmy, které se často používají k vytváření kryptografických protokolů . V užším slova smyslu se jedná o operace a procedury, které určují požadované vlastnosti kryptosystému [1] .
Úvod
Kryptografická primitiva se používají jako hlavní stavební kameny při vytváření kryptosystému, to znamená, že jsou navržena pro úzkou třídu úloh s vysokým stupněm spolehlivosti. Jako příklad uvažujme následující situaci: pokud je u nějaké šifrovací rutiny specifikováno, že ji lze prolomit pouze X počtem operací v počítači, pak pokud ji lze prolomit výrazně menším počtem operací než X, je toto kryptografické primitivum považováno za nespolehlivé.
Při navrhování protokolů a kryptosystémů je vývojář zodpovědný za odstranění kompozičních chyb. Bez možnosti prokázat jejich bezpečnost musí vývojář považovat primitiva, která používají, za spolehlivá. Výběr nejlepšího primitiva dostupného pro použití v protokolu obvykle poskytuje nejlepší možné zabezpečení. Pokud je detekováno selhání kryptografického primitiva, stává se zranitelným téměř každý protokol, který jej používá [2] .
Primitivní vlastnosti
Kryptografická primitiva musí mít následující vlastnosti:
- Úroveň zabezpečení. Obvykle se definuje jako počet operací potřebných (za použití nejlepších aktuálně známých metod) k dosažení zamýšleného cíle. Obvykle je úroveň zabezpečení určena požadovanou horní hranicí množství práce. To je někdy označováno jako pracovní faktor.
- Funkčnost. K dosažení různých cílů je třeba kombinovat primitiva. Která primitiva jsou pro daný účel nejúčinnější, bude určeno základními vlastnostmi primitiv.
- Pracovní metody. Primitiva, pokud jsou aplikována v různých směrech a při různých investicích, mají tendenci vykazovat různé vlastnosti; jedno primitivum by tedy mohlo být použito různými způsoby v závislosti na potřebě.
- Výkon. To se týká účinnosti primitiva v určitém provozním režimu.
(například šifrovací algoritmus může být hodnocen podle počtu bitů za sekundu, které dokáže šifrovat).
- Snadná implementace. To se týká obtížnosti implementace primitiva v praktické implementaci, jako je implementace primitiva v softwarovém nebo hardwarovém prostředí.
Relativní význam různých kritérií do značné míry závisí na aplikaci a dostupných zdrojích. Například v prostředí, kde je omezený výpočetní výkon, může být nutné vzdát se velmi vysoké úrovně zabezpečení, aby se zlepšil výkon systému jako celku.
Základní primitiva
- Hašování je transformace pole vstupních dat libovolné délky na výstupní bitový řetězec pevné délky. Takové transformace se také nazývají hašovací funkce nebo konvoluční funkce a jejich výsledky se nazývají hašovací kód , kontrolní součet nebo souhrn zprávy . Výsledky hash jsou statisticky jedinečné. Sekvence, která se liší alespoň o jeden bajt, nebude převedena na stejnou hodnotu [3] [4] .
- Symetrická klíčová kryptografie spočívá v tom, že obě strany – účastníci výměny dat mají naprosto stejné klíče pro šifrování a dešifrování dat. Tato metoda provádí transformaci, aby se zabránilo prohlížení informací třetí stranou [3] [4] .
- Asymetrické šifrování – zahrnuje použití dvou různých klíčů v páru – veřejného a tajného. V asymetrickém šifrování klíče fungují ve dvojicích - pokud jsou data šifrována veřejným klíčem, pak je lze dešifrovat pouze odpovídajícím tajným klíčem a naopak - pokud jsou data šifrována tajným klíčem, pak lze pouze dešifrován odpovídajícím veřejným klíčem. Není možné použít veřejný klíč z jednoho páru a tajný klíč z druhého. Každý pár asymetrických klíčů je spojen s matematickými závislostmi. Tato metoda je také zaměřena na převod informací z pohledu třetí strany [3] [4] .
- Digitální podpis – slouží k ověření pravosti dokumentu, jeho původu a autorství, vylučuje zkreslení informací v elektronickém dokumentu [4] .
- Závazkové schéma je metoda, která umožňuje uživateli potvrdit nějakou hodnotu, která není zveřejněna, to znamená, že pokud je tato hodnota zveřejněna, díky tomuto schématu bude známo, že ji uživatel znal v době vystavení příslibu a že se nezměnila [5] .
- Generátor pseudonáhodných čísel je generátor pseudonáhodných čísel s určitými vlastnostmi, které umožňují jeho použití v problémech s kryptografií [6] .
Kombinování kryptografických primitiv
Samotná kryptografická primitiva jsou dosti omezená. Nelze je považovat za kryptografický systém. Například jednoduchý šifrovací algoritmus nezajistí ani ověřovací mechanismus, ani žádnou explicitní kontrolu integrity zprávy. Pokud použijeme kombinaci kódovacích rutin (např. DES ) a hašovacích rutin (např . SHA-1 ), máme systém pro přenos zprávy, který je nejen zašifrovaný, ale i chráněný před paděláním. A pokud útočník nezná šifrovací klíč, nemůže zasahovat do přenosu zprávy.
Většina problémů kryptografických systémů (tedy nezabezpečení v systémech) je obvykle spojena se zneužitím primitiv, tedy chybami v konstrukci architektury kryptografického protokolu, nesprávným použitím a kombinací primitiv, nikoli s chybami v rámci samotní primitivové. Existují metody pro úplnou analýzu kryptografických protokolů, ale jsou velmi složité. Některé základní vlastnosti však lze zkontrolovat pomocí automatických metod, například pomocí Burroughs-Abadie-Needham logiky [2] .
Viz také
Poznámky
- ↑ Moldovyan N. A. Kryptografie: od primitiv k syntéze algoritmů. - 2004. - S. 11. - 448 s. — ISBN 9785941575244 .
- ↑ 12 Patel Parth . Kryptovirologie // Ústav počítačového inženýrství U & PU Patel, Gujarat University, Indie. - S. 6. - 20:00
- ↑ 1 2 3 Menezes AJ, Oorschot PC, Vanstone SA Příručka aplikované kryptografie. - 1996. - S. 5-6. — 780 s. - ISBN 0-8493-8523-7 .
- ↑ 1 2 3 4 Markov A. S., Tsirlov V. L. Základy kryptografie: příprava na CISSP // Cybersecurity Issues No2(10). - 2015. - S. 66.
- ↑ Oded Goldreich. Základy kryptografie: Svazek 1, Základní nástroje. — Cambridge University Press. - 2004. - S. 223-228. — 372 s. - ISBN 0-521-79172-3 .
- ↑ Michela Meister. A Survey of Pseudorandom Functions // Stanford University. - S. 1. - 17:00