Drag-reminder představuje užitečný nástroj pro práci s vybraným uzlem v rámci grafu – ať už se jedná o jediný uzel, uzel s propojeným fragmentem přes vstupy a výstupy, či dokonce o větší „blok“ uzlů nebo všechny uzly najednou. Základní výchozí uzel závisí na nastavení režimu: v jump-grafu s aktivní volbou „single“ je to uzel 1, jinak při volbě „either, step=nolimit“ začíná uzel 0. Drag-reminder nabízí kontextově závislé možnosti v závislosti na aktuální aktivaci režimu single, either, inputs, outputs, block či allnodes, což je vždy patrné v záhlaví ovládacího panelu.

Pro aktivaci uzlu v grafu je třeba kliknout levým tlačítkem myši, případně v některých případech nejprve pravým tlačítkem, a následně táhnout vybraný uzel či fragment na nové místo, kde jej pustit. Tento mechanismus umožňuje uživateli intuitivní manipulaci s grafem a jeho strukturou, přičemž drag-reminder slouží jako upozornění či nápověda, jak správně aktivovat či přesunout uzel, pokud není funkce okamžitě aktivní.

Základní zobrazení uzlů v grafu probíhá pomocí barevných disků, které cyklicky mění barvy a mohou nést centrální číslo podle velikosti disku. Hrany mezi uzly jsou vybaveny šipkami indikujícími směr a jsou barevně odvozeny od rodičovského uzlu. Rozmístění hran je asymetrické ve směru hodinových ručiček, což usnadňuje rozlišení vstupních a výstupních spojení, přičemž mezera uprostřed zabraňuje překryvům. Samo-smyčky se zobrazují jako krátké výčnělky z uzlu. Tento základní styl platí jak pro výchozí, tak pro dragovanou verzi grafu, přičemž úpravy jako rotace, zrcadlení nebo změna délky hran se provádějí vůči středu okna (v případě výchozího grafu) či vůči pozici ukazatele myši (v drag-grafu).

Některé možnosti jsou sdílené mezi výchozím a drag-grafem, například rotace (rot-x/X, kdy malé „x“ znamená rotaci po směru hodinových ručiček, velké „X“ opačně), zrcadlení horizontální či vertikální (flip-h/v), či kontrakce a expanze uzlů a hran pomocí jednoduchých symbolů. Také je možné ukládat aktuální graf jako vektorový soubor PostScript. Tyto nástroje usnadňují dynamickou úpravu zobrazení a detailní prohlížení topologie grafu.

Existují i exkluzivní volby pro výchozí graf, které ovlivňují všechny uzly a hrany současně. Patří sem například „ant-a“ – spuštění pravděpodobnostního „mravence“, který sleduje Markovův řetězec v grafu, zaznamenávající četnost návštěv jednotlivých uzlů, což umožňuje analýzu frekvence průchodů a pravděpodobností přechodů. Další nástroj „unscram-u“ automaticky rozplétá graf, umisťuje slabě propojené uzly na okraje a zvyšuje přehlednost, zejména při kruhovém nebo spirálovém uspořádání. Funkce „unreach-U“ zase pomáhá identifikovat a izolovat ne-dosažitelné uzly, které nemají vstupní hrany, což je klíčové pro analýzu konektivity grafu.

Pozornost je třeba věnovat i možnostem změny uspořádání uzlů podle jejich velikosti (váhy), která je definována různě podle typu grafu – například podle počtu vstupů, výstupů či objemu bazénu (basinu) v systému. To umožňuje lépe rozpoznat struktury jako Garden-of-Eden stavy, které jsou charakteristické nulovým počtem vstupů a tvoří tak okrajové vrstvy v hierarchii grafu.

Přepínání mezi zobrazením samotného grafu a jeho reprezentací pomocí „jump-table“ nebo „adjacency-matrix“ dává uživateli možnost pracovat s grafem nejen vizuálně, ale i analyticky – sledovat počet a poměry hran mezi uzly, což podporuje hlubší pochopení topologie a dynamiky systému. Nastavení také umožňuje přepínat mezi škálovanými a neskálovanými uzly, zapínat a vypínat čísla na discích uzlů a měnit tloušťku hran, což přispívá k přizpůsobení vizualizace konkrétním potřebám uživatele.

Důležité je chápat, že všechny tyto nástroje a možnosti nejsou izolovanými funkcemi, ale tvoří komplexní interaktivní prostředí, kde každá volba a úprava ovlivňuje celkový pohled na data, usnadňuje práci s nimi a umožňuje hlubší analýzu a pochopení dynamiky složitých systémů. Grafická manipulace jako přesun bloků uzlů nebo izolace komponent má význam nejen vizuální, ale i analytický – může odhalit struktury, které by jinak zůstaly skryté, a pomoci tak s interpretací a dalším zpracováním dat.

Jak mohou buněčné автоматы posílit bezpečnost lehkých šifrovacích schémat?

