27
2.
Αντίσταση
σε
δεύτερη
προεικόνα
(second
preimage
resistance):
Αϕορά
τη
δυσκολία εντοπισµού ενός δεύτερου µηνύµατος, διαϕορετικού από το αρχικό,
που να παράγει τον ίδιο κατακερµατισµό µε ένα δοθέν µήνυµα.
Η ιδιότητα
αυτή διασϕαλίζει ότι δεν είναι εϕικτό να βρεθεί ένα άλλο µήνυµα µε την ίδια
τιµή κατακερµατισµού.
3.
Αντοχή σε σύγκρουση (collision resistance): Αναϕέρεται στη δυσκολία εύρεσης
δύο διαϕορετικών µηνυµάτων που παράγουν τον ίδιο κατακερµατισµό.
Η
ιδιότητα αυτή είναι κρίσιµη για την πρόληψη επιθέσεων σύγκρουσης, όπου
ένας κακόβουλος µπορεί να δηµιουργήσει διαϕορετικά µηνύµατα µε τον ίδιο
κατακερµατισµό για να παραπλανήσει ή να εξαπατήσει το σύστηµα ή τους
χρήστες.
2.2
SHA-1
Ο SHA-1, ως παραλλαγή του αρχικού αλγορίθµου κατακερµατισµού MD5, αποτελεί
µία
από
τις
πρώτες
απόπειρες
ενίσχυσης
της
κρυπτογραϕικής
ασϕάλειας
στον
τοµέα των συναρτήσεων κατακερµατισµού. Παρά το γεγονός ότι το 2017 οι Stevens
et al. [93] ανακοίνωσαν επιτυχηµένη επίθεση σύγκρουσης εναντίον του SHA-1, ο
αλγόριθµος αυτός εξακολουθεί να χρησιµοποιείται ευρέως σε πληθώρα εϕαρµογών
και συστηµάτων, κυρίως για λόγους συµβατότητας.
Ο
SHA-1
βασίζεται
στη
δοµή
Merkle-Damgård
(MD),
µια
µεθοδολογία
που
υιοθετείται
ευρέως
στους
αλγορίθµους
κατακερµατισµού.
Παρέχοντας
κατακερµατισµό εξόδου 160 bit, ο SHA-1 υποβάλλει το εισερχόµενο µήνυµα σε µια
ακολουθία βηµάτων συµπίεσης και εσωτερικών υπολογισµών πριν την παραγωγή
της τελικής τιµής κατακερµατισµού. Η διαδικασία αυτή είναι θεµελιώδης για τη
διασϕάλιση της ακεραιότητας των δεδοµένων και την αντίσταση σε προσπάθειες
ανακατασκευής της αρχικής πληροϕορίας από τον κατακερµατισµό [94].
2.2.1
Βασικά στοιχεία
Ο αλγόριθµος SHA-1 είναι ένας κρυπτογραϕικός αλγόριθµος κατακερµατισµού, που
χρησιµοποιείται για την παραγωγή ενός αποτελέσµατος σταθερού µεγέθους (160-bit
hash) από δεδοµένα µεταβλητού µεγέθους. Ο SHA-1 χειρίζεται µηνύµατα µε µέγιστο