Table of Contents
Η κρυπτογράφηση RSA είναι μια ευρέως χρησιμοποιούμενη μέθοδος για την εξασφάλιση της ψηφιακής επικοινωνίας. Περιλαμβάνει την δημιουργία ενός ζεύγους κλειδιών και τη χρήση τους για την κρυπτογράφηση και την αποκρυπτογράφηση μηνυμάτων.
Διαδικασία δημιουργίας κλειδιού
Το πρώτο βήμα στην RSA είναι η επιλογή δύο μεγάλων πρώτων αριθμών, που συνήθως υποδηλώνεται ως p και q. Αυτά τα πρώτα χρησιμοποιούνται για τον υπολογισμό του modulus n, το οποίο είναι μέρος των δημόσιων και ιδιωτικών κλειδιών.
Υπολογίστε n πολλαπλασιάζοντας p και q: n = p × q. Στη συνέχεια, υπολογίστε τη συνάρτηση totient του Euler, f(n) = (p - 1) × (q - 1). Επιλέγοντας ένα exponer e που είναι coprime με f(n) είναι απαραίτητη.
Το ιδιωτικό κλειδί εκθέτης δ υπολογίζεται ως η σπονδυλωτή αντιστροφή του e modulo f(n). Αυτό σημαίνει επίλυση για d στην εξίσωση: d × e ⁇ 1 (mod f(n)).
Κρυπτογράφηση και Αποκρυπτογράφηση μηνύματος
Για να κρυπτογραφήσετε ένα μήνυμα, μετατρέψτε το σε αριθμητική μορφή m, όπου 0 ≤ m & lt; n. Το κρυπτοκείμενο c υπολογίζεται στη συνέχεια χρησιμοποιώντας το δημόσιο κλειδί (n, e): c = m^e mod n.
Η αποκρυπτογράφηση περιλαμβάνει τη χρήση του ιδιωτικού κλειδιού d για την ανάκτηση του αρχικού μηνύματος: m = c^d mod n. Αυτή η διαδικασία εξασφαλίζει ότι μόνο κάποιος με το ιδιωτικό κλειδί μπορεί να αποκρυπτογραφήσει το μήνυμα.
Παράδειγμα Πρακτικού Υπολογισμός
Υποθέστε p = 61 και q = 53. Υπολογίστε n = 61 × 53 = 3233. Κατόπιν, φ(n) = (61 - 1) × (53 - 1) = 60 × 52 = 3120. Επιλέξτε ε = 17, το οποίο είναι coprime με 3120.
Βρείτε d τέτοιο d × 17 ⁇ 1 (mod 3120). Η τιμή του d είναι 2753. Το δημόσιο κλειδί είναι (n=3233, e=17), και το ιδιωτικό κλειδί είναι (n=3233, d=2753).
Για να κρυπτογραφήσετε ένα μήνυμα m = 65, υπολογίστε c = 65^17 mod 3233, με αποτέλεσμα c = 2790. Για να αποκρυπτογραφήσετε, υπολογίστε m = 2790^2753 mod 3233, το οποίο αποδίδει το αρχικό μήνυμα 65.