Δευτέρα 10 Αυγούστου 2026

Δημιουργώντας Κώδικες: Φτιάξτε τον Δικό σας Κρυπταλγόριθμο

Δημιουργώντας Κώδικες: Φτιάξτε τον Δικό σας Κρυπταλγόριθμο - Μια πρακτική εισαγωγή στην κρυπτογραφία

Δημιουργώντας Κώδικες - Μάθετε πώς λειτουργεί η κρυπτογραφία φτιάχνοντας τον δικό σας κρυπταλγόριθμο από το μηδέν

Δημιουργώντας Κώδικες: Φτιάξτε τον Δικό σας Κρυπταλγόριθμο


🔓 Εισαγωγή: Η Τέχνη της Μυστικής Επικοινωνίας

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

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

Σήμερα, η κρυπτογραφία προστατεύει κάθε σας ψηφιακή συναλλαγή. Όταν αγοράζετε κάτι online, όταν στέλνετε ένα μήνυμα στο Messenger, όταν βάζετε τον κωδικό σας στο ATM — όλα αυτά βασίζονται σε μαθηματικούς κώδικες.

Αλλά πώς λειτουργούν πραγματικά αυτοί οι κώδικες; Πώς μπορείτε να φτιάξετε τον δικό σας;

🎯 Σε αυτό το άρθρο, θα κατασκευάσουμε από την αρχή έναν ολόκληρο κρυπταλγόριθμο — βήμα-βήμα, με τα χέρια μας. Θα είναι 100% δικός σας. Και το πιο σημαντικό: θα τον καταλάβετε πλήρως.

🏛️ Μέρος 1: Ο Κώδικας του Καίσαρα — Η Αρχή της Μαγείας

Ας ξεκινήσουμε από τον απλούστερο και αρχαιότερο κρυπταλγόριθμο: τον κώδικα του Καίσαρα, που χρησιμοποιούσε ο Ιούλιος Καίσαρας για να επικοινωνεί με τους στρατηγούς του.

🔹 Πώς Λειτουργεί

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

Έστω ότι μετατοπίζουμε κατά 3 θέσεις:

Α → Δ
Β → Ε
Γ → ΣΤ
...
Χ → Α
Ψ → Β
Ω → Γ

Έτσι, η λέξη ΜΑΘΗΜΑΤΑ γίνεται ΠΔΚΛΠΔΧΔ.

🔹 Φτιάξτε τον Δικό σας

Για να φτιάξετε τον δικό σας κώδικα Καίσαρα, χρειάζεστε:

  1. Ένα αλφάβητο (μπορεί να είναι το ελληνικό, το αγγλικό, ή όποιο άλλο θέλετε).
  2. Ένα κλειδί μετατόπισης (ας πούμε, τον αριθμό 5, 7, 12, όποιον θέλετε).
  3. Ένα μήνυμα που θέλετε να κρυπτογραφήσετε.
⚠️ Προσοχή: Αυτός ο κώδικας είναι εξαιρετικά αδύναμος. Υπάρχουν μόνο 24 πιθανές μετατοπίσεις για το ελληνικό αλφάβητο. Ένας επιτιθέμενος μπορεί να δοκιμάσει όλες σε λίγα λεπτά. Ας βελτιώσουμε, λοιπόν, το παιχνίδι.

🔑 Μέρος 2: Ο Κώδικας Vigenère — Η Δύναμη του Πολλαπλού Κλειδιού

Το μεγάλο πρόβλημα του κώδικα του Καίσαρα είναι η μονοτονία: το ίδιο γράμμα μετατοπίζεται πάντα κατά την ίδια απόσταση. Ο κώδικας Vigenère, που εφευρέθηκε τον 16ο αιώνα και έμεινε άλυτος για 300 χρόνια, λύνει αυτό το πρόβλημα χρησιμοποιώντας ένα κλειδί-λέξη.

🔹 Πώς Λειτουργεί

Ας πούμε ότι το μήνυμά μας είναι ΑΡΙΘΜΟΣ και το κλειδί μας είναι ΜΑΓΕΙΑ.

  1. Γράφουμε το κλειδί επαναλαμβανόμενα πάνω από το μήνυμα:

    Μήνυμα: Α Ρ Ι Θ Μ Ο Σ
    Κλειδί: Μ Α Γ Ε Ι Α Μ
  2. Μεταφράζουμε κάθε γράμμα σε αριθμό (Α=0, Β=1, Γ=2, ...):

    Μήνυμα: 0 17 8 10 12 14 17
    Κλειδί: 12 0 10 4 9 0 12
  3. Προσθέτουμε τους αριθμούς, και παίρνουμε το αποτέλεσμα modulo 24 (δηλαδή, αν το άθροισμα ξεπερνά το 23, αφαιρούμε 24):

    Άθροισμα: 12 17 18 14 21 14 5
  4. Ξαναμεταφράζουμε σε γράμματα:

    Άθροισμα: 12 17 18 14 21 14 5
    Κρυπτό: Μ Ρ Σ Ο Ω Ο ΣΤ

