Παραδείγματα κρυπτολογίας

Contents

Παραδείγματα κρυπτολογίας

Δεδομένου ότι η συμμετρική κρυπτογράφηση είναι τόσο πιο γρήγορη, μπορείτε πρώτα να δημιουργήσετε ένα μυστικό κλειδί και να το μεταδώσετε σε μια γραμμή που εξασφαλίζεται από την κρυπτογραφία δημόσιου κλειδιού. Τώρα όλη η μελλοντική επικοινωνία μπορεί να χρησιμοποιήσει το μυστικό κλειδί.

Διαφορά μεταξύ κρυπτογραφίας και κρυπτολογίας

Κρυπτογράφηση είναι η μελέτη της μετατροπής απλού κειμένου (αναγνώσιμη μορφή) σε κρυπτογράφημα (μη αναγνώσιμη μορφή) i.μι. κρυπτογράφηση. Ονομάζεται επίσης Μελέτη της κρυπτογράφησης. Κρυπτολογία, Από την άλλη πλευρά, είναι η μελέτη της μετατροπής του απλού κειμένου σε κρυπτογράφημα και αντίστροφα. Ονομάζεται επίσης Μελέτη της κρυπτογράφησης και της αποκρυπτογράφησης. Μια σημαντική διαφορά είναι ότι η κρυπτολογία είναι ο γονέας της κρυπτογραφίας. Ας δούμε τις άλλες διαφορές.

SL ΟΧΙ. Κρυπτογράφηση Κρυπτολογία
1. Η κρυπτογραφία είναι η διαδικασία μετατροπής απλού κειμένου στο κείμενο κρυπτογράφησης. Η κρυπτολογία είναι η διαδικασία μετατροπής απλού κειμένου στο κείμενο κρυπτογράφησης και αντίστροφα.
2. Ονομάζεται επίσης μελέτη κρυπτογράφησης Ονομάζεται επίσης μελέτη κρυπτογράφησης και αποκρυπτογράφησης.
3. Λαμβάνει χώρα στην πλευρά του αποστολέα Λαμβάνει χώρα στην πλευρά του αποστολέα και του δέκτη
4. Στην κρυπτογραφία, ο αποστολέας στέλνει το μήνυμα στον δέκτη. Στην κρυπτολογία, τόσο ο αποστολέας όσο και ο δέκτης στέλνουν μηνύματα ο ένας στον άλλο.
5. Η κρυπτογραφία μπορεί να θεωρηθεί ως παιδί της κρυπτολογίας. Η κρυπτολογία μπορεί να θεωρηθεί ως γονέας της κρυπτογραφίας
6. Η κρυπτογραφία ασχολείται με τις τεχνικές ασφαλούς επικοινωνίας. Η κρυπτολογία ασχολείται με τη μελέτη της ασφαλούς επικοινωνίας.
7. Η κρυπτογραφία επικεντρώνεται στην πρακτική της απόκρυψης πληροφοριών Η κρυπτολογία επικεντρώνεται στις θεωρητικές και μαθηματικές πτυχές της ασφάλειας των πληροφοριών
8. Η κρυπτογραφία περιλαμβάνει κρυπτογράφηση, αποκρυπτογράφηση και τεχνικές ελέγχου ταυτότητας Η κρυπτολογία περιλαμβάνει τη μελέτη των κωδικών, των κρυπτογράφων και της κρυπτοαναλύσεων
9. Η κρυπτογραφία ασχολείται με την ανάπτυξη αλγορίθμων και πρωτοκόλλων Η κρυπτολογία ασχολείται με την ανάλυση και τη διάσπαση των υφιστάμενων μεθόδων κρυπτογράφησης
10. Κρυπτογραφία που χρησιμοποιείται σε διάφορους τομείς όπως χρηματοδότηση, ηλεκτρονικό εμπόριο και εθνική ασφάλεια Κρυπτολογία που χρησιμοποιείται στον ακαδημαϊκό χώρο και την έρευνα για την κατανόηση και τη βελτίωση της κρυπτογράφησης
11. Η κρυπτογραφία περιλαμβάνει εφαρμογές όπως ασφαλή μηνύματα, ασφαλή μεταφορά αρχείων και ψηφιακές υπογραφές. Η Cryptology περιλαμβάνει εφαρμογές όπως κρυπτοαναλύσεις, σπάσιμο κώδικα και μαθηματική ανάλυση των μεθόδων κρυπτογράφησης.

Τελευταία ενημέρωση: 09 Μαρ, 2023

Παρόμοια μικρογραφία ανάγνωσης

Όπως το άρθρο

Κρυπτολογία

Αυτές οι σημειώσεις χρησιμεύουν ως εισαγωγή στο Crypto και όχι ως πλήρες πρόγραμμα σπουδών για να σας κάνουν έναν ειδικό που έχει άδεια να εφαρμόσει κρυπτογράφους, hashes, υπογραφές ή κάτι τέτοιο σε οποιαδήποτε εφαρμογή πραγματικού κόσμου. Σίγουρα, είναι καλό να παίζετε στο σπίτι, αλλά μην προσπαθήσετε ποτέ να εφαρμόσετε κρυπτογραφικές ρουτίνες για έναν πελάτη ή τη δική σας εταιρεία. Αφήστε το στους επαγγελματίες. Υπάρχουν καλές βιβλιοθήκες εκεί έξω. ΧΡΗΣΙΜΟΠΟΙΗΣΕ τους.

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

Αυτή ήταν μια σημαντική ανακοίνωση δημόσιας υπηρεσίας.

Ιστορικό

