Naslov Kriptiranje komunikacije uz pomoć evolucijskih algoritama
Naslov (engleski) Encrypting communication with evolutionary algorithms
Autor Dorotea Protrka
Mentor Domagoj Jakobović (mentor)
Član povjerenstva Domagoj Jakobović (predsjednik povjerenstva)
Član povjerenstva Marko Đurasević (član povjerenstva)
Član povjerenstva Domagoj Alagić (član povjerenstva)
Ustanova koja je dodijelila akademski / stručni stupanj Sveučilište u Zagrebu Fakultet elektrotehnike i računarstva Zagreb
Datum i država obrane 2018-07-13, Hrvatska
Znanstveno / umjetničko područje, polje i grana TEHNIČKE ZNANOSTI Računarstvo
Sažetak Kriptografija je grana koja u računarstvu danas ima veliku ulogu: očuvanje sigur-
nosti. Cilj je kriptografije onemogućiti napadačima komunikacije da pročitaju poruke
koje idu komunikacijskim kanalom. To se radi uz pomoć posebnih algoritama kripti-
ranja koji obične podatke tj. otvoreni tekst pretvaraju u kriptirane, nečitljive podatke.
Kroz ovaj rad pokušala sam kriptografiju povezati sa evolucijskim algoritmom: genet-
skim programiranjem. Ono je jedan od algoritama koje po uzoru na odnose iz prirode
traži rješenje zadanog problema. U ovom kontekstu problem je bio izraditi algoritam
kriptiranja uz pomoć strukture stabla. Primitivi koji izgrad̄uju stablo inspirirani su
nekim već postojećim algoritmima kriptiranja. Oni odred̄uju korake kriptiranja. Uz
pomoć evolucije i evolucijskih operatora, genetskim programiranjem iz iteracije u ite-
raciju tražimo bolja i bolja rješenja.
Traženje algoritma kriptiranja ostvareno je na temelju suparničkog učenja sudionika
komunikacije. Sudionicima koji med̄usobno komuniciraju komunikacijskim kanalom
cilj je održati svoju komunikaciju tajnom, tj. nerazumljivom i nemogućom za de-
kripciju sudioniku koja nema ključ. S druge strane, napadač je sudionik koji sluša tu
komunikaciju i ima za cilj dešifrirati ju. Razlika u odnosu na legitimne sudionike je ta
što napadač nema ključ komunikacije. Zbog toga su definirane funkcije dobrote za rje-
šenja sudionika tako da u slučaju da napadač jednostavno dekriptira poruku, sudionik
koji ju je kriptirao ima umanjenu dobrotu i obrnuto. Sudioniku koji enkriptira takod̄er
je bitno da onaj sudionik kojem šalje poruku može dekriptirati tu poruku. Zbog toga
su njihove dobrote u pozitivnoj korelaciji. Na kraju, rezultati su pokazali da je neke
parametre komunikacije moguće optimirati da bi se dobila bolja komunikacija. To su
prije svega skupovi primitiva koji se koriste pri izgradnji algoritma te duljina teksta.
Sažetak (engleski) Cryptography is a branch that plays a major role in modern computing - preser-
ving security. The goal of cryptography is to prevent attackers from reading messages
traversing a communication channel. This is achieved using special cryptographic al-
gorithms that convert exposed data into encrypted, unreadable data.
In this paper I will attempt to make a link between cryptography and evolutionary
algorithms using genetic programming. Evolutionary algorithms are a subset of algo-
rithms that use relationships found in nature in order to generate a solution to a given
problem. In this context, the task was creating an encryption algorithm using a tree
structure. The primitives that make up the tree are inspired by hitherto known encryp-
tion algorithms as they determine the encryption steps. With the help of evolution and
evolutionary operators, genetic programming with each iteration searches for more su-
perior solutions.
The search for an encryption algorithm was based on adversarial machine learning of
the participants in the communication process. For those participants the goal is to
keep the communication secret, ie. incomprehensible and impossible to decrypt for a
participant without a key. On the other hand, an attacker is a participant who listens to
that communication and aims to decrypt it. The thing that differs them from legitimate
participants is that that the attacker doesn’t have a key. Therefore, we define functions
of goodness for a participant’s solution so that in case an attacker simply decrypts the
message, the participant who encrypted it has a diminished goodness and vice versa.
It is also important to the sender who encrypts the data that the participant to whom
the message is sent can decrypt it. Consequently, their goodnesses are in positive cor-
relation. In the end, the results showed that there are some communication parameters
that can be optimized to better the communication. Those are, primarily, the primitive
sets used in constructing the algorithm and the text length.
Ključne riječi
genetsko programiranje
kriptografija
kodiranje
dekodiranje
simetrični ključ
napadač
suparničko učenje
Ključne riječi (engleski)
genetic programming
cryptography
encryption
decryption
symmetric key
attacker
adversarial learning
Jezik hrvatski
URN:NBN urn:nbn:hr:168:450169
Studijski program Naziv: Računarstvo Vrsta studija: sveučilišni Stupanj studija: preddiplomski Akademski / stručni naziv: sveučilišni/a prvostupnik/ prvostupnica (baccalaureus/baccalaurea) inženjer/inženjerka računarstva (univ.bacc.ing.comp.)
Vrsta resursa Tekst
Način izrade datoteke Izvorno digitalna
Prava pristupa Zatvoreni pristup
Uvjeti korištenja
Javna napomena
Datum i vrijeme pohrane 2019-03-14 00:13:58