45
λειτουργία
θ είναι υπεύθυνη για την ανάµειξη των bits εντός των λωρίδων
σε
όλο
τον
πίνακα.
Αυτό
γίνεται
µε
τον
υπολογισµό
της
ισοτιµίας
XOR
κάθε
λωρίδας
και
τη
συνέχεια
µιας
περιστροϕής
και
εϕαρµογής
XOR
µε
άλλα bits του πίνακα, προκειµένου να προκύψει αυξηµένη διαϕοροποίηση και
κρυπτογραϕική ανθεκτικότητα.
Η Εξισώση (2.18) που περιγράϕει τη λειτουργία του βήµατος
θ χρησιµοποιεί
δύο πίνακες:
C[x] για την ισοτιµία κάθε στήλης της λωρίδας και D[x] για την
περιστροϕή της ισοτιµίας.
Η ισοτιµία κάθε στήλης συνδυάζεται µετά στην
συνέχεια µε τα bits της κατάστασης χρησιµοποιώντας XOR, δηµιουργώντας
µια
µη
γραµµική
ανάµειξη
των
δεδοµένων
που
αυξάνει
την
ασϕάλεια
του
αλγορίθµου
κατακερµατισµού
απέναντι
σε
επιθέσεις
κρυπτανάλυσης.
Η
συνεχής µεταβολή του πίνακα καταστάσεων στοχεύει στη διασϕάλιση ότι
ακόµη
και
µικρές
αλλαγές
στην
είσοδο
θα
προκαλέσουν
σηµαντικές
και
απρόβλεπτες
αλλαγές
στην
έξοδο
του
κατακερµατισµού,
ενισχύοντας
την
πολυπλοκότητα και την ασϕάλεια του κατακερµατισµού.
C[x] = A[x, 0] ⊕ A[x, 1] ⊕ A[x, 2] ⊕ A[x, 3] ⊕ A[x, 4],
για
x = 0, 1, 2, 3, 4
D[x] = C[x − 1] ⊕ (ROTATE(C[x + 1], 1)),
για
x = 0, 1, 2, 3, 4
A[x, y] = A[x, y] ⊕ D[x],
για
x = 0, 1, 2, 3, 4
(2.18)
•
Βήµα
ρ (rho): Αυτό το βήµα ασχολείται µε την περιστροϕή (ROTATE)
των
bits
στον
πίνακα
κατάστασης.
Συγκεκριµένα,
κάθε
bit
στον
πίνακα
κατάστασης περιστρέϕεται αριστερά για έναν καθορισµένο αριθµό θέσεων.
Η τιµή µετατόπισης περιστροϕής συµβολίζεται µε
r[x, y] η οποια ειναι µια
σταθερή τιµή που εκχωρείται σύµϕωνα µε τον Πίνακα 2.4.
Πίνακας 2.4: Η σταθερή τιµή
r[x, y] στο βήµα r (rho).
x = 3
x = 4
x = 0
x = 1
x = 2
y = 2
25
39
3
10
13
y = 1
55
20
36
44
6
y = 0
28
27
0
1
62
y = 4
56
14
18
2
61
y = 3
21
8
41
54
15