Είναι συμβατικό να μιλάμε για το Crypto σε ένα περιβάλλον με μερικούς χαρακτήρες που ονομάζονται Alice (The Sender), Bob (ο δέκτης), Eve (The Eavesdropper) και Mallroy (ένας ισχυρός κακόβουλος ηθοποιός).

cryptosystem.png

Η Alice και ο Bob μπορούν να είναι άνθρωποι, πελάτες και διακομιστές, υπολογιστές από ομοτίμους, καταστήματα δεδομένων, δρομολογητές δικτύου κ.λπ. Η Εύα μπορεί να παρατηρήσει την επικοινωνία. Το Mallory δεν μπορεί μόνο να παραπλανήσει, αλλά και να παραπλανήσει έναν από τους συμμετέχοντες, να προσθέσει, να τροποποιήσει ή να διαγράψει τα πραγματικά μηνύματα, να κατακλύσει τη σύνδεση, να κάνει μια άρνηση υπηρεσίας, να εισαγάγει κακόβουλο λογισμικό κ.λπ.

Γκολ:

  • : Θα πρέπει να κοστίσει περισσότερο για την ανάκτηση $ m $ από $ m $ αξίζει.
  • : Ο Bob θα πρέπει να είναι σε θέση να επαληθεύσει ότι ήταν η Αλίκη που έστειλε $ M $.
  • : Ο Bob θα πρέπει να είναι σε θέση να επαληθεύσει ότι το $ M $ δεν είχε παραβιαστεί.
  • : Η Αλίκη δεν θα πρέπει να είναι σε θέση να αρνηθεί την αποστολή $ m $.
  • Εάν ο μυστικός σας αλγόριθμος διακυβεύεται (κάποιος μπορεί να αφήσει την ομάδα σας), πρέπει να το αλλάξετε και αυτό είναι πολύ πιο δύσκολο από το να αλλάξετε ένα κλειδί!
  • Οι δημόσιοι αλγόριθμοι μπορούν να υποβληθούν σε χιλιάδες εμπειρογνώμονες που αναζητούν ελαττώματα, οπότε έχετε κάποιο βαθμό εμπιστοσύνης σε εκείνους που αντέχουν στον έλεγχο.

Ορισμοί

Λέξεις που πρέπει να γνωρίζετε: Κρυπτογραφία Η τέχνη και η επιστήμη του κατασκευή κρυπτογράφοι. Κρυπτοανάλυση Η τέχνη και η επιστήμη του σπάσιμο κρυπτογράφηση, εγώ.μι., Η εξαγωγή του $ m $ που δίνεται $ c $, $ e $, $ d $, και ενδεχομένως $ k_e $. Κρυπτολογία Η μελέτη της κρυπτογραφίας και της κρυπτοαναλύσεων.

Ασκηση: Μάθετε για τη Steganography. Πώς διαφέρει από την κρυπτογραφία?

Cryptosystem Μια συγκεκριμένη σουίτα αλγορίθμων και πρωτοκόλλων για κρυπτογράφηση, αποκρυπτογράφηση και γενιά κλειδιών. Παραδείγματα: Cramer-Shoup Cryptosystem, Rabin Cryptosystem, Benaloh Cryptosystem, RSA Cryptosystem. Κρυπτογραφικό σύστημα οποιοδήποτε σύστημα που χρησιμοποιεί κρυπτογραφία. Κρυπτογραφήστε έναν αλγόριθμο που χρησιμοποιείται σε ένα κρυπτοσυστήματα.

Ασκηση: Πώς διαφέρει ένας “κωδικός” από ένα “κρυπτογράφημα”? Οι κωδικοί είναι πιο ασφαλείς από τους κρυπτογράφους? Γιατί δεν χρησιμοποιούνται τόσο συχνά?

Σύγχυση Η ιδιότητα της ύπαρξης της σχέσης μεταξύ του απλού κείμενο, του κρυπτογράφου και του κλειδιού τόσο περίπλοκη ώστε να είναι άχρηστη για τον κρυπτανία. Διάχυση Η ιδιότητα της ύπαρξης στατιστικών μοτίβων στο τοπίο εξαπλώνεται ευρέως σε όλο το κρυπτογράφημα.

Χρονοδιαγράμματα

  • Το άρθρο της ιστορίας της κρυπτογραφίας της Wikipedia
  • Το χρονοδιάγραμμα της Wikipedia
  • Το χρονοδιάγραμμα του Carl Ellison

