ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο Οι Αλγόριθμοι Κρυπτογραφίας και οι Ιδιότητές τους Διδάσκων : Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής e-mail: pkitsos@teimes.gr, pkitsos@ieee.org Αντίρριο 2018
ΠΕΡΙΕΧΟΜΕΝΑ Αρχές Μέτρησης Κρυπτογραφικής Δύναμης Επιθέσεις σε ένα κρυπτοσύστημα Τα μέτρα του Shannon Μοντέλα αξιολόγησης ασφάλειας Κρυπταλγόριθμοι Ροής και Τμήματος Κατηγορίες Κρυπτογραφικών Πράξεων
ΠΕΡΙΣΣΕΙΑ ΓΛΩΣΣΑΣ Ο απόλυτος ρυθμός (Absolute rate) μιας γλώσσας ονομάζεται η ποσότητα όπου n είναι το πλήθος των γραμμάτων του αλφαβήτου. Το ελληνικό αλφάβητο αποτελείται από 24 γράμματα. Ο ελάχιστος αριθμός των bits που απαιτούνται για να αναπαραστήσουμε τα 24 γράμματα είναι Ο αριθμός μηνυμάτων μήκους m γραμμάτων είναι 2 Am Ο αριθμός των έγκυρων μηνυμάτων ( R ) μήκους m γραμμάτων είναι 2 Rm Ως Περίσσεια (Redundancy) μιας γλώσσας εννοούμε το ποσοστό των συνδυασμών των γραμμάτων της γλώσσας αυτής που δεν οδηγούν σε μηνύματα τα οποία ανήκουν στη γλώσσα αυτή. Σε bits είναι ίση με D=A-R.
UNICITY DISTANCE Unicity Distance ονομάζεται η ποσότητα του κρυπτοκειμένου που απαιτείται για την ανάκτηση του απλού κειμένου. Θα πρέπει να θυμόμαστε ότι όσο μικρότερη είναι η περίσσεια της γλώσσας τόσο περισσότερο κρυπτοκείμενο απαιτείται για να εντοπιστεί το κλειδί
ΜΟΝΤΕΛΑ ΑΞΙΟΛΟΓΗΣΗΣ ΑΣΦΑΛΕΙΑΣ Ασφάλεια άνευ όρων (Unconditionally secure): Ένα σύστημα είναι άνευ όρων είναι ασφαλές όταν το κρυπτοκείμενο δεν δίνει καμιά πληροφορία στον αντίπαλο σχετικά με το απλό κείμενο. Υπολογιστική ασφάλεια (Computationally secure): Ένα κρυπτοσύστημα είναι υπολογιστικά ασφαλές όταν προκειμένου να το παραβιάσει ο αντίπαλος απαιτείται υπολογιστική ισχύ πέραν των δυνατοτήτων του. Χρησιμοποιεί την εξαντλητική αναζήτηση (Exhaustive search) όπου ο αντίπαλος δοκιμάζει ένα προς ένα τα κλειδιά έως ότου ανακαλύψει το σωστό. Ο αναμενόμενος χρόνος ανακάλυψης του σωστού κλειδιού είναι ανάλογος του μισού του συνολικού αριθμού του κλειδιού. Ασφάλεια θεωρητικής πολυπλοκότητας (Complexity theoretic): Θεωρείται ότι ο αντίπαλος μπορεί να πραγματοποιήσει επίθεση στο κρυπτοσύστημα η οποία απαιτεί πολυωνυμική υπολογιστική ισχύ. Δηλαδή, οι παράμετροι ασφάλειας του κρυπτοσυστήματος μπορούν να εκφραστούν πολυωνυμικά ως προς το χρόνο και το χώρο. Αποδείξιμη ασφάλεια (Provable security): Ένα κρυπτοσύστημα είναι αποδείξιμα ασφαλές όταν μπορούμε να αποδείξουμε ότι η ασφάλεια του είναι ισοδύναμη κάποιου γνωστού και καλά μελετημένου προβλήματος που θεωρείται «δύσκολο».
ΕΠΙΘΕΣΕΙΣ ΣΕ ΕΝΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑ (1/6) Επίθεση στο κρυπτοκείμενο (Ciphertextonly attack): Ο αντίπαλος έχει πρόσβαση μόνο σε ορισμένα τμήματα του κρυπτοκειμένου και ο σκοπός του είναι να αποκρυπτογραφήσει το κρυπτοκείμενο αυτό, ή να ανακαλύψει το αντίστοιχο κλειδί
ΕΠΙΘΕΣΕΙΣ ΣΕ ΕΝΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑ (2/6) Επίθεση με γνωστό απλό κείμενο (Known-plaintext attack): Ο αντίπαλος γνωρίζει αντιστοιχίες κρυπτοκειμένου με απλό κείμενο και ο σκοπός του είναι η ανακάλυψη του αντίστοιχου κλειδιού
ΕΠΙΘΕΣΕΙΣ ΣΕ ΕΝΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑ (3/6) Επίθεση με επιλεγμένο απλό κείμενο (Chosen-plaintext attack): Ο αντίπαλος έχει τη δυνατότητα πρόσβασης στο κρυπτοσύστημα όπου δεν γνωρίζει το κλειδί και μπορεί να ζητά την κρυπτογράφηση μηνυμάτων. Με αυτό τον τρόπο μπορεί να ανακαλύψει την αντιστοιχία του απλού κειμένου με το άγνωστο κρυπτοκείμενο
ΕΠΙΘΕΣΕΙΣ ΣΕ ΕΝΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑ (4/6) Επίθεση προσαρμόσιμου επιλεγμένου απλού κειμένου (Adaptive chosen-plaintext attack): Ο αντίπαλος πραγματοποιεί επίθεση με επιλεγμένο απλό κείμενο. Επιπλέον εφαρμόζει μεθοδολογία σύμφωνα με την οποία η επόμενη επιλογή του απλού κειμένου εξαρτάται από τις προηγούμενες, προκειμένου να ανακαλύψει γρηγορότερα το κλειδί από μια εξαντλητική αναζήτηση (Exhaustive search)
ΕΠΙΘΕΣΕΙΣ ΣΕ ΕΝΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑ (5/6) Επίθεση με επιλεγμένο κρυπτοκείμενο (Chosen-ciphertext attack): Ο αντίπαλος έχει πρόσβαση στον αλγόριθμο αποκρυπτογράφησης. Ο σκοπός του είναι να ανακαλύψει το κλειδί αποκρυπτογράφησης ώστε στο μέλλον να αποκρυπτογραφεί τα νέα κρυπτοκείμενα όταν δεν θα έχει πρόσβαση στον αλγόριθμο αποκρυπτογράφησης
ΕΠΙΘΕΣΕΙΣ ΣΕ ΕΝΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑ (6/6) Επίθεση προσαρμόσιμου επιλεγμένου κρυπτοκειμένου (Adaptive chosenciphertext attack): Η επίθεση αυτή είναι αντίστοιχη του προσαρμόσιμου επιλεγμένου απλού κειμένου με την διαφορά ότι ο αντίπαλος έχει πρόσβαση στον αλγόριθμο αποκρυπτογράφησης
ΕΞΑΝΤΛΗΤΙΚΗ ΑΝΑΖΗΤΗΣΗ
ΣΥΓΧΥΧΗ και ΔΙΑΧΥΣΗ Σύγχυση (Confusion) είναι η ικανότητα του αλγορίθμου κρυπτογράφησης όπου ο αντίπαλος δεν είναι σε θέση να προβλέψει ποιες μεταβολές θα συμβούν στο κρυπτοκείμενο, δεδομένης μιας μεταβολής στο απλό κείμενο Δηλαδή ένας αλγόριθμος έχει υψηλή σύγχυση όταν οι σχέσεις μεταξύ του απλού κειμένου και του κρυπτοκειμένου είναι αρκετά πολύπλοκες, ώστε να χρειάζεται ο αντίπαλος να ξοδέψει σημαντικό χρόνο προκειμένου να τις προσδιορίσει Διάχυση (Diffusion) είναι η ικανότητα του αλγορίθμου κρυπτογράφησης όπου ένα τμήμα του απλού κειμένου έχει την ευκαιρία να επηρεάζει όσο το δυνατόν περισσότερα τμήματα του κρυπτοκειμένου Ένας αλγόριθμος έχει υψηλή διάχυση όταν ένα στοιχειώδεις τμήμα του απλού κειμένου έχει την δυνατότητα να επηρεάσει όλα τα τμήματα του κρυπτοκειμένου, ανεξάρτητα της τοποθεσίας του τμήματος αυτού στο απλό κείμενο
ΟΡΟΛΟΓΙΑ Έστω F είναι το σύνολο των συμβόλων που απαρτίζουν το απλό κείμενο P, δηλαδή P=[p 1 p 2...] όπου p i F για i=1, 2,...Όμοια έστω G το σύνολο των συμβόλων που απαρτίζουν το κτυπτοκείμενο C, όπου C=[c 1 c 2...], με c i G για i=1, 2,... Τότε το σύνολο όλων των δυνατών απλών κειμένων ονομάζεται χώρος των απλών κειμένων και συμβολίζεται με F* ενώ το σύνολο όλων των δυνατών κρυπτοκειμένων ονομάζεται χώρος των κρυπτοκειμένων και συμβολίζεται με G*. Κατά αντιστοιχία ορίζουμε σαν F n το σύνολο των απλών κειμένων μήκους n, και σαν G m το σύνολο των κρυπτοκειμένων μήκους m.
ΚΡΥΠΤΑΛΓΟΡΙΘΜΟΙ ΡΟΗΣ Απλό Κείμενο Κλειδί Γεννήτρια κλειδοροής k 1 k 2 k 3... Κρυπτοκείμενο p 1 p 2 p 3... c 1 c 2 c 3... Κλειδί Γεννήτρια κλειδοροής k 1 k 2 k 3... p 1 p 2 p 3... Απλό Κείμενο Οι κρυπταλγόριθμοι ροής (stream ciphers) ενεργούν σε ένα σύμβολο (bit) απλού κειμένου Βασικό συστατικό του κρυπταλγορίθμου ροής είναι η γεννήτρια της κλειδοροής Η κλειδοροή (keystream) είναι μια περιοδική ακολουθία κλειδιών Η γεννήτρια κλειδοροής θα πρέπει να παράγει την ίδια ακολουθία σε δύο διαφορετικές τοποθεσίες την ίδια χρονική στιγμή
ΒΑΣΙΣΜΕΝΟΙ ΣΕ LFSRs (Ι) Γεννήτρια Geffe Το κλειδί της γεννήτριας αποτελείται από τα τρία επιμέρους κλειδιά των LFSRs LFSR-1 LFSR-2 Πολυπλέκτης 2 σε 1 Κλειδοροή k(t) LFSR-3
ΒΑΣΙΣΜΕΝΟΙ ΣΕ LFSRs (ΙΙ) Γεννήτρια εναλλασσόμενου βήματος C(t) LFSR-1 Κλειδοροή k(t) LFSR-c LFSR-2
ΠΛΕΟΝΕΚΤΗΜΑΤΑ ΜΕΙΟΝΕΚΤΗΜΑΤΑ Πλεονέκτημα: Μεγάλη ταχύτητα κρυπτογράφησης. Το κάθε σύμβολο του απλού κειμένου δεν εξαρτάται από τα υπόλοιπα και μπορεί όταν κρυπτογραφηθεί και να σταλεί την στιγμή που θα εισαχθεί στο κρυπτοσύστημα Μειονέκτημα: Ο συγχρονισμός των δύο γεννητριών κλειδοροής. Ένας αντίπαλος μπορεί να αποσυγχρονίσει το κρυπτοσύστημα παρεμβάλλοντας επιπλέον σύμβολα στο κρυπτοκείμενο, οπότε η αποκρυπτογράφηση θα οδηγεί σε απλό κείμενο διαφορετικό από το αρχικό
O RC4 ΑΛΓΟΡΙΘΜΟΣ ΡΟΗΣ Αποτελείται από δύο πίνακες, τον S[0,1,.., 255] και τον T[0,1,.., 255] Κάθε στοιχείο των πινάκων είναι 1 byte Γίνεται η αρχικοποίηση S[i]=i για 0<=i<=255 και T[i]=K[i mod k] για 0<=i<=255 με K[j] το j-οστο byte του κλειδιού και k το μέγεθος του κλειδιού Αντιμετάθεση των στοιχείων του πίνακα S με τον πίνακα του κλειδιού Τ j 0: αρχική τιμή j j+s[i]+t[i] mod 256 και S[i] S[j] για 0<=i<=255
O RC4 ΑΛΓΟΡΙΘΜΟΣ ΡΟΗΣ H κλειδοροή παράγεται από την παρακάτω διαδικασία ς φορ θεση αντιµετ έ n t S k j S i S t j S i S ά i S j j i i j i = + + + ] [ ]mod 256 [ ] [ ] [ ] [ : ]mod 256 [ 1mod 256 0 0,
ΚΡΥΠΤΑΛΓΟΡΙΘΜΟΙ ΤΜΗΜΑΤΟΣ Απλό Κείμενο Κρυπτοκείμενο m m Κλειδί n Aλγόριθμος Τμήματος Κλειδί n Aλγόριθμος Τμήματος m m Κρυπτοκείμενο Απλό Κείμενο Οι κρυπταλγόριθμοι τμήματος (block ciphers) ενεργούν σε μια ομάδα συμβόλων απλού κειμένου και παράγουν μια ομάδα συμβόλων κρυπτοκειμένου. Το απλό κείμενο έχει συνήθως αρκετά μεγάλο μήκος, χωρίζεται σε τμήματα όπου το κάθε τμήμα είναι η ομάδα που θα διοχετευθεί στον αλγόριθμο κρυπτογράφησης Το μήκος του τμήματος είναι σταθερό και συγκεκριμένο (m). Οπότε υπάρχει το ενδεχόμενο το τελευταίο τμήμα του απλού κειμένου να συμπληρωθεί από μηδενικά ώστε να έχει το απαιτούμενο μήκος
ΠΛΕΟΝΕΚΤΗΜΑΤΑ ΜΕΙΟΝΕΚΤΗΜΑΤΑ Πλεονέκτημα: Έχουν υψηλή διάχυση λόγω του ομαδικού χειρισμού των συμβόλων του απλού κειμένου κατά την κρυπτογράφηση Ο αντίπαλος δεν μπορεί να παρεμβάλει επιπλέον σύμβολα στο κρυπτοκείμενο Μειονέκτημα: Πολύπλοκη η υλοποίησή τους.
ΜΕΓΙΣΤΗ ΔΙΑΧΥΣΗ και ΣΥΓΧΥΣΗ ΚΡΥΠΤΑΛΓΟΡΙΘΜΟΥ ΤΜΗΜΑΤΟΣ Έστω το κρυπτοσύστημα F (n) G (n) με F=G={0, 1} με κλειδοχώρο Κ και Ε, D που ορίζονται από κρυπταλγόριθμο τμήματος μήκους n-bit. Έστω P=[p 1 p 2...p n ] το τμήμα του απλού κειμένου και C=[c 1 c 2...c n ] το αντίστοιχο τμήμα του κρυπτοκειμένου. Για να υπάρχει μέγιστη διάχυση θα πρέπει να υπάρχει σχέση μεταξύ του κάθε συμβόλου του απλού κειμένου με όλα τα σύμβολα του κρυπτοκειμένου για οποιαδήποτε κλειδί. Για να υπάρχει μέγιστη σύγχυση θα πρέπει η πιθανότητα αντιστροφής ενός συμβόλου του κρυπτοκειμένου c i να είναι 0,5 εφόσον υπάρξει αντιστροφή του συμβόλου p j για όλα τα i, j.
ΚΡΥΠΤΑΛΓΟΡΙΘΜΟΙ ΡΟΗΣ με ΧΡΗΣΗ ΚΡΥΠΤΑΛΓΟΡΙΘΜΩΝ ΤΜΗΜΑΤΟΣ (1/2) Κλειδί Aλγόριθμος Τμήματος c 1 c 2 c 3... Επιλογή συμβόλου c i Απλό Κείμενο Κρυπτοκείμενο Εκμεταλλευόμαστε την υψηλή διάχυση και σύγχυση των κρυπταλγορίθμων τμήματος Κρυπτογράφηση ενός αρχικού απλού κειμένου, π.χ το [000...0]. Ανατροφοδότηση του κρυπτοκειμένου σαν απλό κείμενο Επιλογή του π.χ. πρώτου συμβόλου του κρυπτοκειμένου
ΚΡΥΠΤΑΛΓΟΡΙΘΜΟΙ ΡΟΗΣ με ΧΡΗΣΗ ΚΡΥΠΤΑΛΓΟΡΙΘΜΩΝ ΤΜΗΜΑΤΟΣ (2/2) Καταχωρητής Ολίσθησης n Καταχωρητής Ολίσθησης n Κλειδί Aλγόριθμος Τμήματος Κλειδί Aλγόριθμος Τμήματος c 1 c 2 c 3... c 1 c 2 c 3... Επιλογή συμβόλου c i Επιλογή συμβόλου c i Απλό Κείμενο Κρυπτοκείμενο Απλό Κείμενο Αυτοσυγχρονιζόμενος (Self-synchronizing) αλγόριθμος ροής Στην περίπτωση που υπάρξει κάποιο σφάλμα ή αυθαίρετη εισαγωγή κρυπτοκειμένου κατά την μετάδοση, η διαδικασία αποκρυπτογράφησης θα επανέλθει στη σωστή λειτουργία μετά από n αποκρυπτογραφήσεις από το τελευταίο σφάλμα.
QUIZ Mosquito: Selfsynchronizing stream cipher Moustique: Selfsynchronizing stream cipher
ΚΡΥΠΤΟΓΡΑΦΙΚΕΣ ΠΡΑΞΕΙΣ Αναδιάταξη (Transposition): Επιδρά αποκλειστικά στη θέση των συμβόλων του απλού κειμένου Αντικατάσταση (Substitution): Επιδρά στα σύμβολα του απλού κειμένου Μονοαλφαβητική Αντικατάσταση Πολυαλφαβητική Αντικατάσταση Κωδικοποιητής από n σε 2 n Αποκωδικοποιητής από 2 n σε n
ΑΝΑΔΙΑΤΑΞΗ Στην αναδιάταξη ισχύει F=G, δηλαδή τα σύμβολα του κρυπτοκειμένου είναι ίδια με τα σύμβολα του απλού κειμένου αφού η κρυπτογράφηση αναδιάταξης επιδρά μόνο στις θέσεις των συμβόλων του απλού κειμένου Παράδειγμα: Έστω τα σύνολα του απλού κειμένου και του κρυπτοκειμένου, F=G={α, β, γ, δ, ε, ζ, η, θ, ι, κ, λ, μ, ν, ξ, ο, π, ρ, σ, τ, υ, φ, χ, ψ, ω} Έστω το απλό κείμενο [αλλαγη] Έστω το κλειδί [261453]. Αυτό σημαίνει ότι το πρώτο γράμμα του απλού κειμένου θα εμφανιστεί στη δεύτερη θέση, το δεύτερο γράμμα στη έκτη, κ.ο.κ. Η κρυπτογράφηση του απλού κειμένου θα δώσει [λαηαγλ] Το κρυπτοκείμενο είναι αναγραμματισμός του απλού κειμένου
ΜΟΝΟΑΛΦΑΒΗΤΙΚΗ ΑΝΤΙΚΑΤΑΣΤΑΣΗ Μονοαλφαβητική αντικατάσταση είναι η κρυπτογραφική πράξη e i : F (n) G (m), όπου η e i παραμένει σταθερή σε όλη τη διάρκεια της κρυπτογραφηση ενός απλού κειμένου. Στην περίπτωση που έχουμε F (1) G ονομάζεται απλή αντικατάσταση όπου η κρυπτογραφική πράξη αντιστοιχίζει ένα σύμβολο του απλού κειμένου σε ένα σύμβολο του κρυπτοκειμένου. Κρυπταλγόριθμος μετατόπισης του Καίσαρα (The Shift (Caesar) Cipher) Γραμμικός Κρυπταλγόριθμος (The Affine Cipher)
ΚΡΥΠΤΑΛΓΟΡΙΘΜΟΣ ΜΕΤΑΤΟΠΙΣΗΣ του ΚΑΙΣΑΡΑ Ο κρυπταλγόριθμος μετατόπισης ορίζει το κρυπτοσύστημα F=G=K=Z n και με e k E, d k D, τέτοια ώστε c= e k (p)=p+k mod n και p= d k (c)=c-k mod n, για p F, c G και k K. Στο ελληνικό αλφάβητο έχουμε n=24 με α,α=0, β,β=1,...,ω,ω=23
ΓΡΑΜΜΙΚΟΣ ΚΡΥΠΤΑΛΓΟΡΙΘΜΟΣ Ο γραμμικός κρυπταλγόριθμος ορίζει το κρυπτοσύστημα F=G=K=Z n, Κ={(a, b) Z n xz n : gcd(a, n)=1} και με e k E, d k D, τέτοια ώστε c= e k (p)=ap+b mod n και p= d k (c)=a -1 (c-b) mod n, για p F, c G και k = (α, β) K. Για a=1 ο αλγόριθμος εκφυλίζεται στην περίπτωση του κρυπταλγορίθμου μετατόπισης.
ΠΟΛΥΑΛΦΑΒΗΤΙΚΗ ΑΝΤΙΚΑΤΑΣΤΑΣΗ Πολυαλφαβητική αντικατάσταση είναι η κρυπτογραφική πράξη e i : F (n) G (m), όπου το i παίρνει τουλάχιστον δύο διαφορετικές τιμές κατά την κρυπτογραφηση ενός απλού κειμένου. Σύνολο Αλφαβήτων V (m) Σύνολο Αλφαβήτων W (n) Σύνολο Αλφαβήτων V (m) Σύνολο Αλφαβήτων W (n) p 1 c 1 p 1 c 1 p 2 e k1 c 2 p 2 e k c 2 p 3 e k2 c 3 p 3 c 3.. e k3...... Απλό Κείμενο Κρυπτοκείμενο Απλό Κείμενο Κρυπτοκείμενο Πολυαλφαβητική Αντικατάσταση Μονοαλφαβητική Αντικατάσταση Κρυπταλγόριθμος Vigenere Κρυπταλγόριθμος του Hill
ΚΡΥΠΤΑΛΓΟΡΙΘΜΟΣ VIGENERE Ο κρυπταλγόριθμος Vigerere ορίζει το κρυπτοσύστημα F=G=K=Z n1 και με e k E 1, d k D 1 τέτοια ώστε c=e k (p)=(e k1 (p 1 ), e k2 (p 2 ),..., e kl (p l )) και p=d k (c)=(d k1 (c 1 ), d k2 (c 2 ),..., d kl (d l )) για p F, c G και k=(k 1, k 2,...k l ) K και όπου e k (p)=p+k mod n και d k (p)=p-k mod n Η κρυπτογραφική πράξη e k είναι αυτή του κρυπταλγορίθμου μετάθεσης. Η ποσότητα l προσδιορίζει το μήκος του κλειδιού καθώς και τον αριθμό των αλφάβητων που συμμετέχουν στην κρυπτογράφηση. Αν l=1 τότε εκφυλίζεται στο μονοαλφαβητικό κρυπταλγόριθμο μετάθεσης.
ΚΡΥΠΤΟΓΡΑΦΗΣΗ ΓΙΝΟΜΕΝΟΥ Περιγράφει την σύνθεση δύο η περισσοτέρων κρυπτογραφικών πράξεων για την δημιουργία ενός κρυπταλγορίθμου ο οποίος είναι κρυπτογραφικά δυνατότερος από τις δύο πράξεις. Έχει σαν αποτέλεσμα την σημαντική ενίσχυση των χαρακτηριστικών της σύγχυσης και της διάχυσης. Κρυπτογραφικό γινόμενο μπορεί να προκύψει και από ένα μόνο κρυπτοσύστημα όταν το απλό κείμενο κρυπτογραφείται και το αποτέλεσμα (κρυπτοκείμενο) επανακρυπτογραφείται με την ίδια πράξη. Σε αυτή την περίπτωση δεν θα πρέπει το κρυπτοσύστημα να αποτελεί ομάδα. Ένα κρυπτοσύστημα {F, G, E, D, K} αποτελεί ομάδα όταν: Υπάρχει κλειδί k K τέτοιο ώστε: e k (p)=e k1 (e k2 (p)), για κάθε k 1, k 2 K.
ΓΥΡΟΣ ΚΡΥΠΤΟΓΡΑΦΗΣΗΣ / ΓΕΝΝΗΤΡΙΑ ΚΛΕΙΔΙΩΝ Ένα κρυπτοσύστημα γινομένου του οποίου η πράξη κρυπτογράφησης επαναλαμβάνεται στη σειρά t φορές, λέμε ότι αποτελείται από t γύρους κρυπτογράφησης Σε κάθε γύρο κρυπτογράφησης το κλειδί είναι διαφορετικό. Η ακολουθία των κλειδιών {k 1, k 2,..., k 3 } ονομάζεται «πρόγραμμα» κλειδιών (key schedule) Η γεννήτρια προγράμματος κλειδιού (key schedule generator) αντιστοιχεί ένα κλειδί k K στο σύνολο των κλειδιών του γινομένου: s k :K K t. Ουσιαστικά παράγει το πρόγραμμα κλειδιού από το αρχικό κλειδί.