Χρήση γενετικών αλγορίθμων για παραγωγή κρυπτογραφικών συναρτήσεων
Abstract
Η ασφάλεια των κρυπτογραφικών συμμετρικών αλγορίθμων έγκειται, κατά τον μεγαλύτερο βαθμό στην εκάστοτε χρησιμοποιούμενη λογική συνάρτηση. Παρά τις πολλές γνωστές κατασκευές Boolean functions με αποδεδειγμένες καλές ιδιότητες, η δημιουργία μιας Boolean function που να επιτυγχάνει ταυτόχρονα όλες τις απαιτούμενες κρυπτογραφικές ιδιότητες παραμένει μια πρόκληση. Στην παρούσα διπλωματική διατριβή εξετάζεται η αναζήτηση/κατασκευή λογικών κρυπτογραφικών συναρτήσεων που να παρουσιάζουν, ταυτόχρονα, όσο αυτό είναι δυνατόν, καλά κρυπτογραφικά χαρακτηριστικά (αλγεβρικός βαθμός, αν η συνάρτηση είναι ισορροπημένη, ανθεκτικότητα σε αλγεβρικές επιθέσεις και μη γραμμικότητα). Δεδομένης και της ανόδου της τεχνητής νοημοσύνης τα τελευταία χρόνια, επιχειρείται ένας συνδυασμός των δύο επιστημών. Για αυτόν τον σκοπό, δημιουργήθηκε ένας γενετικός αλγόριθμος για αναζήτηση τέτοιων συναρτήσεων. Ο αλγόριθμος δημιουργήθηκε εξ΄ αρχής.
Η χρήση γενετικού αλγορίθμου για την αναζήτηση λογικών συναρτήσεων δεν είναι κάτι νέο. Η καινοτομία και η διαφορά από παρόμοιες προσπάθειες, έγκειται στην χρήση γνωστών κατηγοριών συναρτήσεων (Carlet-Feng και bent) με ήδη καλά χαρακτηριστικά, συνδυαστικά με τυχαίες συναρτήσεις.
Ο αλγόριθμος εκτελεί τρεις διαφορετικές μεθοδολογίες αναζήτησης. Μία έχοντας αποκλειστικά τυχαίες συναρτήσεις ως αρχικό πληθυσμό, μία έχοντας τυχαίες συναρτήσεις με Carlet-Feng και συναρτήσεων που παράγονται από αυτήν μέσω bit swapping της αρχικής, καθώς και μία όπου ο αρχικός πληθυσμός αποτελείται από συναρτήσεις bent και Carlet-Feng συναρτήσεις μαζί με τις παραγόμενες από το bit swapping.
Οι τελικές παραγόμενες συναρτήσεις βρίσκονται αρκετά κοντά στις αρχικές συναρτήσεις Carlet-Feng, όσον αφορά τα χαρακτηριστικά τους. Μάλιστα, για την περίπτωση της αναζήτησης με Carlet-Feng και τις παράγωγες συναρτήσεις τους συνδυαστικά με τυχαίες συναρτήσεις και αριθμό μεταβλητών n=8, ο αλγόριθμος επιτυγχάνει την ίδια μη γραμμικότητα με την Carlet-Feng συνάρτηση. Συνολικά, η μεθοδολογία που χρησιμοποιεί τυχαίες συναρτήσεις συνδυαστικά με Carlet-Feng και παραγόμενες από αυτές συναρτήσεις, έχει καλύτερη επίδοση από τις άλλες μεθοδολογίες, ενώ η μεθοδολογία συναρτήσεων bent με Carlet-Feng και τις παράγωγες δεν παρουσιάζει βελτίωση.