Είδη κρυπτογράφων

  • : Ένας κρυπτογραφημένος αρκετά εύκολος για να εκτελείται με το χέρι, συνήθως με βάση το χαρακτήρα. Επίσης λέγεται .
  • : Σχεδόν κάθε κρυπτογράφημα που δεν είναι κλασικό.
  • : Κάθε χαρακτήρας του κείμενο αντικαθίσταται με έναν ή περισσότερους χαρακτήρες για να φτιάξετε το κρυπτογράφημα.
  • : Οι χαρακτήρες στο απλό κείμενο αναδιαμορφώνονται για να σχηματίσουν το κρυπτογράφημα.
  • : Ένας κρυπτογραφικός κρυπτογράφηση στον οποίο ένας χαρακτήρας του απλού κείμενο αντικαθίσταται πάντα από τον ίδιο χαρακτήρα.
  • : Ένας κρυπτογραφημένος υποκατάσταση που χρησιμοποιεί ουσιαστικά πολλαπλές χαρτογραφήσεις μονοαλφητικής υποκατάστασης.
  • : Μια υποκατάσταση στην οποία ένας χαρακτήρας μπορεί να χαρτογραφήσει σε ένα από τα ένα σύνολο χαρακτήρων.
  • : Αντίσταση μπλοκ χαρακτήρων για μπλοκ χαρακτήρων.
  • : Ένας πολυαλφητικός κρυπτογραφημένος στον οποίο επαναλαμβάνεται το σχήμα αντικατάστασης.
  • : Αυτοενεργή εάν καταλαβαίνετε περιοδικά.
  • : Η κρυπτογράφηση λαμβάνει χώρα όχι ανά χαρακτήρα αλλά ανά μπλοκ χαρακτήρων.
  • : Ένας κρυπτογραφημένος που λειτουργεί σε μια ροή δεδομένων άγνωστου μήκους, συνήθως ενσωματώνοντας ανατροφοδότηση.
  • : Ένας κρυπτογραφημένος στο οποίο $ k_e $ και $ k_d $ είναι το ίδιο ή ασήμαντο παράγωγο το ένα από το άλλο. Απαιτεί από τα μέρη να συναντηθούν μυστικά για να ανταλλάξουν τα κλειδιά που θα χρησιμοποιήσουν. Επίσης λέγεται .
  • : Ένα σχέδιο στο οποίο το κλειδί κρυπτογράφησης όλων είναι γνωστό στο κοινό, αλλά το κλειδί αποκρυπτογράφησης διατηρείται μυστικό. Επίσης λέγεται .
  Cyberghost 6 Δεν συνδέεται

Οι κρυπτογράφοι είναι διασκεδαστικοί για να μελετήσουν, αλλά ποικίλλουν ευρέως όσον αφορά τη χρησιμότητά τους στην ασφάλεια. Ένα από τα μεγαλύτερα ελαττώματα ασφαλείας σε ένα σύστημα είναι η κατάχρηση κρυπτογράφησης. Αυτό είναι σωστό: το πρόβλημα είναι η κατάχρηση του, όχι η παράλειψή του!

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

Μυστική κρυπτογραφία κλειδιού

  • Εάν $ n $ άτομα σε μια ομάδα πρέπει να επικοινωνούν, χρειάζονται $ \ frac $ πλήκτρα.
  • Τα κλειδιά πρέπει να διανέμονται με ασφάλεια (μυστικά).
  • Τα κλειδιά πρέπει να διατηρούνται ασφαλή.
  • Τα κλειδιά πρέπει να αλλάζουν συχνά, τα οποία τροφοδοτούν πίσω στον πονοκέφαλο διανομής.

Στα παραδείγματα που βασίζονται σε χαρακτήρες παρακάτω, θα υποθέσουμε (χωρίς καμία απώλεια γενικότητας) ένα αλφάβητο 26 συμβόλων (α..Ζ).

Καίσαρας

Ένας εντελώς αξιολύπητος και ανασφαλής κρυπτογράφος με σύγχρονα πρότυπα. Το κλειδί κρυπτογράφησης $ k_e $ είναι ένας μικρός ακέραιος και $ k_d = k_e $. Για να κρυπτογραφήσετε, προσθέστε $ k_e $ σε κάθε χαρακτήρα απλού κείμενο. Για να αποκρυπτογραφήσετε, αφαιρέστε. Για παράδειγμα, με k = 5, το Attackatdawn γίνεται fyyfhpfyifbs trivial για να σπάσει: απλά μαντέψτε $ k_e $.

Μονοαλφική υποκατάσταση

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

Abcdefghijklmnopqrstuvwxyz mqhpsvjycurftbilakwngzdoexex

Έτσι το Attackatdawn είναι τώρα mnnmhrmnpmdb . Δεν το σπάνε αυτό μαντεύοντας το κλειδί (υπάρχουν $ n!$ πιθανά κλειδιά), αλλά η ανάλυση συχνότητας μπορεί να σπάσει κάθε κρυπτογραφικό μονοαλφητικό υποκατάσταση, υπό την προϋπόθεση ότι το μήνυμα είναι αρκετά μεγάλο. Για τις τεχνικές των οποίων το κλειδί είναι μια μετάθεση, ένας τρόπος για να γίνει το κλειδί ευκολότερο να θυμόμαστε είναι να επιλέξετε μια φράση, να τοποθετήσετε τα μοναδικά γράμματα και στη συνέχεια να συμπληρώσετε τα γράμματα που λείπουν με τη σειρά. Για παράδειγμα, η πρόωρη βελτιστοποίηση είναι η ρίζα όλων των κακών αποδίδει αυτή τη χαρτογράφηση υποκατάστασης:

Prematuoiznshflvbcdgjkqwxy

Ομοφωνική υποκατάσταση

Κάθε γράμμα γράμματος με ένα ή περισσότερα σύμβολα στο κρυπτογράφημα. Ο αριθμός των στόχων πρέπει να είναι ανάλογος με τη συχνότητα του (για να νικήσει την ανάλυση συχνότητας). Παράδειγμα:

A 12 15 36 50 56 70 81 95 B 51 84 C 16 44 65 D 04 06 48 82 E 01 17 19 34 47 49 58 60 67 77 85 90 F 13 27 G 09 28 H 26 42 53 59 68 71 I 35 73 73 76 86 91 96 J 18 K 07 L 29 40 54 87 m 25 30 n 21 61 62 69 74 94 o 02 03 08 10 57 75 93 p 41 98 q 97 r 32 38 43 45 80 83 s 14 22 39 79 89 99 99 99 T 00 20 23 33 46 52 72 78 88 U 11 64 66 V 37 W 63 92 x 31 y 24 55 z 05

