Κρυπτογραφική Συνάρτηση Κατατεμαχισμού
![](http://upload.wikimedia.org/wikipedia/commons/thumb/2/2f/Hash_function_el.svg/300px-Hash_function_el.svg.png)
Η κρυπτογραφική συνάρτηση κατακερματισμού (cryptographic hash function) είναι μια συνάρτηση κατατεμαχισμού (hash function), η οποία είναι σχεδιασμένη για να χρησιμοποιείται στην κρυπτογραφία. Γενικά η συνάρτηση κατατεμαχισμού είναι μια ους ομάδα δεδομένων δίνει έξοδο μια καθορισμένου μεγέθους στοιχειοσειρά (string) (η συμβολοσειρά είναι συνήθως μικρότερη σε μέγεθος από την αρχική είσοδο). Η έξοδος δεν μπορεί με αντιστροφή (με κανένα τρόπο) να μας παράγει την αρχική είσοδο. Η έξοδος αποκαλείται συνήθως "σύνοψη" (digest).
Μια ιδανική συνάρτηση κατατεμαχισμού έχει τις παρακάτω ιδιότητες:
- Είναι εύκολο να υπολογιστεί η σύνοψη για οποιαδήποτε είσοδο.
- Δεν είναι εφικτό να βρεις την είσοδο από την σύνοψη.
- Δεν είναι εφικτό να τροποποιήσεις την είσοδο χωρίς να τροποποιηθεί η σύνοψη.
- Δεν είναι εφικτό να βρεθούν δύο διαφορετικές είσοδοι που δίνουν την ίδια σύνοψη.
Οι συναρτήσεις κατατεμαχισμού βρίσκουν εφαρμογή στις εφαρμογές ασφάλειας πληροφοριών, ενδεικτικά στις ψηφιακές υπογραφές, Κωδικούς Αυθεντικοποίησης Μηνύματος (αγγλικά: MACs) και άλλες μορφές πιστοποίησης αυθεντικότητας των δεδομένων.
Διάσημες συναρτήσεις κατατεμαχισμού είναι η MD5 και η SHA-1. Το 2008 βρέθηκαν προβλήματα ασφάλειας στην συνάρτηση MD5 σε επίθεση στο πρωτόκολλο Secure Socket Layer (SSL). Η συνάρτηση SHA-0 και η SHA-1 αναπτύχθηκαν από την Υπηρεσία Εθνικής Ασφάλειας (National Security Agency: NSA) των ΗΠΑ. Τον Φεβρουάριο 2005, μια επιτυχημένη επίθεση στην συνάρτηση SHA-1 δημοσιεύθηκε. Η θεωρητική αδυναμία της συνάρτησης SHA-1 είναι γνωστή και έτσι αναπτύχθηκε η συνάρτηση SHA-2.
Σύνοψη μηνύματος
[Επεξεργασία | επεξεργασία κώδικα]Η σύνοψη ενός μηνύματος είναι το αποτέλεσμα (έξοδος) της συνάρτησης κατατεμαχισμού. Η σύνοψη είναι συνήθως μικρότερη από το αρχικό μήνυμα και δεν μπορούμε να ξαναγυρίσουμε στο αρχικό μήνυμα από αυτή. Οι αλγόριθμοι κατατεμαχισμού είναι φτιαγμένοι με τέτοιο τρόπο ώστε μια μικρή μεταβολή στα δεδομένα εισόδου (π.χ. Ένα μόνο γράμμα ή ακόμα και ένα μόνο bit) να προκαλεί ολοκληρωτική αλλαγή στην έξοδο (πλήρης της σύνοψης).
συνάρτησης
[Επεξεργασία | επεξεργασία κώδικα]- Ψηφιακές υπογραφές: η συνάρτηση κατατεμαχισμού χρησιμοποιείται κατά την διάρκεια δημιουργίας της ψηφιακής υπογραφής. Χρησιμοποιώντας την συνάρτηση κατατεμαχισμού, από το μήνυμα/έγγραφο παράγεται η σύνοψη. Η σύνοψη κρυπτογραφείται με το ιδιωτικό κλειδί (ασυμμετρική κρυπτογράφηση) του ιδιοκτήτη/αποστολέα του μηνύματος/εγγράφου. Η σύνοψη είναι η ψηφιακή υπογραφή του μηνύματος/εγγράφου. Ο έλεγχος της ψηφιακής υπογραφής γίνεται με την ανάποδη διαδικασία: υπολογίζεται η σύνοψη του μηνύματος/εγγράφου, αποκρυπτογραφείται η ψηφιακή υπογραφή με το δημόσιο κλειδί του ιδιοκτήτη/αποστολέα και συγκρίνονται οι δυο συνόψεις. Αν είναι ίδιες το έγγραφο ανήκει στον ιδιοκτήτη/αποστολέα που το έχει υπογράψει και δεν έχει παραποιηθεί.
- Κωδικοί πρόσβασης: Για λόγους ασφάλειας σε συστήματα όπως το unix, οι κωδικοί πρόσβασης δεν αποθηκεύονται ως κείμενο αλλά στην θέση τους αποθηκεύονται οι συνόψεις (υπολογίζεται η σύνοψη του κωδικού με μια δυνατή κρυπτογραφική συνάρτηση κατατεμαχισμού όπως η MD5). Στον έλεγχο του κωδικού πρόσβασης ο κωδικός εισάγεται στην συνάρτηση κατατεμαχισμού και υπολογίζεται η σύνοψη. Αν η σύνοψη είναι ίδια με αυτή που είναι αποθηκευμένη ο κωδικό πρόσβασης είναι έγκυρος.
Ασφάλεια χρήσης της Συνάρτησης Κατατεμαχισμού
[Επεξεργασία | επεξεργασία κώδικα]Η συνάρτηση κατατεμαχισμού αναφέρεται σε έναν αλγόριθμο, ο οποίος είναι σε θέση να υπολογίζει μία τιμή βασισμένη σε ένα ηλεκτρονικό αντικείμενο, όπως ένα μήνυμα ή ένα αρχείο, χαρτογραφώντας το ηλεκτρονικό αυτό αντικείμενο σε ένα άλλο παρόμοιο (ηλεκτρονικό αντικείμενο). Το νέο ηλεκτρονικό αντικείμενο το οποίο εξάγεται ονομάζεται «σύνοψη του αρχικού μηνύματος. Ωστόσο, οι πρόσφατες εξελίξεις στον τομέα της «κρυπτανάλυσης» μετά τις επιθέσεις αντοχής ειδικά σε συναρτήσεις κατατεμαχισμού τύπου MD5 και SHA-1(όπως αναφέρθηκε και παραπάνω), είχαν ως αποτέλεσμα τον κλονισμό της εμπιστοσύνης του βαθμού ασφαλείας ο οποίος διέπει τις λειτουργίες των συναρτήσεων κατατεμαχισμού. Επιπλέον, αμφιβολίες δημιουργήθηκαν για την ικανότητα σχεδιασμού ασφαλών σε επιθέσεις συναρτήσεων κατατεμαχισμού.[1]
Αυτού του είδους οι επιθέσεις επιβεβαιώνουν ότι η «ασφάλεια των συναρτήσεων κατατεμαχισμού» των οποίων η κατασκευή βασίζεται στις αποκτηθείσες εμπειρίες, μπορεί να κινδυνεύσει απροσδόκητα. Το γεγονός αυτό επισημαίνει την ανάγκη ανανέωσης των μηχανισμών σχεδιασμού, κατά τους οποίους κρίνεται αναγκαία η αποφυγή χρησιμοποίησης των βασικών κρυπτογραφικών δομών. Συνεπώς, διαπιστώνεται ότι οι μελλοντικές κινήσεις θα πρέπει να βασίζονται όσο το δυνατόν λιγότερο σε διαδικασίες οι οποίες παρουσιάζουν ανοχή στις επιθέσεις.[2]
Χαρακτηριστικό παράδειγμα συστημάτων των οποίων η ασφάλεια συχνά διακυβεύεται, δηλαδή συστήματα τα οποία παρουσιάζουν ανοχή στις επιθέσεις είναι τα «ψηφιακά πιστοποιητικά». Σε αυτού του είδους τα συστήματα οι επιθέσεις στις συναρτήσεις κατατεμαχισμού, μεταφράζονται σε «πλαστογραφία» .
Παραπομπές
[Επεξεργασία | επεξεργασία κώδικα]- ↑ Halevi S., Krawczyk H. (2006). Lecture Notes in Computer Science. σελίδες 41–59.
Strengthening Digital Signatures Via Randomized Hashing
- ↑ Wang, Xiaoyun; Lai, Xuejia; Feng, Dengguo; Chen, Hui; Yu, Xiuyuan (2005). «Cryptanalysis of the Hash Functions MD4 and RIPEMD». Advances in Cryptology – EUROCRYPT 2005 3494: 1–18. doi: .
Βιβλιογραφία
[Επεξεργασία | επεξεργασία κώδικα]- Κ. Αρβανίτης· Γ. Κολύβας· Σ. Ούτσιος (2007). Τεχνολογία Δικτύων Επικοινωνιών. Οργανισμός Εκδόσεων Διδακτικών Βιβλίων ΥΠΕΠΘ. σελ. 317.
- Δίκτυα Υπολογιστών ΙΙ, Μανώλης Κιαγιάς, Διαδικτυακή Έκδοση 2009-10, Creative Commons License 3.0 SA.
Εξωτερικοί σύνδεσμοι
[Επεξεργασία | επεξεργασία κώδικα]- Checksums calculator Πρόγραμμα για επαλήθευση ή δημιουργία των αθροισμάτων ελέγχου αρχείων που τρέχει σε Linux, MAC OS X, και Windows.
- Μάγκος Κ., Νιξαρλίδης Α., (Ιούλιος 1999) «Κρυπτογραφία και Κρυπτογραφικά Εργαλεία» από islab.demokritos.gr. Αρχειοθετήθηκε 22/02/2018. Ανακτήθηκε 13/01/2019.
![]() ![]() |
Στο λήμμα αυτό έχει ενσωματωθεί κείμενο από το λήμμα Cryptographic hash function της Αγγλικής Βικιπαίδειας, η οποία διανέμεται υπό την GNU FDL και την CC-BY-SA 4.0. (ιστορικό/συντάκτες). |