Το επίπεδο της ασφάλειας που παρέχεται από μια συνάρτηση hash βασίζεται στην δυσκολία της δημιουργίας ενός απλού κειμένου που θα παράγει μια δεδομένη υπογραφή κατακερματισμού (η έξοδος του κατακερματισμού). Ένα hash είναι μια γρήγορη μέθοδος απλούστευσης μια σειρά από δεδομένα που υποδηλώνουν ότι ο χρήστης έχει τα αρχικά δεδομένα χωρίς στην πραγματικότητα να αποκαλύπτουν τα δεδομένα. Αυτό μπορεί να είναι χρήσιμο τόσο για την επικύρωση ότι κάποιος είναι αυτοί που λένε ότι είναι (συγκρίνοντας μια hash του κάτι που ξέρετε ότι ξέρουν να την αποθηκευμένη αξία), καθώς και η επικύρωση ότι το μήνυμα δεν έχει αλλάξει. Επειδή ένα hash είναι πολλά για ένα (πολλές τιμές θα παράγει την ίδια τιμή κατακερματισμού), είναι θεωρητικά δύσκολο να εργαστεί από ένα κατακερματισμού στην αρχική τιμή. Λόγω του μεγάλου αριθμού των πιθανών τιμών κατακερματισμού, θα είναι δύσκολο να πάρετε μια hash για την παραγωγή μιας δεδομένης απόδοσης. Αυτό είναι, όμως, δυστυχώς, δεν είναι πάντα αλήθεια. Η προσδοκία ότι ορισμένες τιμές αντιστοιχούν σε αναγνώσιμη εισόδου επιτρέπουν επιθέσεις λεξικό που ονομάζεται πίνακες ουράνιο τόξο εναντίον ενός hash να προσπαθεί να ανακαλύψει την αρχική τιμή. Το αλάτισμα (η προσθήκη του μη-αναγνώσιμο από τον άνθρωπο εισόδου στην αρχή ή στο τέλος μιας εισόδου) είναι μια προσπάθεια να αποτρέψει τους πίνακες ουράνιο τόξο από το να εργάζονται όπως θα έπρεπε να γίνει για κάθε διαφορετικό άλας. Το άλλο πρόβλημα, και αυτό που σχετίζεται με σας ζήτημα είναι ότι από συγκρούσεις κατακερματισμού. Μια σύγκρουση κατακερματισμού συμβαίνει κάθε φορά που δύο δεδομένες εισροές παράγουν το ίδιο αποτέλεσμα κατακερματισμού. Προκειμένου να πιστοποιηθούν ότι τα δεδομένα δεν έχουν αλλοιωθεί, δεν πρέπει να είναι εύκολα δυνατό να δημιουργηθεί ένα hash για ένα αλλαγμένο σύνολο δεδομένων που ταιριάζει με τον κατατεμαχισμό του πρωτοτύπου. Δυστυχώς, MD5 είναι καλά ρέγκλιτη ενώ υπάρχουν πολλοί τρόποι για να βρείτε σχετικά εύκολα αλλαγές που μπορούν να τεθούν στο τέλος ή στην αρχή ενός ωφέλιμου φορτίου για να φαίνεται να είναι έγκυρη. SHA-1 έχει επίσης κάποιες μικρές συμβιβασμούς στο θέμα αυτό που ανακαλύφθηκαν πρόσφατα, ωστόσο, είναι λιγότερο σοβαρή από ό, τι τα θέματα MD5. Χρησιμοποιώντας κάτι σαν SHA256 είναι ακόμα πιο ασφαλής, καθώς δεν υπάρχουν προς το παρόν γνωστές επιθέσεις εναντίον κατακερματισμού σύγκρουση.
Μεταφράζονται, παρακαλώ περιμένετε..