Για να κρυπτογραφήσετε, επιλέξτε τυχαία Μεταξύ των δυνατοτήτων. Για παράδειγμα, μια πιθανή κρυπτογράφηση του Attackatdawn είναι:

56 78 20 95 65 07 12 72 06 50 92 61

Απλό vigenère

Ο κρυπτογραφημένος που είναι γνωστός ως ο Vigenère καθόλου. Φαίνεται ότι έχει περιγραφεί για πρώτη φορά από τον Giovan Battista Bellaso. Το κλειδί είναι μια συμβολοσειρά που προσθέτετε στο απλό κείμενο με αρθρωτή προσθήκη, όπως σε αυτό το παράδειγμα (a = 0, b = 1, c = 2, . Z = 25):

PlainText: TakeAcopyofyourpolicyTonorMawilcoxonTheThirdfloor Key: Quarkququququarchquarchququququarkquar Ciphertext: Jukvksippyvsolbfilzmeroeyhgansbwooydnhvdxcrupbioi

Για να δημιουργήσετε κρυπτογράφημα με το χέρι, μπορείτε να χρησιμοποιήσετε έναν τροχό κώδικα ή ένα ορθό Tabula Recta. Αυτό το σχήμα δεν είναι ασφαλές, καθώς το κλειδί επαναλαμβάνεται. Εάν το μήκος κλειδιού μπορεί να προσδιοριστεί, ο κρυπτανία μπορεί να κάνει πολλαπλές αναλύσεις συχνότητας (μία για κάθε τιμή μετατόπισης στο κλειδί). Μέθοδοι για τον προσδιορισμό του μήκους του κλειδιού είναι η μέθοδος Kaisiski και η δοκιμή Friedman. Για δυαδικά δεδομένα (i.μι., μια ακολουθία bits) Η αρθρωτή προσθήκη βάσης-2 είναι απλά ένα απλό XOR. Παράδειγμα:

Plaintext: 0110000101010000111101001010101010010000001111101 Key: 0000011100000111000001110000011100000111000001110 Ciphertext: 0110011001010111111100111010110110010111001110011

Vigenère Auto-Key

Ο Vigenère δημιούργησε στην πραγματικότητα ένα Autokey Cipher που είναι ισχυρότερο επειδή το κλειδί δεν επαναλαμβάνεται ποτέ. Αντ ‘αυτού, το “κλειδί” αποτελείται από την κλειδαριά που ακολουθείται από το απλό κείμενο, όπως αυτό:

PlainText: TakeacopyofyourpolicyTonorMawilcoxonTheThirdfloor Key: QuarktakeacopyofyourpolicyorOrmawilcoxonThETHINC CIPHERTEXT: Jukvkvozcohmdsfumzctnhzvqpfojwcootwyvvbhubyhyswfu

Αυτό χρησιμοποίησε το απλό κείμενο ως μέρος του κλειδιού. Θα μπορούσατε επίσης να χρησιμοποιήσετε το κρυπτογράφημα. Δες πως?

Σύγχρονα κρυπτογράφηση αυτόματου κλειδιού

Μπορείτε ακόμα να σπάσετε τα autokey vigenère ciphers με γλωσσική ανάλυση, επειδή το κλειδί περιέχει κείμενο και είναι επομένως πιθανό να έχει γράμματα υψηλής συχνότητας. Οι σύγχρονες κρυπτογράφηση αυτόματου κλειδιού παράγουν τις τιμές μετατόπισης με μια γεννήτρια τυχαίων αριθμών. Οι βασικοί σπόροι η γεννήτρια.

Ασκηση: Εφαρμόστε ένα Autokey Cipher στη γλώσσα προγραμματισμού της επιλογής σας.

Ένα μαξιλάρι

  • είναι όσο το δυνατόν περισσότερο από το μήνυμα που κρυπτογραφείται
  • δημιουργείται πραγματικά τυχαία
  • χρησιμοποιείται μία και μόνο μία φορά

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

Παίζω δίκαια

Αυτό είναι ένα παράδειγμα ενός . Αντικαθιστά ζευγάρια χαρακτήρων. Το κλειδί είναι μια μετάθεση του , για παράδειγμα:

Z c b m l g d a q e t u k h f s x v n p i y r w
  • Έστω $ (a, b) $ να είναι η σειρά και η στήλη του πρώτου χαρακτήρα και $ (c, d) $ να είναι η σειρά και η στήλη του δεύτερου.
  • Εάν $ a \ neq c $ και $ b \ neq d $ τότε επιστρέψτε $ (a, d) (b, c) $.
  • Εάν $ a = c $ τότε επιστρέψτε $ (a, (b+1) \ bmod 5) (c, (d+1) \ bmod 5) $.
  • Εάν $ b = d $ τότε επιστρέψτε $ ((a+1) \ bmod 5, b) ((c+1) \ bmod 5, d) $.
Στη συνέχεια, επιτεθείτε από την Ανατολή ⇒ th en in t -ac kf ro mt he xe ως tx ⇒ ut hw go fo db tv yk zk nh na dx of ⇒ uthwgofodbtvykzknhnadxof

Η αποκρυπτογράφηση εκτελεί τους κανόνες αντίστροφα. Το Playfair Cipher είναι αρκετά ανασφαλές.

  1 clic VPN

Τετράπλευρος

Κρυπτογραφεί digraphs όπως playfair, αλλά ελαφρώς ισχυρότερη επειδή επιτρέπει διπλά γράμματα και δεν δίνει αντιστρεπτά digraphs ciphertext για αντιστρεπτά digraphs plaintext digraphs. Παράδειγμα