S nárůstem využívání technologií v každodenním životě vzrostla i potřeba zabezpečení dat. Obvyklá strategie, která odděleně řeší důvěrnost a autenticitu informací, se v určitých scénářích, jako je Internet věcí (IoT), může ukázat jako nedostatečná. Ve světě IoT, kde tisíce velmi omezených zařízení komunikují s výkonnými servery, je ochrana integrity dat zásadní. Šifrování, které zároveň zajišťuje důvěrnost i autenticitu, je dnes považováno za klíčové pro bezpečnost. Tento přístup je realizován prostřednictvím autentifikovaných šifrovacích schémat (AE), která umožňují oba tyto procesy provádět současně.

Autentifikovaná šifrování (AE) spojuje šifrování a autentizaci do jednoho kroku. Pokud pasivní útočník není schopen zjistit obsah šifrovaného textu, říkáme, že šifrovací schéma zajišťuje ochranu soukromí (privacy). Pokud aktivní útočník není schopen úspěšně falšovat šifrovaný text, nonce a tag, pak je zajištěna autenticita. To jsou základní principy, na kterých AE schémata stojí. Tyto šifrovací metody jsou postaveny na kryptografických primitivech, jejichž bezpečnost se spolehlivě prokázala. Na bezpečnosti AE schémat závisí především na kvalitě použitých kryptografických bloků a funkcí, což je rozdíl od blokových šifer, jejichž bezpečnost je teoreticky prokázána.

V poslední dekádě bylo navrženo mnoho robustních AE návrhů založených na proudových šifrách, blokových šifrách nebo houbových funkcích. Mezi finalistami soutěže NIST o lehkou kryptografii se objevily například TinyJambu a Elephant, přičemž obě tato schémata byla nedávno označena za zranitelná vůči tzv. chybným útokům. V soutěži CAESAR, která se zaměřuje na šifrování s autentifikací, byla také mezi finalisty ACORN v3, což je proudová šifra, která byla zasažena podobnými bezpečnostními problémy.

Útoky tohoto typu, známé jako útoky na základě chyb (fault attacks), představují vážnou hrozbu. Jsou to útoky, při kterých útočník manipuluje s fyzickými zařízeními, aby vyvolal chybové stavy, jež mohou odhalit tajný klíč kryptografického algoritmu. Nejčastěji se jedná o zneužití tzv. diferenčních chybových útoků (DFA), kdy útočník manipuluje s bitovými hodnotami během provádění šifrovacího algoritmu a analyzuje vzniklé změny.

Za účelem posílení odolnosti proti těmto útokům byly navrženy metody využívající buněčné automaty (CA), konkrétně programovatelné buněčné automaty (PCA), které mohou zlepšit odolnost šifrovacích algoritmů proti těmto chybným útokům. PCA jsou schopna generovat pseudonáhodné sekvence, které mohou sloužit jako základ pro zajištění větší komplexnosti a bezpečnosti. Tyto vlastnosti byly využity k vylepšení algoritmů jako ACORN, Elephant a TinyJambu.

Podrobněji o těchto šifrovacích algoritmech: ACORN v3 používá 128bitový klíč a 128bitový inicializační vektor, přičemž velikost jeho stavu je 293 bitů, což je zabezpečeno pomocí šesti registrů se zpětnou vazbou (LFSR). I když je ACORN v3 považován za efektivní pro použití v prostředích s omezenými prostředky, je vystaven zranitelnostem, které mohou být využity právě pomocí chybových útoků.

Podobně TinyJambu, který je finalistou soutěže NIST o lehkou kryptografii, a Elephant, jež byl nedávno podroben optimalizovanému útoku na interpolaci, vykazují slabiny v bezpečnosti. Tyto algoritmy se ukázaly být citlivé na chyby, což vede k jejich zranitelnosti vůči DFA. Přestože byly navrženy s cílem zajistit rychlé a efektivní šifrování pro prostředí s omezenými zdroji, je zřejmé, že pro ochranu proti útokům je nezbytné je vylepšit.

Metody posílení těchto šifrovacích schémat prostřednictvím buněčných automatů prokázaly značnou účinnost. PCA 90–150 byla nasazena k ochraně těchto algoritmů proti chybovým útokům, což vedlo k výraznému zlepšení bezpečnosti. Analýza ukázala, že tyto vylepšené šifrovací schémata jsou daleko odolnější vůči chybovým útokům, než jejich původní verze.

Další důležitou oblastí je ochrana proti konkrétním typům chybových analýz, jako je statistický neúčinný útok na chyby (SIFA) a analýza podmnožinových chyb (SSFA), které byly identifikovány u některých šifrovacích schémat jako ASCON a GIMLI. I když ASCON a GIMLI patří mezi finalistky soutěže NIST o lehkou kryptografii, jejich zranitelnost vůči těmto útokům ukazuje potřebu vylepšení. Využití principů buněčných automatů ve vylepšených verzích těchto algoritmů umožňuje eliminovat zranitelnosti, které by mohly být využity útočníky.

Je třeba si uvědomit, že i když jsou tyto nové metody účinné, bezpečnostní analýzy by měly pokračovat, aby se zajistilo, že šifrovací algoritmy budou i nadále odolné vůči novým typům útoků. Bezpečnostní testování a zátěžové testy pro pokrytí široké škály scénářů, včetně těch, které zahrnují chybové útoky, jsou nezbytné pro zajištění dlouhodobé efektivity a spolehlivosti šifrovacích schémat v reálných aplikacích.