Κυριακή 19 Σεπτεμβρίου 2010

Κρυπτογράφηση

Η κρυπτογραφία ειναι μια επιστήμη που έχει σαν αντικείμενο την κωδικοποίηση και να αποκωδικωποίηση δεδομένων(πληροφορία).'Ετσι έχουμε την δυνατότητα να κρυπτογραφούμε δεδομένα τα οποία θέλουμε να προστατέψουμε, ενώ μπορούμε να καθορίσουμε ποιοι θα έχουν πρόσβαση σε αυτά. Όπως βλέπουμε και στο σχήμα το αρχικό μήνυμα ονομάζεται plaintext και το προιόν της κρυπτογράφησης ονομάζεται ciphertext.Στην κρυπτογράφηση χρησιμοποιούνται αλγόριθμοι, δηλαδή μαθηματικές συναρτήσεις. Για την αποκρυπτογράφηση εφαρμόζεται ενας αντίστροφος αλγόριθμος σε σχεση με αυτόν της κρυπτογράφησης.Όσο αυξάνει ο βαθμός πολυπλοκότητας του αλγόριθμου τόσο μειώνεται η πιθανότητα να παραβιαστούν τα δεδομένα. Ο αλγόριθμος κρυπτογράφησης λειτουργεί σε συνδυασμό με ένα κλειδί (key/password), για την κρυπτογράφηση του απλού κειμένου.

Υπάρχουν δυο κατηγορίες κρυπτογραφίας,η συμμετρική και η ασύμμετρη.
Στη συμμετρική κρυπτογραφία, χρησιμοποιείται το ίδιο κλειδί τόσο για την κρυπτογράφηση, όσο και για την αποκρυπτογράφηση. Επομένως, το κλειδί αυτό πρέπει να είναι γνωστό μόνο στα εξουσιοδοτημένα μέρη πράγμα που σημαίνει οτι απαιτείται ασφαλές μέσο για τη μετάδοσή του(π.χ. μια προσωπική συνάντηση). Σε αντίθετη περίπτωση η συμμετρική κρυπτογραφία είναι αναποτελεσματική.Από τις πιο γνωστές μεθόδους συμμετρικής κρυπτογράφησης είναι ο αλγόριθμος DES (Data Encryption Standard), που χρησιμοποιείται και από την κυβέρνηση των ΗΠΑ,και το σύστημα Kerberos του γνωστού Πανεπιστημίου MIT.


Στην ασύμμετρη κρυπτογραφία, χρησιμοποιούνται διαφορετικά κλειδιά για την κρυπτογράφηση και την αποκρυπτογράφηση, το δημόσιο (public) και το ιδιωτικό (private) κλειδί αντίστοιχα.Τα κλειδιά αυτά παράγονται έτσι ώστε η κρυπτογράφηση του μηνύματος να γίνεται με το public key και η αποκρυπτογραφηση με το private key. Εάν λοιπόν κάποιος θέλει να μας στείλει ένα κρυπτογραφημενο μήνυμα εμείς θα του δώσουμε το public key και οταν θα λάβουμε το μήνυμα θα το αποκρυπτογραφήσουμε με το private key, ενώ αν θέλουμε να του στείλουμε εμείς θα πρέπει να μας δώσει και αυτός το δικό του public key. Παρόλο που τα δύο κλειδιά(public & private) συνδέονται, είναι πολυ δύσκολο να φτάσει κάποιος από το ένα στο άλλο.