A B C D E G I V E M F G H I K L B R T Y L M N O P O D A H C Q R S T U F K N P Q W X Y Z S U W X Z P R E M A B C D E T U O I Z F H I K N S H F L L M O P B C D G Q R U H y
Στη συνέχεια, επιτεθείτε από την Ανατολή ⇒ th en at ta ck fr om om thee ως tx ⇒ ni vl ev fm mo bv df ni ma vv nx ⇒ uthwgofodbtvykzknhnadxof

Εντάξει, τόσο ελαφρώς ισχυρότερο από το playfair, αλλά τι λοιπόν? Οι υπολογιστές μπορούν να σπάσουν αυτά τα πράγματα σε δευτερόλεπτα, ή ίσως λεπτά (δεδομένου αρκετά κρυπτογράφου).

Απλή μεταφορά μπλοκ

Ο απλούστερος κρυπτογραφημένος κρυπτογράφος διαλύει το μήνυμα σε μπλοκ μεγέθους $ n $, και στη συνέχεια ανακατεύει κάθε μπλοκ σύμφωνα με μια μετάθεση $ (1..n) $. Για παράδειγμα, εάν το κλειδί μας είναι $ (4,1,6,3,2,5) $, το μήνυμα getThathealthInspector είναι κρυπτογραφημένο ως tgatehattehlsheniprcot .

Μεταφορά στήλης

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

Σιδηροδρομικός φράκτης

Ο σιδηροδρομικός φράκτης δεν είναι καλύτερος από τον τελευταίο, απλά πιο διασκεδαστικό. Το κλειδί είναι ο αριθμός των σιδηροτροχιών στις οποίες γράφετε το απλό κείμενο με μόδα πάνω και κάτω, δημιουργώντας το κρυπτογράφημα διαβάζοντας μία σιδηροτροχιά τη φορά. Παράδειγμα: Για να κρυπτογραφήσετε “συμπληρώστε και αρχειοθετήστε ένα έντυπο WS2475” σε 4 ράγες:

f t l 4 m i u a i e 2 7 r l o n f a s 5 o l d w f

Στη συνέχεια, διαβάζετε το κρυπτογράφημα “ftl4miuaie27rlonfas5oldwf” . Αυτό είναι ασήμαντο για να σπάσει. Απλά μαντέψτε $ k $.

Συνδυασμός υποκατάστασης και μεταφοράς

Η μεταφορά από μόνη της είναι πολύ αδύναμη. Η υποκατάσταση μόνο είναι πολύ αδύναμη. Ο συνδυασμός τους είναι καλύτερος. Μπορείτε να αναμίξετε πολλούς από τους κλασικούς κρυπτογράφους υποκατάστασης με διάφορες μεταθέσεις ή να χρησιμοποιήσετε μερικούς ειδικούς κρυπτογράφους συνδυασμού όπως το BIFID. Επίσης, οι περισσότερες από τις διάσημες μηχανές ρότορα και οι σύγχρονες κρυπτογράφηση χρησιμοποιούν αυτόν τον συνδυασμό. Στην πραγματικότητα εφαρμόζουν αυτές τις μετασχηματισμούς πολλές φορές.

Διφώ

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

Z c b m l g d a q e t u k h f s x v n p i y r w

Γράψτε τις συντεταγμένες (σειρά, στήλη) κάτω από κάθε γράμμα του απλού κείμενο (e.σολ., Το “A” βρίσκεται στη σειρά 1, στήλη 2. Το “T” βρίσκεται στη σειρά 2, στήλη 0, κλπ.)

Attackatdawn 122102121143 200213201244

Στη συνέχεια, διαβάστε σε σειρές, ομαδοποιήστε με δύο και αναζητήστε τα γράμματα κρυπτογράφησης:

122102121143200213201244 A U B A D R T B Q T A W

Τρισχιδής

Σαν bifid, αλλά σε έναν κύβο. Παράδειγμα:

Z C B M L F V N P G D A Q E X I R W T U O K H S Y . J

Για να κρυπτογραφήσετε, πρώτα γράψτε τις συντεταγμένες:

Attackatdawn 000001000022 122102121110 200210201221
000001000022122102121110200210201221 z c z o s f h q v i n .

Αίνιγμα

  • Κανένα γράμμα δεν θα κρυπτογραφούσε στον εαυτό του
  • Η αυτο-αποδοτικότητα σήμαινε ότι υπήρχαν λιγότερες δυνατότητες εγκατάστασης scrambler
  • Ήταν πραγματικά εύκολο να βρεις παχνιά. Τα περισσότερα μηνύματα ξεκίνησαν με μια αναφορά καιρού.
  • Από νωρίς, τα πλήκτρα μηνυμάτων εμφανίστηκαν δύο φορές διαδοχικά.

Σύγχρονες κρυπτογραφικές μεθόδους

  • Λειτουργήστε σε χορδές bit, όχι σε χορδές χαρακτήρων
  • Προσέξτε να καλύψετε εντελώς τα πρότυπα και τις απολύσεις στο τοπίο
  • Χρήση τυχαίος Κλειδιά (που μπορούν να επαναχρησιμοποιηθούν)
  • Βεβαιωθείτε ότι οι πολύ μικρές αλλαγές στο απλό κείμενο επηρεάζουν ένα μεγάλο μέρος του κρυπτογράφου (και αντίστροφα). Αυτό ονομάζεται Φαινόμενο χιονοστιβάδας.
  • Αποτελεσματικός
  • Ανεκτικός σε σφάλματα
  • ΕΚΤ – ηλεκτρονικό βιβλίο κωδικών
  • CBC – Cipher Block Chaining
  • CFB – Ανατροφοδότηση κρυπτογράφησης
  • OFB – Ανατροφοδότηση εξόδου
  • CTR – Counter
  • Π.Χ. – μπλοκ αλυσίδων
  • PCBC – Αλυσίδα μπλοκ κρυπτογράφησης
  • CBCC – Cipher Block Chaining με ελέγχου ελέγχου