Το ΜΡΣΟΩΟΣΤ είναι το κρυπτογραφημένο μήνυμα.

🔹 Το Κλειδί για την Αποκρυπτογράφηση

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

⚙️ Μέρος 3: Φτιάξτε τον Δικό σας Σύγχρονο Κρυπταλγόριθμο

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

Θα τον ονομάσουμε "Αριθμομαγικός Κρυπταλγόριθμος".

🔹 Τα Συστατικά του

  1. Μια μεταφορά (αντικατάσταση γραμμάτων με αριθμούς).
  2. Ένα κλειδί-λέξη (όπως στον Vigenère).
  3. Μια αναστροφή (γυρίζουμε το κείμενο ανάποδα).
  4. Μια αντικατάσταση (σύμφωνα με έναν προκαθορισμένο πίνακα).

🔹 Βήμα 1: Ο Πίνακας Αντικατάστασης

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

Α → 13
Β → 07
Γ → 22
Δ → 04
Ε → 18
...
Ω → 11

🔹 Βήμα 2: Η Διαδικασία Κρυπτογράφησης

  1. Παίρνουμε το μήνυμά μας, π.χ. "ΑΓΑΠΗ".
  2. Χρησιμοποιώντας τον πίνακα, μετατρέπουμε το μήνυμα σε αριθμούς:

    Α Γ Α Π Η
    13 22 13 21 09
  3. Προσθέτουμε μια τυχαία σειρά από αριθμούς (το μυστικό μας κλειδί), όπως στον Vigenère:

    Μήνυμα: 13 22 13 21 09
    Κλειδί: 05 18 03 11 07
    Άθροισμα:18 40 16 32 16
  4. Αναστρέφουμε τη σειρά:

    16 32 16 40 18
  5. Ξαναμετατρέπουμε τους αριθμούς σε γράμματα χρησιμοποιώντας έναν διαφορετικό πίνακα (τον αντίστροφο):

    16 → Π, 32 → Λ, 16 → Π, 40 → Ξ, 18 → Ε

    Το κρυπτογραφημένο μήνυμα είναι: ΠΛΠΞΕ

🔹 Βήμα 3: Η Διαδικασία Αποκρυπτογράφησης

  1. Παίρνουμε το κρυπτογραφημένο μήνυμα ΠΛΠΞΕ.
  2. Το μετατρέπουμε σε αριθμούς χρησιμοποιώντας τον αντίστροφο πίνακα:

    Π=16, Λ=32, Π=16, Ξ=40, Ε=18
  3. Αναστρέφουμε τη σειρά:

    18 40 16 32 16
  4. Αφαιρούμε το κλειδί:

    18-05=13, 40-18=22, 16-03=13, 32-11=21, 16-07=09
  5. Ξαναμετατρέπουμε σε γράμματα με τον αρχικό πίνακα:

    13=Α, 22=Γ, 13=Α, 21=Π, 09=Η

    Το αποτέλεσμα είναι: ΑΓΑΠΗ — το αρχικό μας μήνυμα!

📐 Μέρος 4: Γιατί Λειτουργεί; — Τα Μαθηματικά της Ασφάλειας

Ο κρυπταλγόριθμός μας είναι ασφαλής για τρεις λόγους:

🔹 Πολλαπλά βήματα

Κάθε βήμα μπερδεύει το μήνυμα με διαφορετικό τρόπο. Ακόμα κι αν κάποιος καταλάβει ένα βήμα, τα υπόλοιπα τον μπερδεύουν.

🔹 Το τυχαίο κλειδί

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

🔹 Η μη-γραμμικότητα

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

✏️ Μέρος 5: Πρακτική Άσκηση — Φτιάξτε τον Δικό σας

🔹 Τι Θα Χρειαστείτε

  • Χαρτί και μολύβι.
  • Το αλφάβητο (ελληνικό ή αγγλικό).
  • Ένα μυστικό κλειδί (μια λέξη που μόνο εσείς και ο παραλήπτης γνωρίζετε).
  • Μια λίστα με τυχαίους αριθμούς.

