Πώς να δημιουργήσετε έναν αλγόριθμο κρυπτογράφησης: 6 βήματα (με εικόνες)

Πίνακας περιεχομένων:

Πώς να δημιουργήσετε έναν αλγόριθμο κρυπτογράφησης: 6 βήματα (με εικόνες)
Πώς να δημιουργήσετε έναν αλγόριθμο κρυπτογράφησης: 6 βήματα (με εικόνες)

Βίντεο: Πώς να δημιουργήσετε έναν αλγόριθμο κρυπτογράφησης: 6 βήματα (με εικόνες)

Βίντεο: Πώς να δημιουργήσετε έναν αλγόριθμο κρυπτογράφησης: 6 βήματα (με εικόνες)
Βίντεο: Δημιουργία vm & εγκατάσταση λειτουργικού συστήματος 2024, Απρίλιος
Anonim

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

Βήματα

Μέρος 1 από 2: Δημιουργία της μεθόδου κρυπτογράφησης

Δημιουργήστε έναν αλγόριθμο κρυπτογράφησης Βήμα 1
Δημιουργήστε έναν αλγόριθμο κρυπτογράφησης Βήμα 1

Βήμα 1. Σχεδιάστε τον αλγόριθμο

Ένας γενικός αλγόριθμος είναι η ραχοκοκαλιά όλων των μεθόδων κρυπτογράφησης. Το RSA χρησιμοποιεί μαθηματικές ιδιότητες μεγάλων πρώτων αριθμών για την γρήγορη και ασφαλή κρυπτογράφηση ιδιωτικών δεδομένων. Το Bitcoin χρησιμοποιεί μια έκδοση RSA για να εξασφαλίσει με ασφάλεια τις πληρωμές και να διασφαλίσει ότι ο αποστολέας θέλει πραγματικά να στείλει bitcoins σε άλλο χρήστη. Θα πρέπει να κάνετε έρευνα για διάφορους τύπους αλγορίθμων κρυπτογράφησης, όπως κρυπτογράφηση ιδιωτικού και δημόσιου κλειδιού. Πρέπει να σημειωθεί ότι καμία κρυπτογράφηση, εάν σκοπεύετε να ανακτήσετε τα δεδομένα, δεν είναι άθραυστη. Η κρυπτογράφηση μπορεί να αποθαρρύνει μόνο τον απρόσκοπτο σνόουμ και να καθυστερήσει σοβαρές επιθέσεις. Συνιστάται να μάθετε τι είναι το δυαδικό, θα κάνει τη δημιουργία του αλγορίθμου σας πολύ πιο εύκολη και πιο σχετική με την κρυπτογράφηση δεδομένων.

Δημιουργήστε έναν αλγόριθμο κρυπτογράφησης Βήμα 2
Δημιουργήστε έναν αλγόριθμο κρυπτογράφησης Βήμα 2

Βήμα 2. Δοκιμάστε τον αλγόριθμό σας

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

Δημιουργήστε έναν αλγόριθμο κρυπτογράφησης Βήμα 3
Δημιουργήστε έναν αλγόριθμο κρυπτογράφησης Βήμα 3

Βήμα 3. Εξετάστε την αποκρυπτογράφηση

Πρέπει να υπάρχει τρόπος για εξουσιοδοτημένα μέρη να έχουν πρόσβαση σε δεδομένα κρυπτογραφημένα από τον αλγόριθμό σας. Θα πρέπει να βεβαιωθείτε ότι μπορείτε εύκολα να αποκωδικοποιήσετε τα δεδομένα εάν γνωρίζετε το κλειδί και να δυσκολέψετε τους επιτιθέμενους να πέσουν τυχαία στο κλειδί μέσω δοκιμής και λάθους.

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

Δημιουργήστε έναν αλγόριθμο κρυπτογράφησης Βήμα 4
Δημιουργήστε έναν αλγόριθμο κρυπτογράφησης Βήμα 4

Βήμα 4. Σχεδιάστε τον ψευδοκώδικα

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

Μέρος 2 από 2: Δημοσίευση του αλγορίθμου

Δημιουργήστε έναν αλγόριθμο κρυπτογράφησης Βήμα 5
Δημιουργήστε έναν αλγόριθμο κρυπτογράφησης Βήμα 5

Βήμα 1. Μοιραστείτε τον αλγόριθμό σας με άλλους λάτρεις της κρυπτογράφησης δεδομένων

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

Δημιουργήστε έναν αλγόριθμο κρυπτογράφησης Βήμα 6
Δημιουργήστε έναν αλγόριθμο κρυπτογράφησης Βήμα 6

Βήμα 2. Δημοσιεύστε μια πρόκληση σε ένα φόρουμ

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

Συμβουλές

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

Προειδοποιήσεις

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

Συνιστάται: