Ασφάλεια του τρόπου μετρητή AES έναντι λειτουργίας CBC

Evgeni Vaknin 09/05/2017. 1 answers, 401 views
aes cbc ctr nonce

Προκειμένου το AES-CBC να είναι ασφαλές ως CPA, το IV που χρησιμοποιείται πρέπει να επιλεγεί τυχαία για κάθε πακέτο. Εάν το IV είναι προβλέψιμο από ότι η κρυπτογράφηση δεν είναι ασφαλής CPA. Είναι το ίδιο ισχύει και για τη λειτουργία AES-CTR; δηλαδή για τη λειτουργία AES-CTR, ο πρώτος μετρητής πρέπει να είναι τυχαίος ή μπορεί να είναι ένα nonce; Ευχαριστώ

1 Answers


Patrick K 07/31/2017.

Η απαίτηση για τα μπλοκ εισόδου AES-CTR είναι ότι πρέπει να είναι unique κατά τη διάρκεια ζωής ενός κλειδιού. Στις περισσότερες περιπτώσεις χρησιμοποιείται ένα τυχαίο μηδέν 96bit με έναν μετρητή 32bit που ξεκινά από το 0. Αν το ίδιο μπλοκ εισόδου για το AES-CTR εμφανίζεται δύο φορές, το AES-CTR δεν είναι πλέον ασφαλές για CPA. Σε αυτή την περίπτωση, αυτό μπορεί να οφείλεται σε μια υπερχείλιση μετά από $ 2 ^ {32} $ μπλοκάρει ή λόγω συγκρούσεων τυχαία επιλεγμένων 96bit nonces (παράδοξο γενεθλίων: 50% πιθανότητα μετά από $ \ sqrt {2 ^ {96}} μηνύματα $. Εξετάστε την ακόλουθη περίπτωση:

Δύο διακριτά μηνύματα 1-Block $ P $ και $ P '$ αποστέλλονται με το ίδιο κλειδί $ K $ (που μπορεί να συμφωνηθεί εκ των προτέρων) και με το ίδιο nonce $ N $. Ο επιτιθέμενος γνωρίζει ότι τα σχετικά κείμενα του κειμένου $ C $ και $ C '$ όπου υπολογίζονται από το XORing τους με το keystream (το οποίο βασίζεται στο nonce και το counter):

$ C = P \ oplus E_K (N, 0) $

$ C '= P' \ oplus E_K (N, 0) $

Στη συνέχεια, ο εισβολέας μπορεί απλά να ξαναγράψει τα κείμενα κρυπτογράφησης

$ C \ oplus C '= P \ oplus E_K (N, 0) \ oplus P' \ oplus E_K (N, 0) = P \ oplus P '$

και αποκτά την απόσταση μεταξύ των δύο απλών κειμένων. Λόγω απολύσεων στην αγγλική γλώσσα, μπορεί να είναι σε θέση να καθορίσει $ P $ και $ P '$.

Αυτό το πρόβλημα είναι γνωστό και ως "δύο φορές". Μόλις το ίδιο keystream είναι XORed με το απλό κείμενο, έχουμε πρόβλημα. Επομένως, είναι σημαντικό, η είσοδος για την κρυπτογράφηση AES να είναι μοναδική κατά τη διάρκεια ζωής ενός κλειδιού. Δεν χρειάζεται να είναι απρόβλεπτη, μοναδική.

5 comments
Evgeni Vaknin 07/31/2017
με τη δήλωση "2 ^ 32 μηνύματα" Νομίζω ότι εννοείτε 2 ^ 32 μπλοκ των 16 byte το καθένα στο AES; αν ναι, από 2 ^ 32 μπλοκ χρόνου είναι 2 ^ 32 * 128 bits, το οποίο είναι σε 10Gbps, περίπου 1 λεπτό ... έτσι ώστε κάθε 1 λεπτό πρέπει να εκτελεστεί ένας αλγόριθμος ανταλλαγής κλειδιών για να δημιουργηθεί ένα νέο κλειδί και nonce ;
1 Patrick K 07/31/2017
Ναι έχεις δίκιο. Έχω επεξεργαστεί την απάντηση. Εάν έχετε μια στατική nonce, τότε θα πρέπει να κάνετε μια ανταλλαγή κλειδιών κάθε λεπτό σε αυτή την περίπτωση. Αλλά επειδή το nonce συνήθως αλλάζει με κάθε μήνυμα, περιορίζεστε σε μηνύματα μέγιστου μήκους $ 2 ^ {32} \ cdot128 $ bits. Ο μέγιστος αριθμός μηνυμάτων που μπορούν να σταλούν κάτω από ένα δεδομένο κλειδί περιορίζεται από το παράδοξο των γενεθλίων. Εάν το 96bit nonce επιλέγεται ομοιόμορφα τυχαία για κάθε μήνυμα, η πιθανότητα μιας σύγκρουσης nonce είναι $ \ περίπου 0.5q ^ 2/2 ^ {96} $ για q μηνύματα. Αν θέλετε ο όρος αυτός να είναι το πολύ 1%, το $ q_ {max} = 4 \ cdot10 ^ {13} $.
Evgeni Vaknin 07/31/2017
Τι συμβαίνει εάν δεν χρησιμοποιώ τυχαία nonce, μάλλον χρησιμοποιώ τυχαία τιμή για την αρχική τιμή nonce και από την αύξηση του κάθε πακέτου; Για παράδειγμα, ας πούμε ότι κάθε πακέτο περιέχει λιγότερα από 256 μπλοκ AES (128 bit το καθένα) και ο μετρητής για το AES-CTR αποτελείται από nonce 120 bits, που αρχικοποιείται τυχαία όταν το κλειδί ανταλλάσσεται και από ότι μέσα στο πακέτο 8 bits ο μετρητής χρησιμοποιείται για την καταμέτρηση των μπλοκ 128 bit. Και κάθε νέο πακέτο, (συνεχίστε στο επόμενο σχόλιο)
Evgeni Vaknin 07/31/2017
Αυξάνω το μηδέν κατά 1 και καθαρίζω τον μετρητή 8 δυαδικών ψηφίων. Σε αυτήν την περίπτωση, το παράδοξο των γενεθλίων δεν είναι σχετικό, καθώς η σύγκρουση είναι αδύνατη (αν υποθέσουμε ότι αντικαθιστώ το κλειδί πριν από τον μετρητή 120 bit του nonce έληξε)
1 Patrick K 08/01/2017
Ναι, αν με κάποιο τρόπο βεβαιωθείτε ότι ποτέ δεν επαναχρησιμοποιείτε το ίδιο ζεύγος (μπλοκ εισόδου, κλειδί) για την παραγωγή βασικών ροών, τότε όλα είναι καλά. (φυσικά υποθέτοντας ότι το κλειδί κρατείται μυστικό και επιλέγεται ομοιόμορφα από τυχαία)

Related questions

Hot questions

Language

Popular Tags