Το MD5 (τεχνικά ονομάζεται MD5 Message-Digest Algorithm) είναι μια κρυπτογραφική συνάρτηση κατακερματισμού της οποίας ο κύριος σκοπός είναι να επαληθεύσει ότι ένα αρχείο δεν έχει τροποποιηθεί.
Αντί να επιβεβαιώνει ότι δύο σύνολα δεδομένων είναι πανομοιότυπα συγκρίνοντας τα πρωτογενή δεδομένα, το MD5 το κάνει αυτό παράγοντας ένα άθροισμα ελέγχου και στα δύο σύνολα και στη συνέχεια συγκρίνοντας τα αθροίσματα ελέγχου για να επαληθεύσει ότι είναι ίδια.
Το MD5 έχει ορισμένα ελαττώματα, επομένως δεν είναι χρήσιμο για προηγμένες εφαρμογές κρυπτογράφησης, αλλά είναι απολύτως αποδεκτό να χρησιμοποιείται για τυπικές επαληθεύσεις αρχείων.
Χρήση MD5 Checker ή MD5 Generator
Microsoft File Checksum Integrity Verifier (FCIV) είναι μια δωρεάν αριθμομηχανή που μπορεί να δημιουργήσει το άθροισμα ελέγχου MD5 από πραγματικά αρχεία και όχι μόνο από κείμενο. Δείτε το άρθρο μας σχετικά με τον τρόπο επαλήθευσης της ακεραιότητας των αρχείων στα Windows με το FCIV για να μάθετε πώς να χρησιμοποιείτε αυτό το πρόγραμμα γραμμής εντολών.
Ένας εύκολος τρόπος για να αποκτήσετε τον κατακερματισμό MD5 μιας σειράς γραμμάτων, αριθμών και συμβόλων είναι με το εργαλείο Miracle Salad MD5 Hash Generator. Υπάρχουν επίσης πολλά άλλα, όπως το MD5 Hash Generator, PasswordsGenerator και OnlineMD5.
Όταν χρησιμοποιείται ο ίδιος αλγόριθμος κατακερματισμού, παράγονται τα ίδια αποτελέσματα. Αυτό σημαίνει ότι μπορείτε να χρησιμοποιήσετε μια αριθμομηχανή MD5 για να λάβετε το άθροισμα ελέγχου MD5 κάποιου συγκεκριμένου κειμένου και στη συνέχεια να χρησιμοποιήσετε μια εντελώς διαφορετική αριθμομηχανή MD5 για να λάβετε τα ίδια ακριβώς αποτελέσματα. Αυτό μπορεί να επαναληφθεί με κάθε εργαλείο που δημιουργεί ένα άθροισμα ελέγχου βάσει αυτής της συνάρτησης κατακερματισμού.
Ιστορικό και ευπάθειες του MD5
Το MD5 επινοήθηκε από τον Ronald Rivest, αλλά είναι μόνο ένας από τους τρεις αλγόριθμους του.
Η πρώτη συνάρτηση κατακερματισμού που ανέπτυξε ήταν η MD2 το 1989, η οποία κατασκευάστηκε για υπολογιστές 8-bit. Αν και χρησιμοποιείται ακόμα, το MD2 δεν προορίζεται για εφαρμογές που χρειάζονται υψηλό επίπεδο ασφάλειας, καθώς αποδείχθηκε ότι είναι ευάλωτο σε διάφορες επιθέσεις.
Το MD2 στη συνέχεια αντικαταστάθηκε από το MD4 το 1990. Το MD4 κατασκευάστηκε για μηχανές 32-bit και ήταν πολύ πιο γρήγορο από το MD2, αλλά αποδείχθηκε επίσης ότι είχε αδυναμίες και θεωρείται πλέον ξεπερασμένο από την Task Force Μηχανικής Διαδικτύου.
Το MD5 κυκλοφόρησε το 1992 και κατασκευάστηκε επίσης για μηχανές 32-bit. Δεν είναι τόσο γρήγορο όσο το MD4, αλλά θεωρείται πιο ασφαλές από τις προηγούμενες υλοποιήσεις MDx.
Αν και το MD5 είναι πιο ασφαλές από το MD2 και το MD4, άλλες κρυπτογραφικές συναρτήσεις κατακερματισμού, όπως το SHA-1, έχουν προταθεί ως εναλλακτική λύση, καθώς το MD5 έχει επίσης αποδειχθεί ότι έχει ελαττώματα ασφαλείας.
Το Ινστιτούτο Μηχανικής Λογισμικού του Πανεπιστημίου Carnegie Mellon έχει να πει αυτό για το MD5:
Οι προγραμματιστές λογισμικού, οι Αρχές πιστοποίησης, οι ιδιοκτήτες ιστότοπων και οι χρήστες θα πρέπει να αποφεύγουν τη χρήση του αλγόριθμου MD5 με οποιαδήποτε ιδιότητα. Όπως έχει δείξει προηγούμενη έρευνα, θα πρέπει να θεωρείται κρυπτογραφικά σπασμένο και ακατάλληλο για περαιτέρω χρήση.
Το MD6 έχει προταθεί στο Εθνικό Ινστιτούτο Προτύπων και Τεχνολογίας ως εναλλακτική λύση στο SHA-3. Μπορείτε να διαβάσετε περισσότερα για αυτήν την πρόταση εδώ.
Περισσότερες πληροφορίες για το MD5 Hash
Οι κατακερματισμοί MD5 έχουν μήκος 128 bit και συνήθως εμφανίζονται στο ισοδύναμο δεκαεξαδικής τιμής 32 ψηφίων. Αυτό ισχύει ανεξάρτητα από το πόσο μεγάλο ή μικρό μπορεί να είναι το αρχείο ή το κείμενο.
Εδώ είναι ένα παράδειγμα:
- Απλό κείμενο: Αυτό είναι μια δοκιμή.
- Δεξαδική τιμή: 120EA8A25E5D487BF68B5F7096440019
Όταν προστίθεται περισσότερο κείμενο, ο κατακερματισμός μεταφράζεται σε εντελώς διαφορετική τιμή αλλά με τον ίδιο αριθμό χαρακτήρων:
- Απλό κείμενο: Αυτή είναι μια δοκιμή για να δείξει πώς το μήκος του κειμένου δεν έχει σημασία.
- Δεκαδική τιμή: 6c16fcac44da359e1c3d81f19181735b
Στην πραγματικότητα, ακόμη και μια συμβολοσειρά με μηδέν χαρακτήρες έχει δεκαεξαδική τιμή d41d8cd98f00b204e9800998ecf8427e, και η χρήση έστω και μίας τελείας κάνει αυτήν την τιμή: 35058f3d 33f6588f.
Ακολουθούν μερικά ακόμη παραδείγματα:
Άθροισμα ελέγχου | Απλό κείμενο |
bb692e73803524a80da783c63c966d3c | Το Lifewire είναι ένας τεχνολογικός ιστότοπος. |
64adbfc806c120ecf260f4b90378776a | …!… |
577894a14badf569482346d3eb5d1fbc | Το Μπαγκλαντές είναι χώρα της Νότιας Ασίας. |
42b293af7e0203db5f85b2a94326aa56 | 100+2=102 |
08206e04e240edb96b7b6066ee1087af | supercalifragilisticexpialidocious |
Τα αθροίσματα ελέγχου MD5 έχουν κατασκευαστεί για να μην είναι αναστρέψιμα, πράγμα που σημαίνει ότι δεν μπορείτε να κοιτάξετε το άθροισμα ελέγχου και να αναγνωρίσετε τα αρχικά εισαγόμενα δεδομένα.
Για παράδειγμα, παρόλο που a= 0cc175b9c0f1b6a831c399e269772661 και p 83878c91171338902e0fe0fb97a8c47a , συνδυάζοντας τα δύο για να γίνει το ap παράγει ένα εντελώς διαφορετικό και άσχετο άθροισμα ελέγχου: , το οποίο μπορεί να είναι 24f8b85438 για να αποκαλύψει οποιοδήποτε γράμμα.
Με αυτά τα λόγια, υπάρχουν πολλοί "αποκρυπτογραφητές" MD5 που διαφημίζονται ότι μπορούν να αποκρυπτογραφήσουν μια τιμή MD5.
Ωστόσο, αυτό που πραγματικά συμβαίνει με έναν αποκρυπτογραφητή, ή τον "αντίστροφο μετατροπέα MD5, " είναι ότι δημιουργούν το άθροισμα ελέγχου για πολλές τιμές και, στη συνέχεια, σας επιτρέπουν να αναζητήσετε το άθροισμα ελέγχου στη βάση δεδομένων τους για να δείτε εάν έχουν αντιστοιχία μπορεί να σας δείξει τα αρχικά δεδομένα.
MD5Decrypt είναι ένα δωρεάν διαδικτυακό εργαλείο που χρησιμεύει ως αντίστροφη αναζήτηση MD5, αλλά λειτουργεί μόνο για κοινές λέξεις και φράσεις.
Δείτε Τι είναι το άθροισμα ελέγχου; για περισσότερα παραδείγματα και μερικούς δωρεάν τρόπους δημιουργίας μιας τιμής κατακερματισμού MD5 από αρχεία.