26
Ο
SHA-1
δέχεται
µηνύµατα
µεγέθους
µικρότερου
των
2
64
bit,
τα
χωρίζει
σε
ίσα
µπλοκ
των
512
bit,
και
µετά
από
80
βήµατα
εσωτερικών
υπολογισµών,
παράγει κατακερµατισµό 160 bit.
Η οικογένεια SHA-2 περιλαµβάνει παραλλαγές
µε
κατακερµατισµό
224,
256,
384
και
512
bit.
Οι
παραλλαγές
224
και
256
bit
χρησιµοποιούν
µπλοκ
512
bit
(έως
2
64
bit
µήνυµα),
ενώ
οι
384
και
512
bit
χρησιµοποιούν µπλοκ 1024 bit (έως
2
128
bit µήνυµα), µε 64 και 80 βήµατα εσωτερικών
υπολογισµών αντίστοιχα.
Ο SHA-3, σε αντίθεση µε τους προκατόχους του, επιτρέπει επεξεργασία µηνυµάτων
οποιουδήποτε
µεγέθους,
διαθέτοντας
παραλλαγές
224,
256,
384
και
512
bit,
και
χρησιµοποιώντας
αντίστοιχα
µπλοκ
µεγέθους
1152,
1088,
832
και
576
bit,
µε
24
βήµατα
εσωτερικών
υπολογισµών.
Αυτή
η
ευελιξία
τον
καθιστά
ιδιαίτερα
κατάλληλο για σύγχρονες εϕαρµογές.
Η σύγκριση αυτών των χαρακτηριστικών είναι σηµαντική, καθώς κάθε αλγόριθµος
SHA έχει σχεδιαστεί για να εξυπηρετεί διαϕορετικές ανάγκες ως προς την ασϕάλεια,
την απόδοση και τη διαχείριση δεδοµένων σε διάϕορα υπολογιστικά περιβάλλοντα.
Πίνακας 2.1: Οικογένεια αλγορίθµων SHA.
Αλγόριθµος
Έξοδος
σε (bit)
Μέγεθος
µπλοκ
(bit)
Μέγιστο
µέγεθος
µηνύµατος
(bit)
Βήµατα
εσωτερικών
υπολογισµών
SHA-1
160
512
2
64
− 1
80
SHA-2
224
512
2
64
− 1
64
256
512
2
64
− 1
64
384
1024
2
128
− 1
80
512
1024
2
128
− 1
80
SHA-3
224
1152
Οτιδήποτε
24
256
1088
Οτιδήποτε
24
384
832
Οτιδήποτε
24
512
576
Οτιδήποτε
24
Για να θεωρηθεί ασϕαλής ένας αλγόριθµος κατακερµατισµού, απαιτείται να πληροί
τρεις θεµελιώδεις κρυπτογραϕικές ιδιότητες [91, 92]:
1.
Αντίσταση
προεικόνας
(preimage
resistance):
Αναϕέρεται
στη
δυσκολία
ανεύρεσης του αρχικού µηνύµατος, δεδοµένης της τιµής του κατακερµατισµού.
∆ηλαδή, ενώ είναι υπολογιστικά εύκολο να παραχθεί ένας κατακερµατισµός
από ένα δεδοµένο µήνυµα, είναι εξαιρετικά δύσκολο να ανακτηθεί το αρχικό
µήνυµα από τον κατακερµατισµό.