🔹 Οδηγίες

  1. Δημιουργήστε τον πίνακά σας: Αποφασίστε ποιους αριθμούς θα αντιστοιχίσετε σε κάθε γράμμα.
  2. Επιλέξτε το κλειδί σας: Μια λέξη που θα μοιραστείτε με τον φίλο σας.
  3. Κρυπτογραφήστε ένα μήνυμα: Ακολουθήστε τα βήματα του "Αριθμομαγικού Κρυπταλγόριθμου".
  4. Στείλτε το: Δώστε το κρυπτογραφημένο μήνυμα στον παραλήπτη.
  5. Αποκρυπτογραφήστε: Ο παραλήπτης, γνωρίζοντας τον πίνακα και το κλειδί, μπορεί να αποκαλύψει το μυστικό σας!

🏆 Μια Πρόκληση

Δοκιμάστε να στείλετε το ίδιο μήνυμα σε τρεις διαφορετικούς φίλους με τρία διαφορετικά κλειδιά. Θα δείτε ότι το ίδιο μήνυμα παράγει τρία εντελώς διαφορετικά κρυπτογραφημένα αποτελέσματα — αυτή είναι η δύναμη της κρυπτογραφίας!

🏆 Επίλογος: Από την Αρχαιότητα στο Διαδίκτυο

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

Φυσικά, οι σημερινοί αλγόριθμοι —όπως το AES, το RSA και το Diffie-Hellman— είναι απίστευτα πιο πολύπλοκοι. Χρησιμοποιούν τεράστιους πρώτους αριθμούς, δυνάμεις, λογαρίθμους και μαθηματικές πράξεις που ξεπερνούν κατά πολύ τη δυνατότητα υπολογισμού ενός ανθρώπου.

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

Όπως είπε ο μεγάλος κρυπτογράφος Bruce Schneier:

«Η κρυπτογραφία είναι το συνδετικό υλικό που κρατά ενωμένο το διαδίκτυο. Χωρίς αυτήν, δεν θα υπήρχε ηλεκτρονικό εμπόριο, ηλεκτρονική τραπεζική, ούτε ιδιωτική επικοινωνία.»

❓ Συχνές Ερωτήσεις (FAQ)

❓ Μπορώ να χρησιμοποιήσω τον δικό μου κρυπταλγόριθμο σε πραγματικές εφαρμογές;

Όχι για σοβαρές εφαρμογές. Οι επαγγελματικοί κρυπταλγόριθμοι (AES, RSA) έχουν ελεγχθεί από χιλιάδες μαθηματικούς και κρυπτογράφους για χρόνια. Ο δικός σας είναι εξαιρετικός για εκπαιδευτικούς σκοπούς και για να κατανοήσετε τις βασικές αρχές.

❓ Τι είναι το modulo 24;

Είναι το υπόλοιπο της διαίρεσης με το 24. Π.χ. 26 mod 24 = 2, 30 mod 24 = 6. Στο ελληνικό αλφάβητο, χρησιμοποιούμε 24 γράμματα, άρα οι αριθμοί μας είναι από 0 έως 23.

❓ Πώς μπορώ να σπάσω τον κώδικα του Καίσαρα;

Δοκιμάζοντας όλες τις 24 πιθανές μετατοπίσεις. Θα βρείτε μία που βγάζει νόημα. Αυτή είναι η επίθεση ωμής βίας (brute force attack).

❓ Γιατί ο Vigenère έμεινε άλυτος για 300 χρόνια;

Γιατί το κλειδί αλλάζει συνεχώς, οπότε η ανάλυση συχνοτήτων (που έσπασε τον Καίσαρα) δεν λειτουργεί. Χρειάστηκε η ανακάλυψη της μεθόδου Kasiski τον 19ο αιώνα για να σπάσει.

📚 Βιβλιογραφία & Παραπομπές

  • Bruce Schneier — "Applied Cryptography", 1996.
  • David Kahn — "The Codebreakers: The Comprehensive History of Secret Communication from Ancient Times to the Internet", 1996.
  • Simon Singh — "The Code Book: The Science of Secrecy from Ancient Egypt to Quantum Cryptography", 1999.
  • Whitfield Diffie & Martin Hellman — "New Directions in Cryptography", IEEE Transactions on Information Theory, 1976.
  • Rivest, Shamir, Adleman — "A Method for Obtaining Digital Signatures and Public-Key Cryptosystems", Communications of the ACM, 1978.

🔄 Σας άρεσε το άρθρο;

Μοιραστείτε το με συμμαθητές που αγαπούν τα μαθηματικά και την κρυπτογραφία!

#Κρυπτογραφία #Κώδικες #Κρυπταλγόριθμος #Ασφάλεια #Μαθηματικά #Vigenère #Καίσαρας #AES #RSA

Δεν υπάρχουν σχόλια :

Δημοσίευση σχολίου