Evoluce kryptograficky spolehlivých booleovských funkcí

but.committeeprof. Dr. Ing. Jan Černocký (předseda) doc. Ing. Jan Hajný, Ph.D. (člen) prof. RNDr. Ing. Martin Holeňa, CSc. (člen) prof. RNDr. Václav Matyáš, M.Sc., Ph.D. (člen) prof. Ing. Pavol Zajac, Ph.D. (člen)cs
but.defenceThe student presented the goals and results, which he achieved within the solution of the dissertation. The student has competently answered the questions of the committee members and reviewer. The discussion is recorded on the discussion sheets, which are attached to the protocol. Number of discussion sheets: 4 The committee recommends awarding the thesis the deans prize.cs
but.jazykangličtina (English)
but.programVýpočetní technika a informatikacs
but.resultpráce byla úspěšně obhájenacs
dc.contributor.advisorSekanina, Lukášen
dc.contributor.authorHusa, Jakuben
dc.contributor.refereeZajac,, Pavolen
dc.contributor.refereeJakobović,, Domagojen
dc.date.accessioned2024-12-10T14:03:20Z
dc.date.available2024-12-10T14:03:20Z
dc.date.createdcs
dc.description.abstractJednou z vlastností, vyžadovaných ve všech moderních digitálních systémech, je kryptografická bezpečnost. Tato bezpečnost je zajišťována různými typy šifer, které musí být důmyslně sestaveny ze stavebních bloků, známých jako kryptografická primitiva. Jedním z těchto primitiv jsou kryptograficky spolehlivé booleovské funkce. Funkce s dobrými, nebo dokonce optimálními, kryptografickými vlastnostmi jsou velmi vzácné, a protože vyhodnocování těchto vlastností je časově náročné, je extrémně obtížné tyto funkce najít. Dále, protože jsou objevovány stále nové typy kryptografických útoků, a protože výpočetní výkon moderních počítačů se neustále zvyšuje, nestačí objevovat jen nové konkrétní funkce. Místo toho je nutné vyvíjet nové, účinnější metody jejich návrhu, schopné generovat stálý přísun nových, jedinečných funkcí. V ideálním případě způsobem, který je rychlý, levný, efektivní, a který se neomezuje na funkce z nějaké malé podmnožiny všech možných kryptografických funkcí s danými vlastnostmi. Tato práce se zaměřuje na jeden ze dvou hlavních způsobů návrhu booleovských funkcí, obecně na heuristické vyhledávání pomocí evolučních algoritmů a konkrétně na genetické programování. Nejprve ukazuje, že tuto úlohu je možné snadno paralelizovat na více procesorech pomocí ostrovního modelu i modelu zaměstnavatel-pracovník. Dále zkoumá několik variant genetického programování (stromové, kartézské a lineární), aby ukázala, že jsou pro řešení této úlohy vhodnější než ostatní typy evolučních algoritmů, a že všechny tři tyto varianty jsou konkurenceschopné. Žádná z nich není striktně lepší než ostatní a její ideální výběr závisí na tom, jaká konkrétní podmnožina kryptografických vlastností je od navrhované funkce vyžadována. Pro ověření správnosti těchto závěrů byl proveden návrh několika typů jedno-výstupových kryptograficky spolehlivých booleovských funkcí, s využitím v proudových šifrách, a maskovacích funkcí, poskytujících ochranu proti útokům postranními kanály. Závěrem práce také ukazuje, že evoluční návrh booleovských funkcí lze zkombinovat s metodami z druhého hlavního způsobu jejich návrhu, známými jako algebraické konstrukce. Za tímto účelem byl navržen nový, sémantický genetický operátor mutace pro návrh jednoho konkrétního typu booleovských funkcí, známých jako ohnuté funkce, který vedl k masivnímu zlepšení efektivity jejich návrhu.en
dc.description.abstractCryptographic security is a property required in all modern-day digital systems. This security is provided by various types of ciphers, which need to be thoughtfully constructed from building blocks known as cryptographic primitives, one of which are the cryptographically sound Boolean functions. Functions with good or even ideal cryptographic properties are extremely rare, and evaluating their properties is a time-consuming process. This makes them extremely difficult to find. Furthermore, as new types of cryptographic attacks are discovered, and as the processing power of modern computers steadily increases, it is not enough to discover new individual functions. Instead, it is necessary to develop new and more efficient design methods, capable of generating a steady supply of new and unique functions. Ideally, in a way that is quick, cheap, efficient, and not constrained to any small subset of all possible Boolean functions with the desired cryptographic properties. This thesis focuses on one of two main approaches to designing Boolean functions a heuristic search via evolutionary algorithms, in general, and genetic programming, in particular. First, it shows that the task can be easily parallelized on multiple processors, via an island or employer-worker model. Next, it examines multiple variants of genetic programming (tree-based, Cartesian, and linear), to show that they are more suitable for this task than other types of evolutionary algorithms and that all three of these variants are competitive. None of them is strictly better than the others, and the ideal choice depends on the specific subset of required properties. To verify these observations we design multiple types of single-output cryptographically sound Boolean functions, usable in stream ciphers, and masking functions useful for defense against side-channel attacks. Lastly, the thesis shows that the evolutionary design of Boolean functions can be combined with the other main design approach, known as algebraic construction. To do this, we propose a new semantic genetic mutation operator for the design of one specific type of Boolean functions, known as bent functions, which resulted in a massive improvement in the efficiency of the design process.cs
dc.description.markPcs
dc.identifier.citationHUSA, J. Evoluce kryptograficky spolehlivých booleovských funkcí [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. .cs
dc.identifier.other161904cs
dc.identifier.urihttps://hdl.handle.net/11012/249782
dc.language.isoencs
dc.publisherVysoké učení technické v Brně. Fakulta informačních technologiícs
dc.rightsStandardní licenční smlouva - přístup k plnému textu bez omezenícs
dc.subjectEvoluční algoritmyen
dc.subjectgenetické programováníen
dc.subjectbooleovské funkceen
dc.subjectkryptografieen
dc.subjectautomatizovaný návrh.en
dc.subjectEvolutionary algorithmscs
dc.subjectgenetic programmingcs
dc.subjectBoolean functionscs
dc.subjectcryptographycs
dc.subjectautomated design.cs
dc.titleEvoluce kryptograficky spolehlivých booleovských funkcíen
dc.title.alternativeEvolution of cryptographically sound Boolean functionscs
dc.typeTextcs
dc.type.driverdoctoralThesisen
dc.type.evskpdizertační prácecs
dcterms.modified2024-11-04-10:54:36cs
eprints.affiliatedInstitution.facultyFakulta informačních technologiícs
sync.item.dbid161904en
sync.item.dbtypeZPen
sync.item.insts2024.12.10 15:03:20en
sync.item.modts2024.11.05 05:32:03en
thesis.disciplineVýpočetní technika a informatikacs
thesis.grantorVysoké učení technické v Brně. Fakulta informačních technologií. Ústav počítačových systémůcs
thesis.levelDoktorskýcs
thesis.namePh.D.cs
Files
Original bundle
Now showing 1 - 5 of 6
Loading...
Thumbnail Image
Name:
final-thesis.pdf
Size:
5.27 MB
Format:
Adobe Portable Document Format
Description:
file final-thesis.pdf
Loading...
Thumbnail Image
Name:
appendix-1.zip
Size:
11.05 MB
Format:
Unknown data format
Description:
file appendix-1.zip
Loading...
Thumbnail Image
Name:
Posudek-Vedouci prace-Posudek_vedouciho_dizertacni_prace_238f63bd6fedd0ec0ef24bec1be28978.pdf
Size:
1.22 MB
Format:
Adobe Portable Document Format
Description:
file Posudek-Vedouci prace-Posudek_vedouciho_dizertacni_prace_238f63bd6fedd0ec0ef24bec1be28978.pdf
Loading...
Thumbnail Image
Name:
Posudek-Oponent prace-SKM_C224e24091712231_anonyn.pdf
Size:
614.38 KB
Format:
Adobe Portable Document Format
Description:
file Posudek-Oponent prace-SKM_C224e24091712231_anonyn.pdf
Loading...
Thumbnail Image
Name:
Posudek-Oponent prace-PHD_thesis_review_final_Jakobovic_anon.pdf
Size:
178.16 KB
Format:
Adobe Portable Document Format
Description:
file Posudek-Oponent prace-PHD_thesis_review_final_Jakobovic_anon.pdf
Collections