Topic outline

  • Γενικές Πληροφορίες

    Συντονιστής
    Θεόδουλος Γαρεφαλάκης
    Γραφείο Γ216
    Εmail tgaref@uoc.gr
    Ιστοσελίδα tgaref.github.io

    ΕΠΟΜΕΝΗ ΣΥΝΑΝΤΗΣΗ
    Ημέρα Παρασκευή 29/3
    Ώρα 17:00
    Αίθουσα zoom
  • Κρυπτογραφία: Υλικό για μελέτη

    Συγγράμματα
    1. D. Boneh, V. Shoup, A Graduate Course in Applied Cryptography.

    2. J. Katz, Y. Lindell, Introduction to modern cryptography, 3rd edition, CRC Press.

    3. Δ. Μ. Πουλάκης, Κρυπτογραφία: η επιστήμη της ασφαλούς επικοινωνίας, εκδόσεις Ζήτη.

    4. Γ. Αντωνιάδης, Α. Κοντογεώργης, Πεπερασμένα σώματα και κρυπτογραφία, Κάλλιπος.

    5. Ε. Ζάχος, Α. Παγουρτζής, Π. Γροντάς, Υπολογιστική Κρυπτογραφία, Κάλλιπος.

    6. M. Burmester, Σ. Γκρίτζαλης, Σ. Κάτσικας, Β. Χρυσικόπουλος, Σύγχρονη Κρυπτογραφία: Θεωρία και Εφαρμογές, εκδόσεις Παπασωτηρίου.

    7. A. J. Menezes, P. C. van Oorschot, S. A. Vanstone, Handbook of Applied Cryptography, CRC Press.

    8. V. Shoup, A Computational Introduction to Number Theory and Algebra, Cambridge University Press.

    9. J. von zur Gathen, J. Gerhard, Modern Computer Algebra, Cambridge University Press.

    Σύνδεσμοι
    • International Association for Cryptologic Research: Επιστημονική οργάνωση με σκοπό την προώθηση της έρευνας στην κρυπτoλογία. Διατηρεί το ελεύθερο αποθετήριο προδημοσιεύσεων ePrint Archive.

    • Cryptopals: Μία σειρά 48 κρυπτογραφικών ασκήσεων. Στόχος των ασκήσεων είναι η πρακτική υλοποίηση γνωστών επιθέσεων σε κρυπτογραφικά συστήματα.

    • CrypTool Portal: Ένα project ανάπτυξης ελεύθερα προσβάσιμου (ανοικτού κώδικα) διδακτικού υλικού σχετικού με κρυπτογραφία.

    • CryptoHack: Πλατφόρμα με κρυπτογραφικά προβλήματα, πολλά από τα οποία απαιτούν αλληλεπίδραση με την πλατφόρμα.

    • MysteryTwister: Πλατφόρμα με κρυπτογραφικά προβλήματα διαβαθμισμένης δυσκολίας.

    Σημειώσεις από τις συναντήσεις
  • Ancient Cryptosystems

    Διαβάστε εδώ πώς μπορεί κανείς να επιτεθεί στο σύστημα μονοαλφαβητικής αντικατάστασης με ένα αλγόριθμο τύπου Monte Carlo. Μπορείτε να δείτε μία προσπάθεια υλοποίησης της μεθόδου του Persi Diaconis.

    Το one-time-pad (OTP) είναι ασφαλές εφόσον κάθε κλειδί χρησιμοποιείται μία φορά. Σε αυτή την εργασία θα αποκρυπτογραφήσετε μηνύματα που έχουν κρυπτογραφηθεί με το OTP χρησιμοποιώντας το ίδιο κλειδί. Για μία πραγματική ιστορία "αποτυχίας" του  OTP, λόγω επανειλλημένης χρήσης του κλειδιού, ψάξτε για το project Venona.

    Το OTP είναι ασφαλές εναντίον παθητικών αντιπάλων, δηλαδή αντιπάλων που παρακολουθούν την επικοινωνία, αλλά δεν παρεμβαίνουν. Είναι όμως ανεπαρκές όταν ο αντίπαλος είναι ενεργητικός. Στην εργασία αυτή θα δούμε
    ένα παράδειγμα μίας τέτοιας επίθεσης.

  • Symmetric Cryptography

    \(\)Όπως είδαμε, το βασικό μειωνέκτημα της τέλειας ασφάλειας είναι ότι κάθε κλειδί μπορεί να χρησιμοποιηθεί μόνο μία φορά και πρέπει να έχει μέγεθος ίσο με το μέγεθος του μηνύματος. Για να μπορούμε να κατασκευάσουμε και να μελετήσουμε κρυπτοσυστήματα τα οποία θα είναι πιο πρακτικά, πρέπει να χαλαρώσουμε τις απαιτήσεις μας για το τι σημαίνει ασφαλές κρυπτοσύστημα. Αυτή η χαλάρωση γίνεται σε δύο άξονες:

    1. περιορίζουμε τις δυνατότητες του αντιπάλου, απαιτώντας να είναι αποτελεσματικός αλγόριθμος (πολυωνυμικού χρόνου αλγόριθμος) και
    2. επιτρέπουμε η πιθανότητα ο αντίπαλος να μπορεί να αναγνωρίσει ποιό μήνυμα έχει κρυπτογραφηθεί (μεταξύ δύο οποιονδήποτε μηνυμάτων της επιλογής του) να είναι μεγαλύτερη από $1/2$ (που είναι τετριμμένο να επιτευχθεί), αλλά μεγαλύτερη κατά αμελητέα ποσότητα.

    Αυτό μας οδηγεί στην έννοια της σημασιολογικής ασφάλειας (semantic security).

    Μία κατασκευή ένος κρυπτοσυστήματος που ικανοποιεί τον ορισμό της σημασιολογικής ασφάλειας είναι ουσιαστικά το OTP, όπου όμως το κλειδί πλέον δεν είναι πραγματικά τυχαία ακολουθία ψηφίων, αλλά παράγεται ντετερμινιστικά από ένα αλγόριθμο με είσοδο μία αρχική τιμή (seed), η οποία έχει επιλεγεί τυχαία. Για να  είναι ασφαλές το κρυπτοσύστημα, η ακολουθία θα πρέπει να μοιαζει τυχαία (ενώ δεν είναι!) σε κάθε επιτιθέμενο. Αυτό μας οδηγεί στον ορισμό της ψευδοτυχαίας γεννήτρια αριθμών (Pseudorandom Number Generator, PRG).

    "Ψευδοτυχαίες γεννήτριες" όπως ο Linear Congruencial Generator (LCG) χρησιμοποιούνται ευρέως για επιστημονικούς υπολογισμούς, αλλά δεν είναι ασφαλείς με την έννοια που απαιτεί η κρυπτογραφία. Στην εργασία αυτή θα το δείξετε! Ο stream cipher που προκύπτει αν χρησιμοποιήσουμε ένα LCG, φυσιολογικά, δεν είναι σημασιολογικά ασφαλής. Δείξτε το σε αυτή την εργασία!

  • Public Key Cryptography

  • Cryptographic Protocols