Ερασιτέχνης

ΙΔΕΑ

RC4

Rc6

Φούσκωμα

Δίδυμος

ΑΕ

Στο Wikipedia AES είναι το νέο πρότυπο, αντικαθιστώντας το DES. Ήταν ο νικητής του διαγωνισμού (το 2001), όπου υποβλήθηκε με το όνομα Rijndael, χτυπώντας RC6, Serpent, Mars και Twofish.

Βασικός ανταλλαγή

diffiehelman.png

Diffie και Hellman (οι νικητές του βραβείου Turing 2015 και ο φίλος τους Merkle έδειξαν το 1976 ότι ήταν δυνατό για δύο άτομα να ανταλλάξουν ένα μυστικό κλειδί χωρίς να χρειάζεται να συναντηθώ με μυστικό:

  • Η Αλίκη επιλέγει ένα πρωταρχικό $ n $ και το στέλνει στο σαφές στον Μπομπ
  • Η Αλίκη επιλέγει ένα πρωτόγονο root mod $ n $ (πώς να βρείτε), που ονομάζεται $ G $, και το στέλνει στο The Clear to Bob
  • Η Αλίκη επιλέγει ένα μυστικό ακέραιο $ A $ και στέλνει $ g^a \ bmod n $ στο σαφές για τον Bob
  • Ο Bob επιλέγει ένα μυστικό ακέραιο $ b $ και στέλνει $ g^b \ bmod n $ στο σαφές στην Αλίκη
  • Η Alice Computes ($ g^b \ bmod n)^a \ bmod n $ και bob compores ($ g^a \ bmod n)^b \ bmod n $. Αυτό είναι το κλειδί! (Είναι $ g^ \ bmod n $)

Αυτό είναι πιθανώς ασφαλές, με την προϋπόθεση ότι το $ n $ είναι πολύ μεγάλο και το $ \ frac $ είναι επίσης πρωταρχικό, διότι αν και η Εύα γνωρίζει $ g $, $ n $, $ g^a \ bmod n $ και $ g^b \ bmod n $, υπάρχει Χωρίς γνωστό αποτελεσματικό τρόπο Για να πάρετε $ A $ ή $ B $ από αυτά. Αυτό είναι το διακριτό πρόβλημα λογαρίθμου, θυμηθείτε? Παράδειγμα με μικρά $ n $:

  • Η Αλίκη επιλέγει $ n = 208799 $ και $ g = 13 $ και τα στέλνει στον Bob
  • Η Alice επιλέγει $ A = 152335 $ και ο Bob επιλέγει $ B = 98113 $
  • Η Alice στέλνει τον Bob $ 13^ \ BMOD 208799 = 73033 $
  • Ο Bob στέλνει την Alice $ 13^ \ bmod 208799 = 147540 $
  • Η Alice υπολογίζει $ 147540^ \ BMOD 208799 = 8435 $
  • Ο Bob υπολογίζει $ 73033^ \ BMOD 208799 = 8435 $
  • Το μυστικό κλειδί είναι $ 8435 $.

Μην το κάνετε πραγματικά με μικρές τιμές $ n $. Σε γενικές γραμμές, αν δεν λάβετε κάποιο είδος πιστοποίησης, μην προσπαθήσετε να εξασφαλίσετε μόνοι σας συστήματα πραγματικού κόσμου. Αλλά φυσικά προχωρήστε και μάθετε τους αλγόριθμους και την πρακτική κωδικοποίηση για τώρα.

Δημόσια κρυπτογραφία κλειδιού

Δημόσια κλειδί ciphers λύση του βασικού εφιάλτη διαχείρισης των μυστικών κρυπτογράφων, με το κόστος ταχύτητας. Σε μια ομάδα $ n $ οι άνθρωποι χρειάζονται μόνο $ n $ δημόσια κλειδιά και $ n $ ιδιωτικά κλειδιά.

RSA Cryptosystem

  • Δημιουργεί δύο μεγάλες αρχές, $ p $ και $ q $.
  • Επιλέγει μια τιμή $ e $ σχετικά πρωταρχική σε $ (p-1) (q-1) $.
  • Δημοσιεύει το δημόσιο κλειδί του $ (n, e) $ όπου $ n = pq $.
  • Υπολογίζει $ d $ = modular αντίστροφο του $ e $ σε σχέση με $ (p-1) (q-1) $, διατηρώντας το μυστικό.
  • Καταστρέφει $ p $ και $ q $.
  • Για την Αλίκη να στείλει ένα μήνυμα $ M $ στον Bob, στέλνει $ c = m^e \ bmod n $.
  • Ο Bob αποκρυπτογραφεί αυτό εύκολα επειδή $ m = c^d \ bmod n $.
  VPN Eyes

Ασκηση: Ερευνήστε τα μαθηματικά πίσω από το RSA. Γιατί λειτουργεί λεπτομερώς? Η απάντησή σας θα χρησιμοποιήσει τα θεωρήματα στα οποία αποτελούν τη λειτουργία του Euler. Βεβαιωθείτε ότι έχετε δείξει πώς μειώνεται στα $ (p-1) (q-1) $ όταν το $ pq $ είναι πρωταρχικό, μεταξύ άλλων.

Ασκηση: Το Diffie-Hellman (DH) θεωρείται μερικές φορές μέρος της κρυπτογραφίας του δημόσιου κλειδιού, παρόλο που ασχολείται με την ανταλλαγή βασικών και δεν είναι ο ίδιος ένας αλγόριθμος κρυπτογράφησης. Γιατί, λοιπόν, μερικοί άνθρωποι το θεωρούν δημόσιο κλειδί? (Η απάντηση σε αυτό απαιτεί κάποια έρευνα.·

Για ένα ασήμαντο παράδειγμα, ακριβώς έτσι μπορείτε να δείτε τα μαθηματικά σε δράση, ας κάνουμε ένα RSA με πλήκτρα 32 bit:

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

Πρώτα δημιουργούμε δύο τυχαίες προβολές 16-bit (16 επειδή αυτό είναι το ήμισυ του μεγέθους του κλειδιού, το οποίο είναι 32): $ \ Begin P = 36469 \\ Q = 50929 \ End$ Δημιουργήστε ένα prime 16-bit για τον κρυπτογραφημένο εκθέτη (ή απλώς χρησιμοποιήστε 655537): $ e = 65537 $ τώρα: $ \ begin n = pq = 1857329701 \\ d = \ mathsf (e, (p-1) (q-1)) = 39569516a9 \\ \ end$ Ας κρυπτογραφήσουμε τη συμβολοσειρά ¿dónde está ud.? . Εδώ είναι στο UTF-8:

C2 BF 44 C3 B3 6E 64 65 20 65 73 74 C3 A1 20 75 64 2E 3F

Θέλουμε να διαιρέσουμε το μήνυμά μας σε μπλοκ. Το συνιστώμενο μέγεθος μπλοκ είναι $ \ lfloor \ frac \ rfloor $. Δεδομένου ότι κάνουμε RSA-32 (πλήκτρα 32 bit), θέλουμε $ \ lfloor \ frac \ rfloor $, ή 3. Ας ομαδοποιήσουμε λοιπόν τα bytes μας σε μπλοκ των τριών:

C2BF44 C3B36E 646520 657374 C3A120 75642E 3F0202

Το 02 02 στο τέλος είναι pkcs#7 padding για να κάνει το μήνυμα ένα πολλαπλάσιο των 3 bytes. Σε δεκαδικά, τα μπλοκ μας είναι 12762948, 12825454, 6579488, 6648692, 12820768, 7693358, 4129282. Τώρα ας εφαρμόσουμε τη λειτουργία κρυπτογράφησης σε κάθε :: $ 12762948^ \ bmod 1857329701 = 1674934738 $
$ 12825454^ \ BMOD 1857329701 = 920121142 $
$ 6579488^ \ BMOD 1857329701 = 703310795 $
$ 6648692^ \ ​​BMOD 1857329701 = 1740932196 $
$ 12820768^ \ BMOD 1857329701 = 512101030 $
$ 7693358^ \ BMOD 1857329701 = 1327283085 $
$ 4129282^ \ BMOD 1857329701 = 1468977038 $
Αυτό είναι το Decimal, δηλαδή το 1674934738, 920121142, 703310795, 1740932196, 512101030, 1327283085, 1468977038 έως DECRYPT: $ 1674934738^ \ BMOD 1857329701 = 12762948 $
$ 920121142^ \ BMOD 1857329701 = 12825454 $
$ 703310795^ \ BMOD 1857329701 = 6579488 $
$ 1740932196^ \ BMOD 1857329701 = 6648692 $
$ 512101030^ \ BMOD 1857329701 = 12820768 $
$ 1327283085^ \ BMOD 1857329701 = 7693358 $
$ 1468977038^ \ BMOD 1857329701 = 4129282 $
Παίρνουμε πίσω το αρχικό μήνυμα! Για διασκέδαση, δείτε πώς δημιουργήθηκε το παραπάνω παράδειγμα.

Δεδομένου ότι η συμμετρική κρυπτογράφηση είναι τόσο πιο γρήγορη, μπορείτε πρώτα να δημιουργήσετε ένα μυστικό κλειδί και να το μεταδώσετε σε μια γραμμή που εξασφαλίζεται από την κρυπτογραφία δημόσιου κλειδιού. Τώρα όλη η μελλοντική επικοινωνία μπορεί να χρησιμοποιήσει το μυστικό κλειδί.

Ασκηση: Γιατί θα ήταν λάθος να χρησιμοποιείτε ένα μέγεθος μπλοκ 4 bytes στο παραπάνω παράδειγμα?

Κρυπτογραφικό κατακερματισμό

  • Βρείτε ένα μήνυμα που χτυπάει σε μια δεδομένη τιμή ()
  • Βρείτε δύο μηνύματα που κατακερματίζονται στην ίδια τιμή ()

Μαθηματικά, μια συνάρτηση κρυπτογραφικού κατακερματισμού $ h $ παράγει ένα hash από ένα μήνυμα, $ h (m) = c $, έτσι ώστε το $ m $ να μην μπορεί να καθοριστεί αποτελεσματικά από $ c $ και δεν μπορεί να βρει αποτελεσματικά $ m_1 \ neq m_2 $ έτσι ώστε $ h (m_1) = h (m_2) $,

Συνήθως η αλλαγή ενός μόνο bit στο μήνυμα θα προκαλέσει το Digest να φαίνεται εντελώς και εντελώς διαφορετικό.

$ Η γάτα θα Αυτή είναι η θέλησή μου. Αφήνω 1000 δολάρια στην Αλίκη και οτιδήποτε άλλο στον Μπομπ. Υπογεγραμμένη, Εύα. Το $ MD5Sum θα C18FEB890752C9E680C99D1E909FD761 Will $ sed "s/1/9/g" $ Η γάτα θα Αυτή είναι η θέλησή μου. Αφήνω 9000 δολάρια στην Αλίκη και οτιδήποτε άλλο στον Μπομπ. Υπογεγραμμένη, Εύα. Το $ MD5Sum θα 85570BC2D0458B1F98F484261DEE7D4D Will

Ένα ασφαλές hash παρέχει έναν τρόπο να προσδιοριστεί εάν ένα μήνυμα παραβιάστηκε. Δείτε τον εικονογραφημένο οδηγό του Steve Friedl για Cryptpgraphic Hashes.

Κωδικοί ελέγχου ταυτότητας μηνυμάτων

Αυτά είναι παρόμοια με κρυπτογραφικά hashes εκτός από το ότι χρησιμοποιούν ένα μυστικό κλειδί, ενώ ο Hashes χρησιμοποιεί μόνο το ίδιο το μήνυμα. $ \ Mathit(M, K) = C $

  • MACS VS. Hashes στο Stackoverflow
  • Ψηφιακές υπογραφές στο Wikpedia
  • Mac στη Wikipedia

Ψηφιακές υπογραφές

Πώς μπορεί ο Bob να είναι σίγουρος ότι το μήνυμα προήλθε από την Αλίκη και όχι κάποιον άλλο? Από την Αλίκη υπογραφή το; έτσι. Στην πράξη, κάποιος συνήθως υπογράφει ένα κατακερματισμό, όχι ολόκληρο το μήνυμα .

RSA για ψηφιακές υπογραφές

Για την Αλίκη να στείλει ένα μήνυμα στον Μπομπ,

  • Η Αλίκη κρυπτογραφεί με το ιδιωτικό της κλειδί
  • Η Αλίκη κρυπτογραφεί με το δημόσιο κλειδί του Bob
  • Ο Bob αποκρυπτογραφεί με το ιδιωτικό του κλειδί
  • Ο Bob αποκρυπτογραφεί με το δημόσιο κλειδί της Αλίκης

DSA

Κρυπτοεξίληψη

  • Ανάλυση συχνότητας
  • Γνωστή επίθεση με πλάγια
  • Γνωστή επίθεση κρυπτογράφου
  • Επιλεγμένη επίθεση
  • Επιλεγμένη επίθεση βασικής
  • Γραμμική κρυπτοαναλύυση
  • Διαφορική κρυπτοαναλύυση
  • Κλοπή
  • Δωροδοκία
  • Εκβιασμός

Ασκηση: Κάνετε κάποια αυτοδιδασκαλία στην Cryptanalysis ή βρείτε ένα διασκεδαστικό online μάθημα.

Παραδείγματα προγραμματισμού

Heh, δεν πρόκειται να δείξουμε πώς να κυλήσετε το κρυπτογράφηση σας. Θα εξετάσουμε κάποιες πραγματικές βιβλιοθήκες.

Μεταφέρετε δεδομένα μέσω ενός δικτύου IP?

Για άλλα μέρη της εφαρμογής σας που χρειάζονται κρυπτογράφηση, διαβάστε παρακάτω.

Παραδείγματα JavaScript

Ενσωματωμένη ενότητα: Κρύος κρυπτογράφησης .

Παραδείγματα Python

Παραδείγματα Java

Αναφορά: Αρχιτεκτονική κρυπτογραφίας Java (JCA)

Βέλτιστες πρακτικές ασφαλείας για Crytpo

  • Ποτέ ποτέ ποτέ ποτέ ποτέ ποτέ δεν κυλήσατε το δικό σας
  • Χρησιμοποιήστε μια καλά δοκιμασμένη βιβλιοθήκη που είναι ενημερωμένη, που εξετάζεται από ειδικούς και θεωρείται ότι είναι ασφαλής για τώρα
  • Μην χρησιμοποιείτε έναν αλγόριθμο που έχει ραγισθεί
  • Μην χρησιμοποιείτε έναν αλγόριθμο που θεωρητικά μπορεί να σπάσει
  • Μην χρησιμοποιείτε έναν αλγόριθμο που έχει εκμεταλλεύσιμο ελάττωμα
  • Χρησιμοποιήστε το σωστό είδος αλγορίθμου για τις ανάγκες σας, e.σολ., Το hashing κωδικού πρόσβασης πρέπει να είναι αργό, οπότε χρησιμοποιήστε κάτι σαν BCrypt.
  • Χρησιμοποιήστε τα μεγέθη κλειδιών που είναι αρκετά μεγάλα
  • Εάν αποθηκεύετε κωδικό πρόσβασης, χρησιμοποιήστε πάντα αλάτι
  • Χρησιμοποιεί φορείς αρχικοποίησης και nonces αντί να τους αγνοεί
  • Να είστε ταπεινοί: πιθανότατα δεν είστε ειδικός σε αυτό

Περίληψη

  • Φόντο και ορισμοί
  • Είδη κρυπτογράφων
  • Διαφορά μεταξύ μυστικού κλειδιού και κρυπτογραφίας δημόσιου κλειδιού
  • Βασικός ανταλλαγή
  • Hashing και ψηφιακές υπογραφές
  • Κυλινδρική
  • Παραδείγματα προγραμματισμού