JBrew on Flickr
I codici segreti, o cifrari, sono un ottimo modo per insegnare il pensiero computazionale. E i computer da soli non possono decodificare i codici segreti. I computer hanno bisogno di esseri umani che forniscano indicazioni. E gli umani devono pensare attraverso una serie di domande, sviluppare regole per possibili soluzioni, e decidere quando una possibile soluzione dovrebbe essere abbandonata in favore di un’altra.
Questo progetto vi condurrà attraverso un metodo di alto livello per creare codici segreti e cifrari, così come trovare modi per decodificarli. Ovviamente, il campo dei cifrari è vasto e complicato. Questo puzzle è semplicemente divertente. Ho anche modellato questo progetto su un piano di lezione più complicato di Google che è collegato qui sotto. E ho raccolto una serie di link online per aiutarti a scoprire i tuoi codici segreti, così come idee su come decifrarli.
Se sei pronto, cominciamo.
- Che cos’è un codice segreto o un cifrario?
- Come si crea un codice segreto o cifrario?
- Come si decifra un codice segreto o un cifrario?
- Prova il tuo cifrario
- Learn More
- Ciphering a Sentence (Google)
- Cipher (Wikipedia)
- Letter Frequency
- The Secret Language
- Secret Codes for Cubs and Scouts
- Three Secret Codes to Try With Your Kids
- Create Secret Codes and Ciphers (Wiki How)
- Cryptography (Wikipedia)
Che cos’è un codice segreto o un cifrario?
Un codice segreto, o cifrario, è semplicemente la sostituzione di una lettera in un alfabeto con un’altra lettera o numero. Potrei dire, per esempio, che invece di digitare la lettera E digiterò la lettera F. Così house diventa housf.
Un altro tipo di codice segreto traspone, o cambia, l’ordine delle lettere in un messaggio. Così house potrebbe diventare uoesh.
Un altro modo di creare codici segreti è mettere parole, lettere o caratteri senza senso tra lettere o caratteri significativi. Per esempio, potreste prendere un pezzo di cartone delle dimensioni della carta da lettere, ritagliare dei quadrati o dei rettangoli, mettere un pezzo di carta sotto il vostro cartone, scrivere il vostro messaggio usando gli spazi del cartone ritagliato, poi sollevare il cartone e riempire il resto del vostro foglio come se fosse una lettera. Solo quando riporrai il cartone sulla tua lettera vedrai il tuo vero messaggio.
Il processo di codifica e decodifica di un messaggio è chiamato crittografia. Per fare crittografia, avrai bisogno di un messaggio in chiaro, un insieme di regole (algoritmo) per codificare il tuo messaggio, e una chiave che ti aiuti a decodificare il tuo messaggio. In alcuni casi, specificherai anche il tempo durante il quale l’algoritmo e le chiavi sono in vigore.
I cifrari sono leggermente diversi dai codici. Un cifrario mescola o usa lettere o caratteri diversi. Un codice sostituisce una parola con un’altra parola o frase. Per esempio, FWIW o OMG sono codici, vero? FWIW sostituisce for what it’s worth e OMG sostituisce Oh My God!
Per questo progetto, ci concentreremo su un semplice schema per sostituire lettere e caratteri.
Come si crea un codice segreto o cifrario?
Ricordate il mio esempio di sostituire la lettera E con la lettera F, così house diventa housf?
Cosa succede se dico che la lettera E sarà sostituita dalle lettere F più le lettere R e K? Cosa succede se ho bisogno di usare una parola con le lettere F, R o K? Creare una frase in questo modo potrebbe confondere molto rapidamente. La soluzione è quella di creare uno schema, o un insieme di regole (chiamato algoritmo in informatica), usato per tradurre qualsiasi frase codificata con il vostro schema.
Per iniziare, diciamo che il nostro schema sposterà semplicemente tutte le lettere dell’alfabeto due spazi a destra. Così la lettera E diventa la lettera G, la lettera G diventa la lettera I, e così via.
Con questo semplice schema, house diventa iqwug. Sei riuscito a capire cosa significa iqwug?
Come si decifra un codice segreto o un cifrario?
Ricordate il nostro semplice schema in cui abbiamo spostato le lettere dell’alfabeto di due spazi a destra, così house diventa iqwug? Parliamo dei modi in cui potremmo decifrare questa parola.
Quello che si potrebbe notare per prima cosa è che iqwug è un campione estremamente piccolo, una parola di soli cinque caratteri di lunghezza. Per decifrare qualsiasi codice, hai bisogno di quanti più esempi possibili di parole, frasi e paragrafi codificati. Una parola di cinque caratteri potrebbe essere impossibile da decifrare senza altri esempi.
Quando si ha un grande campione di parole e frasi codificate con lo stesso modello, diventa possibile applicare altri modelli. Per esempio, nella lingua inglese, la lettera E è molto comune.
Un grande campione di parole codificate con il nostro schema che sposta le lettere di due spazi, trasformando la lettera E nella lettera G, avrebbe probabilmente più G della maggior parte o di tutte le altre lettere. Potremmo iniziare a provare a decodificare la nostra frase cambiando la lettera G in E. Poi potremmo guardare come la E è diventata G: potremmo capire che la G è due lettere a sinistra della E nell’alfabeto inglese e provare a spostare le altre lettere del nostro messaggio codificato due spazi a sinistra.
Decodificare e decifrare messaggi codificati richiede molto pensiero, oltre a tentativi ed errori. È un puzzle divertente da risolvere.
Prova il tuo cifrario
Se ti ricordi, per codificare e decodificare un messaggio hai bisogno di:
- Un messaggio di testo semplice.
- Un modello o un insieme di regole per codificare e decodificare il tuo messaggio.
Si potrebbe anche usare una chiave, per esempio un dizionario, e impostare un periodo di tempo in cui il vostro schema o insieme di regole è attivo prima di essere sostituito da un altro schema usato per codificare e decodificare i messaggi. Ma questi sono passi opzionali e non necessari per divertirsi un po’ con i codici e il pensiero computazionale.
Per creare un semplice cifrario a sostituzione, prendi un pezzo di carta e scrivi ogni lettera dell’alfabeto. Accanto ad ogni lettera, assegna un’altra lettera, numero o carattere per rappresentare la lettera originale. Puoi assegnarli in modo casuale o secondo uno schema prestabilito, per esempio, assegnando il secondo o il terzo carattere alla destra o alla sinistra della lettera originale. Così A potrebbe diventare X se sposti tre caratteri a sinistra.
Una volta che hai un messaggio da codificare, fai riferimento al tuo alfabeto e riscrivi il tuo messaggio con la lettera, il numero o il carattere assegnato ad ogni lettera.
Per rendere le cose più interessanti, lavora con un compagno per creare i tuoi schemi di sostituzione e scambia i messaggi codificati. Vedi se riesci a capire il metodo di sostituzione richiesto per decodificare il messaggio.
Se hai bisogno di un messaggio lungo, o non riesci a pensare a un messaggio, copia il testo da un libro o da una pagina web per codificarlo e decodificarlo. Longer plain text will allow you to see how letter frequency might help decode a message.