Σάββατο 1 Ιουνίου 2013

Λειτουργία του DES

Τα βήματα που ακολουθούνται είναι :

1.Στο αρχικό 64μπιτο τμήμα του μηνύματος γίνεται μια μετάθεση των δυαδικών του ψηφίων και στη συνέχεια χωρίζεται σε δυο 32μπιτα τμήματα, το αριστερό L και το δεξί R.

Η αρχική αυτή μετάθεση πραγματοποιείται με βάση τον προκαθορισμένο πίνακα. Για παράδειγμα το μήνυμα ΣΙΝΑΤΚΑΣ:
11010011 11001001 11001101 11000001 11010100 11001010 11000001 11010011

Μετατρέπεται στο:
11111111 0010001 00010100 11001111 11111111 00000000 00100110 10100001

πίνακας μετάθεσης κλειδιού
2.Χωρίζεται στη συνέχεια το μήνυμα αυτό σε δυο 32μπιτα μέρη το αριστερό:
L0= 11111111 10010001 00010100 11001111 
και το δεξί:
R0= 11111111 00000000 00100110 10100001

3.Αν θεωρήσουμε ως κλειδί το ΙΩΑΝΝΗΣ$ δηλαδή: 
11001001 11011001 11000001 11001101 11001101 11000111 11010011 00100100 
Με την εφαρμογή του πίνακα μετάθεσης κλειδιού προκύπτει το:
01111111 01111111 10000000 01000110 00001011 10000001 10110010

Όπως εύκολα μπορεί να διαπιστωθεί το μετασχηματισμένο κλειδί περιορίσθηκε σε 56μπιτο. Λείπουν τα bits που είναι στις θέσεις 8,16,24,32,40,48,56 και 64. Άλλωστε μπορείτε να διαπιστώσετε ότι οι αριθμοί αυτοί λείπουν από τον πίνακα μετασχηματισμού

4. Στη συνέχεια το κλειδί χωρίζεται σε δύο μέρη των 28bits.
L0k= 0111111101111111100000000100
R0k= 0110000010111000000110110010
Στο καθένα από αυτά εφαρμόζεται η ολίσθηση σύμφωνα με τον πίνακα και επανασυνδέονται στο:
11111110 11111111 00000000 1000-1100 00010111 00000011 01100100

5. Στη συνεχεία στο αποτέλεσμα εφαρμόζεται άλλος ένας περιορισμός δια μέσου του πίνακα, οπότε προκύπτει το κλειδί Κ1 του πρώτου κύκλου που είναι 48μπιτο. Για το παράδειγμά μας είναι:
Κ1 = 10101110 11010011 00110011 00001011 10010010 00001110
6. Για τον επόμενο, δεύτερο κύκλο, το 56μπιτο κλειδί
1111111011111111000000001000-1100000101110000001101100100
Που χρησιμοποιήθηκε στον προηγούμενο κύκλο διαιρείται πάλι σε δυο μέρη εναλλασσόμενα αμοιβαία το αριστερό με το δεξί μέρος.

L1k= 11000001 01110000 00110110 0100
R1k= 11111110 11111111 00000000 1000

Εφαρμόζεται στο καθένα από αυτά η ολίσθηση του δευτέρου κύκλου και συντίθενται στο νεο 56μπιτο κλειδί το οποίο είναι
10000010 11100000 01101100 1001-1111 11011111 11100000 00010001
στη συνεχεία με την επιλογή μετατρέπεται στο τελικό Κ2 48μπιτο :
Κ2 = 00101001 00110100 00010000 11110011 00100011 10010111

Ακολουθώντας αυτή τη διαδικασία παράγονται και τα 16 κλειδιά που χρησιμοποιούνται στους κύκλους του αλγορίθμου.

Πώς όμως χρησιμοποιούνται τα κλειδιά αυτά; Ποια είναι η συμβολή τους στην κρυπτογράφηση;

7. Το δεξί μέρος R0 του αρχικού 64μπιτου κειμένου μετά την εφαρμογή της αρχικής μετάθεσης είναι το:
R0= 11111111 00000000 0010011010100001

Εφαρμόζοντας στο τμήμα αυτό το μετασχηματισμό επέκτασης με βάση το διπλανό πίνακα γίνεται: 11111111 11101000 00000000 00010000 11010101 00000011

8. Στο αποτέλεσμα αυτό στη συνέχεια εφαρμόζεται XOR με το κλειδί του πρώτου κύκλου που είναι το Κ1
10101110 11010011 00110011 00001011 10010010 00001110
οπότε προκύπτει:
01010001 00111011 00110011 00011011 01000111 00001101

ΚΡΥΠΤΟΓΡΑΦΙΑ Σινάτκας Ι.


by: Πληροφορική Online
Πληροφορική Online Updated at: 12:12 μ.μ.
◄ Newer Post Older Post ►