Dosadan
Ο Mirko έλαβε ένα μήνυμα από τον φίλο του Slavko. Ο Slavko, όντας κρυπτογράφος παγκόσμιας κλάσης, του αρέσει να κρυπτογραφεί τα μηνύματα που στέλνει στον Mirko. Αυτή τη φορά, αποφάσισε να χρησιμοποιήσει την κρυπτογράφηση One Time Pad. Το OTP είναι αδιαπέραστο εάν χρησιμοποιείται σωστά και ο Slavko το γνωρίζει αυτό. Ωστόσο, δεν θέλει ο Mirko να σπάσει το κεφάλι του σε ένα αδύνατο πρόβλημα, γι'αυτό έστειλε μερικές υποδείξεις μαζί με το μήνυμά του.
Ο Mirko γνωρίζει ότι το αρχικό απλό κείμενο (plain text) του Slavkos περιείχε μόνο μικρά γράμματα του αγγλικού αλφαβήτου (
Από τις προηγούμενες συναναστροφές του με τον Slavko, ο Mirko γνωρίζει πώς λειτουργεί η κρυπτογράφηση OTP. Ας δούμε ένα απλό παράδειγμα. Ας υποθέσουμε ότι θέλετε να κωδικοποιήσετε τη συμβολοσειρά "
|
||
Αρχή | ASCII δεκαεξαδικό | Κρυπτογραφημένο μήνυμα |
Αρχικά, μετατρέπετε τόσο το κλειδί όσο και το απλό κείμενο σε δεκαεξαδικούς αριθμούς χρησιμοποιώντας την κωδικοποίηση ASCII. Στη συνέχεια, εφαρμόζετε τον τελεστή του
Είσοδος
Η πρώτη γραμμή περιέχει έναν ακέραιο
Η επόμενη γραμμή περιέχει
Έξοδος
Η πρώτη και μοναδική γραμμή θα πρέπει να περιέχει
Παραδείγματα
input
7
51 53 51 10 54 54 54
output
---.---
input
7
53 53 51 54 54 51 10
output
------.
Comments