Σημειωματάριο μιας χρήσης

Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια
Πήδηση στην πλοήγηση Πήδηση στην αναζήτηση
Σελίδα από σημειωματάριο μιας χρήσης του της NSA το 1981. Τα περιεχόμενα αριστερά έχουν βοηθητικό ρόλο για την μετατροπή του μηνύματος σε κρυπτογραφημένη μορφή, ενώ στα δεξιά βρίσκεται το κλειδί.

Το σημειωματάριο μιας χρήσης[1][2] (αγγλικά: one-time pad, συντομογραφία ως OTP) είναι κρυπτογραφική τεχνική η οποία εφόσον εφαρμοστεί επιτυχημένα είναι αδύνατο να παραβιαστεί ακόμα και αν υπάρχει άπειρος χρόνος και επεξεργαστική δύναμη για κάτι τέτοιο. Απαιτεί την χρήση ενός κλειδιού το οποίο είναι το ίδιο μέγεθος ή μεγαλύτερο από το κρυπτογραφημένο μήνυμα. Βάσει της τεχνικής αυτής τα περιεχόμενα του μηνύματος διασταυρώνονται με το μυστικό κλειδί (σημειωματάριο μιας χρήσης) όπου για κάθε χαρακτήρα του αρχικού μηνύματος γίνεται αντικατάσταση του με κάποιον χαρακτήρα από το κλειδί και μετασχηματισμός με την χρήση αριθμητικής ισοϋπόλοιπων.

Ετυμολογία[Επεξεργασία | επεξεργασία κώδικα]

Η περιγραφή ως σημειωματάριο προέρχεται από τις παλιές υλοποιήσεις της τεχνικής αυτής, όπου χρησιμοποιούνταν τετράδια τα οποία περιείχαν τις ακολουθίες των κλειδιών, και μόλις χρησιμοποιούνταν κάποιο κλειδί ήταν εύκολο να σκιστεί η σελίδα και να καταστραφεί ώστε να μην ξαναχρησιμοποιηθεί ποτέ. Κατά την διάρκεια του Ψυχρού Πολέμου, η KGB διέθετε τέτοια τετράδια σε εξαιρετικά μικρό μέγεθος, τόσο ώστε να χωρούν στην παλάμη του χεριού,[3] ή ακόμα και μέσα σε καρυδότσουφλο,[4] ενώ συχνά τα τετράδια ήταν τυπωμένα πάνω σε ιδιαίτερα εύφλεκτο υλικό έτσι ώστε να είναι εύκολη η γρήγορη καταστροφή τους.

Απαρχές[Επεξεργασία | επεξεργασία κώδικα]

Η πρώτη γνωστή θεωρητική περιγραφή τους έγινε για πρώτη φορά το 1882 από τον Φρανκ Μίλερ,[5][6] και η τεχνική επανεφευρέθηκε το 1917 και κατοχυρώθηκε νομικά στις ΗΠΑ ως ευρεσιτεχνία το 1919 από τον Γκίλμπερτ Βέρναμ για την χρήση του τελεστή XOR κατά την κρυπτογράφηση του μηνύματος,[7] και ο οποίος το επέκτεινε επί της δικής του ξεχωριστής μεθόδου που είχε δημιουργήσει παλαιότερα η οποία όμως ήταν ευάλωτη σε σχέση με το σημειωματάριο, καθώς επαναχρησιμοποιούσε τα κλειδιά και δεν υπήρχε ο παράγοντας του τυχαίου.[8] Συνειδητοποιήθηκε αργότερα πως αν τα χρησιμοποιούμενα κλειδιά ήταν τυχαία και δεν επαναχρησιμοποιούνταν, η όποια προσπάθεια αποκρυπτογράφησης θα ήταν αδύνατη.[9]

Προϋποθέσεις[Επεξεργασία | επεξεργασία κώδικα]

