Ανταλλαγή κλειδιών Diffie-Hellman.
Η Alice και ο Bob χρησιμοποιούν την ανταλλαγή κλειδιών Diffie-Hellman για να μοιραστούν μυστικά. Ξεκινούν με πρώτους αριθμούς, επιλέγουν ιδιωτικά κλειδιά, δημιουργούν και ανταλλάσσουν δημόσια κλειδιά και έπειτα δημιουργούν ένα κοινό μυστικό κλειδί.
Το πρόγραμμα δοκιμών παρέχει τους πρώτους αριθμούς p και g.
Η Alice επιλέγει ένα ιδιωτικό κλειδί, το a, μεγαλύτερο από το 1 και μικρότερο από το p. Ο Bob κάνει το ίδιο για να επιλέξει ένα ιδιωτικό κλειδί b.
Η Alice υπολογίζει ένα δημόσιο κλειδί A.
A = gᵃ mod p
Χρησιμοποιώντας τα ίδια p και g, ο Bob υπολογίζει με τον ίδιο τρόπο ένα δημόσιο κλειδί B από το ιδιωτικό κλειδί του b.
Η Alice και ο Bob ανταλλάσσουν δημόσια κλειδιά. Η Alice υπολογίζει το μυστικό κλειδί s.
s = Bᵃ mod p
Ο Bob υπολογίζει
s = Aᵇ mod p
Οι υπολογισμοί παράγουν το ίδιο αποτέλεσμα! Η Alice και ο Bob μοιράζονται τώρα το μυστικό s.
Αυτή η άσκηση απαιτεί να κάνεις υπολογισμούς με μεγάλους αριθμούς. Για να αναπαραστήσεις σωστά τους μεγάλους αριθμούς, χρειάζεσαι το BigInteger.
Γράψου στο Exercism για να μάθεις και να κατακτήσεις Visual Basic με 113 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.