Blowfish

Στην κρυπτογραφία, το Blowfish είναι ένας κλειδωμένος, συμμετρικός block cipher, ο οποίος κατασκευάστηκε το 1993 από τον Bruce Schneier και από το 1993 έχει συμπεριληφθεί (συναρμολογηθεί) σε μεγάλο αριθμό προϊόντων κρυπτογράφησης. Το Blowfish έχει καλό ρυθμό κρυπτογράφησης σε λογισμικό και μέχρι το 2008 δεν έχει βρεθεί κανένα κρυπταναλυτικό μοντέλο επίθεσής του. Ωστόσο, ο αλγόριθμος κρυπτογράφησης μπλοκ AES έχει πλέον μεγαλύτερη προσοχή.

Ο Schneier δημιούργησε το Blowfish ως έναν αλγόριθμο γενικής χρήσης, για να χρησιμοποιηθεί ως αντικαταστάτης του παλιού αλγορίθμου DES και να εξαλείψει τα προβλήματα και τις δυσκολίες άλλων αλγορίθμων κρυπτογράφησης. Την εποχή που κυκλοφόρησε ο Blowfish, πολλοί άλλοι αλγόριθμοι ήταν ιδιόκτητοι ή αποτελούσαν μυστικά. Ο Schneier δήλωσε ότι, "ο Blowfish δεν έχει κατοχυρωθεί με δίπλωμα ευρεσιτεχνίας και θα παραμείνει έτσι σε όλες τις χώρες. Ο αλγόριθμος τίθεται με το παρόν στη δημόσια σφαίρα και μπορεί να χρησιμοποιηθεί ελεύθερα από οποιονδήποτε".

Τα κύρια χαρακτηριστικά του σχεδιασμού περιλαμβάνουν εξαρτώμενα από το κλειδί S-boxes και ένα πολύ σύνθετο πρόγραμμα κλειδιών. Το Blowfish είναι ένας από τους ταχύτερους κρυπτογράφους μπλοκ που χρησιμοποιούνται από πολλούς ανθρώπους, εκτός από την αλλαγή κλειδιών. Κάθε νέο κλειδί πρέπει να υποβληθεί σε προεπεξεργασία, η οποία διαρκεί τον ίδιο χρόνο με την κρυπτογράφηση περίπου 4 kilobytes κειμένου, κάτι που είναι πολύ αργό σε σύγκριση με άλλους block ciphers. Αυτό εμποδίζει τη χρήση του σε ορισμένες εφαρμογές (όπως στα μικρότερα ενσωματωμένα συστήματα όπως οι πρώτες έξυπνες κάρτες), αλλά δεν αποτελεί πρόβλημα σε άλλες εφαρμογές. Σε μία από τις εφαρμογές, είναι στην πραγματικότητα καλό: η μέθοδος κρυπτογράφησης κωδικών πρόσβασης που χρησιμοποιείται στο OpenBSD χρησιμοποιεί έναν αλγόριθμο που προέρχεται από το Blowfish, ο οποίος κάνει χρήση του αργού χρονοδιαγράμματος κλειδιών- η ιδέα είναι ότι η επιπλέον υπολογιστική προσπάθεια που απαιτείται παρέχει προστασία από επιθέσεις λεξικού. Βλέπε ενίσχυση κλειδιών.

Το Blowfish έχει μέγεθος μπλοκ 64 bit και μεταβλητό μήκος κλειδιού από 0 έως 448 bit Είναι ένας κρυπτογράφος Feistel 16 γύρων και χρησιμοποιεί μεγάλα S-boxes που εξαρτώνται από το κλειδί. Είναι παρόμοιο στη δομή με το CAST-128, το οποίο χρησιμοποιεί σταθερά S-boxes.