Εάν το κλειδί είναι πραγματικά τυχαίο, είναι τουλάχιστον όσο μεγάλο όσο το αρχικό μήνυμα, δεν ξαναχρησιμοποιηθεί ποτέ εξ ολοκλήρου ή εν μέρει, και παραμείνει απολύτως μυστικό, τότε η κρυπτογραφημένη μορφή του μηνύματος είναι αδύνατο να αποκρυπτογραφηθεί ή να παραβιαστεί.[10][11][12] Έχει επίσης αποδειχθεί πως ο οποιοσδήποτε αλγόριθμος προσφέρει τέλεια μυστικότητα θα πρέπει να χρησιμοποιεί κλειδιά με τα ίδια χαρακτηριστικά των σημειωματάριων μιας χρήσης.[13] Ωστόσο υπάρχουν πρακτικά προβλήματα τα οποία έχουν εμποδίσει την τεχνική αυτή από το να διαδοθεί και να χρησιμοποιηθεί ευρέως.

Παράδειγμα[Επεξεργασία | επεξεργασία κώδικα]

Α H E L L O μήνυμα (κείμενο)
7 4 11 11 14 μήνυμα (αριθμητική τιμή γραμμάτων)
Β X M C K L κλειδί (αντικατάσταση των αρχικών γραμμάτων)
23 12 2 10 11 κλειδί (αριθμοί των γραμμάτων της αντικατάστασης)
Γ 30 16 13 21 25 μήνυμα + κλειδί (άθροισμα των αριθμών των αρχικών γραμμάτων με τους αριθμούς του κλειδιού)
4 16 13 21 25 (μήνυμα + κλειδί) mod 26
Δ Ε Q N V Z τελική κρυπτογραφημένη μορφή

Η αποκρυπτογράφηση γίνεται με την αντίστροφη διαδικασία.

Παραπομπές[Επεξεργασία | επεξεργασία κώδικα]

  1. http://users.uom.gr/~steph/material/crypto/HAC_Ch06.pdf
  2. Κύπρου, Ανοιχτό Πανεπιστήμιο. «Ανοικτό Πανεπιστήμιο Κύπρου - Open University of Cyprus - Θεματικές Ενότητες ΑΥΔ» (στα αγγλικά). www.ouc.ac.cy. http://www.ouc.ac.cy/web/guest/s2/programme/ayd/modules?p_p_id=bs_courses&p_p_action=1&p_p_state=normal&p_p_mode=view&p_p_col_id=column-2&p_p_col_pos=3&p_p_col_count=4&_bs_courses_struts_action=/ext/courses/load&_bs_courses_mainid=13585&_bs_courses_loadaction=view&_bs_courses_redirect=/web/guest/s2/programme/ayd/modules. Ανακτήθηκε στις 2018-01-10. 
  3. «One-Time-Pad (Vernam's Cipher) Frequently Asked Questions, with photo». http://www.ranum.com/security/computer_security/papers/otp-faq. Ανακτήθηκε στις 2006-05-12. 
  4. «Walnut». cryptomuseum.com. http://cryptomuseum.com/covert/deaddrop/walnut.htm. Ανακτήθηκε στις 2018-01-11. 
  5. Miller, Frank (1882). Telegraphic code to insure privacy and secrecy in the transmission of telegrams. C.M. Cornwell. 
  6. Bellovin, Steven M. (2011). «Frank Miller: Inventor of the One-Time Pad». Cryptologia 35 (3): 203–222. doi:10.1080/01611194.2011.583711. ISSN 0161-1194. http://www.tandfonline.com/doi/abs/10.1080/01611194.2011.583711. 
  7. «'Secret signaling system patent' on Google.Com». google.com. http://www.google.com/patents/US1310719. 
  8. Kahn, David (1967). The Codebreakers. Macmillan, σελ. 398 ff. ISBN 0-684-83130-9. 
  9. Kahn, David (1996). The Codebreakers. Macmillan, σελ. 397–8. ISBN 0-684-83130-9. 
  10. «Intro to Numbers Stations». http://www.numbers-stations.com/intro. Ανακτήθηκε στις 13 September 2014. 
  11. «The only unbreakable cryptosystem known—the Vernam cipher». Pro-technix.com. http://www.pro-technix.com/information/crypto/pages/vernam_base.html. Ανακτήθηκε στις 2014-03-17. 
  12. «One-Time Pad (OTP)». Cryptomuseum.com. http://www.cryptomuseum.com/crypto/otp.htm. Ανακτήθηκε στις 2014-03-17. 
  13. Shannon, Claude (1949). «Communication Theory of Secrecy Systems». Bell System Technical Journal 28 (4): 656–715. doi:10.1002/j.1538-7305.1949.tb00928.x.