Πώς να ελέγξετε SHA1, SHA256 και SHA512 Hashes σε Linux
Πώς γνωρίζετε ότι το αρχείο 4 GB που μόλις κατεβάσατε έχει μεταφερθεί χωρίς σφάλμα; Ένας τρόπος είναι να χρησιμοποιήσετε έναν αλγόριθμο κατακερματισμού που παράγει ένα "δακτυλικό αποτύπωμα" ή ένα "digest μήνυμα" του ληφθέντος αρχείου. Όπως και τα ανθρώπινα δακτυλικά αποτυπώματα, η προκύπτουσα συμβολοσειρά χαρακτήρων πρέπει να είναι μοναδική και μόνο αυτό το αρχείο μπορεί να παράγει αυτό το αποτύπωμα. Οι ιστότοποι που προσφέρουν μεγάλες λήψεις, όπως μια διανομή Linux όπως το Fedora, θα δημοσιεύσουν επίσης μια λίστα με τα hashes για τα αρχεία. Το μόνο που χρειάζεται να κάνετε είναι να ελέγξετε το hash του αρχείου που έχετε έναντι του δημοσιευμένου κατακερματισμού και αν είναι το ίδιο, τότε το αρχείο έχει μεταφορτωθεί σωστά.
Στο παρελθόν, ο προτιμώμενος αλγόριθμος κατακερματισμού ήταν MD5 και αν και εξακολουθεί να χρησιμοποιείται ευρέως (για παράδειγμα το έργο Ubuntu εξακολουθεί να παρέχει MD5 hashes), αντικαθίσταται αργά από την οικογένεια SHA. Το πρόβλημα με το MD5 είναι ότι είναι δυνατή η δημιουργία πολλών αρχείων με το ίδιο δακτυλικό αποτύπωμα. Σε μια περίφημη περίπτωση μεταξύ των κρυπτογράφων, οι ερευνητές της ασφάλειας δήλωσαν ότι ήξεραν ποιος θα κερδίσει τις προεδρικές εκλογές και ότι είχε δημιουργήσει ένα αρχείο με το αποτέλεσμα σε αυτό και εξέδωσε το hash MD5. Θα αποδεσμεύσει τον φάκελό του μετά τις εκλογές και θα αποδείξει ότι η πρόβλεψή του ήταν σωστή. Στην πραγματικότητα, αυτό που είχε κάνει ήταν να δημιουργήσει αρκετά αρχεία με όλους τους πιθανούς νικητές και να χειραγωγούσε τα αρχεία με τέτοιο τρόπο ώστε όλοι να είχαν το ίδιο αποτύπωμα MD5!
Υπάρχουν διάφοροι διαφορετικοί αλγόριθμοι ασφαλούς κατακερματισμού (SHA), συμπεριλαμβανομένων των SHA1, SHA256 και SHA512. Τεχνικά, τα SHA256 και SHA512 χρησιμοποιούν τον ίδιο αλγόριθμο, αλλά επεξεργάζονται τα δεδομένα σε τμήματα διαφορετικού μεγέθους - το SHA256 χρησιμοποιεί μπλοκ 32 bit και μπλοκ SHA512 64 bit.
Το SHA1 είναι παρόμοιο με το MD5 και όπως το MD5, υπάρχουν κάποιες ανησυχίες για τη μοναδικότητα των συνεπαγόμενων hashes και δεν είναι πλέον εγκεκριμένο για πολλές κρυπτογραφικές χρήσεις από το 2010. Ωστόσο, εάν βρείτε έναν ιστότοπο που εκδίδει SHA1 hashes, μπορείτε να τα ελέγξετε όπως αυτό :
sha1sum Fedora-19-i386-netinst.iso
Η έξοδος θα φαίνεται ως εξής:
b24e9b7bd49168839fd056bbd0ac8f2aec6b68b9 Η Fedora-19-i386-netinst.iso
Τα SHA256 έχουν δημιουργηθεί με τον ίδιο τρόπο:
sha256 Fedora-19-i386-netinst.iso
Και η έξοδος είναι παρόμοια, εκτός από τη σημείωση ότι η συμβολοσειρά δακτυλικών αποτυπωμάτων είναι πολύ μεγαλύτερη:
2b16f5826a810bb8c17aa2c2e0f70c4895ee4b89f7d59bb8bf39b07600d6357c Η Fedora-19-i386-netinst.iso
Και ομοίως για το SHA512:
sha512sum Fedora-19-i386-netinst.iso
Το αποτύπωμα που προκύπτει είναι ακόμη μεγαλύτερο:
9eb35d03cc289aa5d5a29cfc9080c3152a3da1b91a2b12d352b16a3d817a7479b9d1be3c7ecf011abf6a01f3122c66892f96a2c213756df786117412d8df99b3 Καταμέτρηση λέξεων: Fedora-19-i386-netinst.iso
Μάλλον απλά δημοσιεύστε τη σειρά δακτυλικών αποτυπωμάτων μεμονωμένα, μερικοί ιστότοποι προσφέρουν ένα αρχείο ελέγχου αθροίσματος το οποίο περιέχει όλες τις πληροφορίες κατακερματισμού σε μια αναγνώσιμη από μηχανή μορφή, την οποία μπορούν να χρησιμοποιήσουν οι διάφορες εντολές sha
για την αυτόματη επαλήθευση των αρχείων. Ένα αρχείο ελέγχου αθροίσματος για το net install 32 bit Intel έκδοση του Fedora 19 μπορεί να μοιάζει με αυτό:
2b16f5826a810bb8c17aa2c2e0f70c4895ee4b89f7d59bb8bf39b07600d6357c * Η Fedora-19-i386-netinst.iso
Για να το ελέγξετε χρησιμοποιήστε την παράμετρο " -c
" όπως αυτή:
sha256sum-c Fedora-19-i386-CHECKSUM
Όταν το Fedora-19-i386-CHECKSUM
είναι το όνομα του αρχείου που περιέχει τις πληροφορίες δακτυλικών αποτυπωμάτων όπως φαίνεται παραπάνω.
Αν τα δακτυλικά αποτυπώματα ταιριάζουν, τότε η έξοδος θα φαίνεται ως εξής:
Fedora-19-i386-netinst.iso: Εντάξει
Εάν υπάρχει κάποιο σφάλμα στο αρχείο που έχει ληφθεί, η έξοδος θα είναι:
Fedora-19-i386-netinst.iso: FAILED sha256sum: ΠΡΟΕΙΔΟΠΟΙΗΣΗ: 1 υπολογισμένο checksum δεν ταιριάζει
Δοκιμάστε αυτό
Η διανομή του Linux πιθανότατα περιέχει επίσης τις εντολές sha224
και sha384
. Αυτοί οι δύο αλγόριθμοι κατακερματισμού είναι κολοβωμένες εκδόσεις των SHA256 και SHA512. Μπορούν να χρησιμοποιηθούν με τον ίδιο ακριβώς τρόπο όπως οι εντολές sha256
και sha512
. Δοκιμάστε να παράγετε τα hashes που τα χρησιμοποιεί και παρατηρήστε τις διαφορές στην έξοδο.