Το 1996, ο Serge Vaudenay βρήκε μια επίθεση γνωστού κειμένου που χρειαζόταν 28r+1 γνωστά κείμενα για να σπάσει, όπου r είναι ο αριθμός των γύρων. Επιπλέον, βρήκε επίσης μια κατηγορία αδύναμων κλειδιών που μπορούν να ανιχνευθούν και να σπάσουν με την ίδια επίθεση με μόνο 24r + 1 γνωστά πλασματικά κείμενα. Αυτή η επίθεση δεν μπορεί να χρησιμοποιηθεί εναντίον του κανονικού Blowfish- προϋποθέτει τη γνώση των εξαρτώμενων από το κλειδί S-boxes. Ο Vincent Rijmen, στις διδακτορικές του διατριβές, εισήγαγε μια διαφορική επίθεση δεύτερης τάξης που μπορεί να σπάσει τέσσερις γύρους και όχι περισσότερους. Ακόμα δεν υπάρχει γνωστός τρόπος να σπάσει κανείς όλους τους 16 γύρους, εκτός από την αναζήτηση με ωμή βία. Το 1996 εντοπίστηκε ένα σφάλμα επέκτασης σημείου σε έναν από τους δημοσιευμένους κώδικες C.

Δεν υπάρχει καμία καλή κρυπτανάλυση για την πλήρη έκδοση του Blowfish που να είναι γνωστή στο κοινό μέχρι το 2008. Ωστόσο, το 2007, ο Bruce Schneier σημείωσε ότι ενώ ο Blowfish εξακολουθεί να χρησιμοποιείται, συνέστησε να χρησιμοποιείται ο νέος αλγόριθμος Twofish.

Σχετικές σελίδες

Ερωτήσεις και απαντήσεις

Q: Τι είναι το Blowfish;


A: Το Blowfish είναι ένα κλειδωμένο, συμμετρικό κρυπτογράφημα μπλοκ που δημιουργήθηκε το 1993 από τον Bruce Schneier. Από τότε έχει συμπεριληφθεί σε πολλά προϊόντα κρυπτογράφησης.

Ε: Για ποιο λόγο δημιουργήθηκε το Blowfish;


Α: Το Blowfish φτιάχτηκε ως αλγόριθμος γενικής χρήσης για να αντικαταστήσει τον παλιό αλγόριθμο DES και να εξαλείψει τα προβλήματα και τις δυσκολίες άλλων αλγορίθμων κρυπτογράφησης.

Ε: Πόσο μεγάλο μπορεί να είναι το μήκος του κλειδιού για το Blowfish;


Α: Το μήκος κλειδιού για το Blowfish μπορεί να κυμαίνεται από 0 έως 448 bit.

Ε: Ποια είναι ορισμένα χαρακτηριστικά του σχεδιασμού του Blowfish;


Α: Ορισμένα χαρακτηριστικά του σχεδιασμού περιλαμβάνουν εξαρτώμενα από το κλειδί S-boxes και ένα πολύ σύνθετο πρόγραμμα κλειδιών.

Ε: Υπάρχει κάποια γνωστή κρυπτανάλυση στην έκδοση πλήρους γύρου του Blowfish;


Α: Από το 2008, δεν υπάρχει γνωστός τρόπος να σπάσει κανείς τους 16 γύρους εκτός από μια αναζήτηση με ωμή βία.

Ε: Τι είδους επίθεση βρήκε ο Serge Vaudenay εναντίον του Blowfish;


Α: Ο Serge Vaudenay βρήκε μια επίθεση γνωστού κειμένου που χρειάζεται 28r + 1 γνωστά κείμενα για να σπάσει, όπου r είναι ο αριθμός των γύρων. Βρήκε επίσης μια κατηγορία αδύναμων κλειδιών που μπορούσαν να ανιχνευθούν και να σπάσουν από την ίδια επίθεση με μόνο 24r + 1 γνωστά πλασματικά κείμενα.

Ερ: Συνιστά ο Bruce Schneier τη χρήση του Twofish αντί του Blowfish τώρα;


Α: Ναι, ο Bruce Schneier συνιστά τη χρήση του Twofish αντί του Blowfish τώρα λόγω των βελτιωμένων μέτρων ασφαλείας του σε σύγκριση με παλαιότερους αλγορίθμους όπως ο DES ή ακόμη και νεότερους όπως ο AES.

AlegsaOnline.com - 2020 / 2023 - License CC3