Robotica unplugged/Non te lo dico
Prima di iniziare l'attività, il docente deve domandarsi se è possibile insegnare la crittografia nella scuola primaria (o nella sua classe), soffermandosi con particolare attenzione all'utilità di una attività simile. L'attività è molto interessante (disse l'oste mentre vendeva il suo vino), ma va fatta sempre pensando alle persone che si hanno davanti.
L'idea di fondo è spiegare come inviare messaggi segreti che possano resistere agli sguardi indiscreti dei genitori.
Affermazione che, in un secondo tempo, sarà smentita, quando si proporrà agli studenti una sfida: dopo aver scritto un messaggio in codice questo va consegnato a una squadra avversaria che ha il compito di decodificarlo. Naturalmente, vince chi termina per primo la decodifica.
Cifrari
[modifica | modifica sorgente]I cifrari che verranno proposti si dividono in due grandi categorie: cifrari monoalfabetici (dove, a lettera uguale ne corrisponde un'altra); e cifrari polialfabetici, dove l'asticella viene innalzata attraverso una chiave di decodifica. La sua lunghezza determinerà la complessità di decodifica del testo in codice.
Uno dei più semplici cifrari monoalfabetici è il famoso cifrario di Cesare, mentre il più semplice dei cifrari polialfabetici è il cifrario di Vigenère.
Nonostante l'apparente complessità di queste attività, possono essere svolte interamente con carta e penna. Come anticipato, l'obiettivo che si darà agli studenti è scrivere un messaggio che nessuno possa leggere.
Per le attività che seguiranno, il cifrario sarà composto da due dischi contenenti tutte le lettere dell'alfabeto. Questi vanno ritagliati e fissati con un fermacampione.
Cifrario di Cesare
[modifica | modifica sorgente]Il cifrario di Cesare sostituisce una lettera con una successiva nell'alfabeto, a una determinata distanza.
Giulio Cesare era solito spostare l'alfabeto di tre posizioni: in questo modo la A
diventa la D
(la sua iniziale), la B
la E
e così via. Naturalmente ogni scelta è possibile, ma va ricordata per poter decodificare agevolmente il testo.
Ora, gli studenti, potranno scrivere ai loro amici in tutta tranquillità: nessun genitore curioso potrà carpire i loro segreti.
Metodologia
[modifica | modifica sorgente]La forza del cifrario di Cesare è la sua semplicità.
La tecnica è semplice da implementare e – similmente – da decodificare. La finalità è didattica. Lo si utilizza con i più piccini.
Come si sarà intuito, non vi è nulla di più complesso del classico gioco che si trova in riviste come La settimana enigmistica, dove i lettori sono invitati a decodificare un testo cifrato con carta e matita.
Va premesso che, ai tempi dell'imperatore Giulio Cesare, era già una fortuna trovare qualcuno che sapesse leggere. Figurarsi, leggere un messaggio cifrato. Pertanto, una volta deciso a quale lettera deve corrispondere la A
, il cifrario non va più mosso. La cifratura avverrà sostituendo le lettere del testo, cercandole nel cerchio interno, con quelle del cerchio esterno.
Anche la decodifica, come si può immaginare, è immediata se si conosce lo spostamento di lettere. O – più semplicemente – a quale lettera corrisponde la A
nel cifrario.
Grazie a quello che definiremo amichevolmente teorema del Gambero, la decodifica di un testo cifrato avviene osservando, carattere dopo carattere, il testo in codice ed eseguendo lo spostamento all'indietro eseguito durante la cifratura.
Questa azione la si può ottenere agevolmente se si passa dal disco esterno al disco interno, ovvero eseguendo l'operazione inversa che si è svolta precedentemente.
Crittoanalisi
[modifica | modifica sorgente]La crittoanalisi è il passaggio inverso della crittografia. La scienza che tenta di decodificare un messaggio criptato senza conoscerne la chiave.
Per un cifrario di Cesare la situazione è piuttosto semplice: una sfida che può essere proposta anche nei primi anni della scuola primaria.
- Innanzitutto, per semplificare il contesto, si ipotizzerà che il testo da decodificare sia scritto in lingua italiana. Questo è un punto fermo: serve a stabilire dei parametri che rendano il lavoro che segue fattibile. Poi, ogni lingua avrà la sua grammatica e – con essa – altri punti di forza e di debolezza.
- Fatta questa premessa, è molto probabile che ogni parola termini con una vocale. Con quest'ipotesi si passa da 25 possibili chiavi di codifica a 5 (osservando le lettere con cui terminano le parole e facendole coincidere con vocali). In un gioco a squadre, la velocità di decodifica può aumentare considerevolmente. Non è una semplice questione di fortuna, ma ti osservazione di quali termini si ripetono più spesso.
- Un altro aiuto è dato dalle doppie che, codificate, diventano due lettere identiche, ma comunque consonanti. Va ricordato che, quasi sempre, prima e dopo le doppie, vi è una vocale. Questo è un secondo e fondamentale aiuto nella decodifica del testo.
- Infine, va ricordato che si è alla ricerca di parole e frasi di senso compiuto. Se questo non si verifica si passa ad altri tentativi.
Inutile dire che, per essere equilibrata, la sfida deve proporre alle squadre avversarie frasi della medesima lunghezza di quelle che riceve. Vince la squadra che, per prima, decodifica il testo cifrato.
Cifrario di Vigenère
[modifica | modifica sorgente]Il cifrario di Vigenère può essere generato e decodificato con gli stessi strumenti del cifrario di Cesare. La differenza, rispetto al cifrario di Cesare, è che nel cifrario di Vigenère ― il più elementare dei cifrari polialfabetici ― le singole lettere vengono spostate secondo codice prefissato (una password). Questa genera una complessità non da poco perché in un caso reale non è dato sapere quanto sia lunga (anche un libro intero, nel caso di codifiche complesse). In questi contesti diventa davvero difficile decodificare il messaggio in codice.
Per esempio, se si sceglie una password, nella quale ― mentre la si scorre ― si fa corrispondere la lettera corrispondente alla A
, si ottiene il messaggio codificato.
Metodologia
[modifica | modifica sorgente]Nel contesto del cifrario di Vigenère, i passaggi diventano i seguenti:
- per ottenere il messaggio codificato, come in precedenza) si passa dalle lettere interne a quelle esterne;
- per decodificare un messaggio, si deve utilizzare la stessa password, procedendo dalle lettere esterne a quelle interne.
In parole povere, prima si esegue uno spostamento (nella fase di codifica) e ― per la decodifica ― il medesimo scivolamento di lettere ma in senso inverso.
Tuttavia, ogni volta che si passa da una lettera alla successiva, si modifica lo spostamento di lettere. Ecco perché il cifrario di Vigenère è detto polialfabetico: utilizza più lettere.
Per esempio, se si utilizza la password cioccolato
, si ottiene:
facendo questo lavoro mi sono molto divertito + cioccol atocio ccolat oc iocc olato cioccolat = --------------------------------------------- hiqgprz qnsubc ncjzrh ak acpq azlmc fqjgthtth
Pertanto, come avviene con il cifrario di Cesare, sono presenti due cerchi concentrici dove:
- il testo in chiaro ― leggibile nelle lettere interne ― è comprensibile, come una lingua che si conosce;
- esternamente è presente un testo incomprensibile, come fosse scritto in una lingua sconosciuta e non decodificabile;
- solo chi conosce la chiave che getta un ponte tra questi due mondi, è possibile passare dal testo in chiaro e testo codificato e viceversa.
Questo scenario, per un approccio interdisciplinare, può essere letto in un contesto di dantesca memoria.
Crittoanalisi
[modifica | modifica sorgente]Come si sarà visto, ora la situazione è notevolmente più complessa.
Non vi è più uno spostamento fisso di lettere, ma questo spostamento cambia sempre. Detta così, l'algoritmo sembra inattaccabile. In effetti è molto difficile decodificarlo, soprattutto nel caso particolare in cui la password è lunga quanto il testo.
L'unico esercizio che si può fare con degli studenti (a parte dotarli di un mezzo di comunicazione davvero robusto) è:
- ipotizzare che la password sia lunga un numero di caratteri prestabilito: per esempio 3 o 4;
- premesso questo, si può affermare che si è di fronte a un cifrario di Cesare che si ripete ogni (per esempio) 4 caratteri;
- la sfida, con un testo sufficientemente lungo, è trovare la password (anche se, chi studia questa disciplina, ama chiamarla chiave di cifratura).
La tecnica è quella utilizzata nel cifrario di Cesare con alcuni nuovi accorgimenti.
- Le doppie non sono più d'aiuto: verranno codificate con caratteri differenti;
- però le lettere finali continueranno a essere vocali. Questo è di notevole aiuto per scoprire la password (visto che si ripete sempre).
Come procedere?
Il metodo migliore, conoscendo la lunghezza della password, è tentare di identificarla. Un'altra tecnica è limitare le lettere della password (per esempio, dalla A
, alla E
), così da ottenere una decodifica più agevole e poterla realizzare nei tempi previsti da un'attività didattica.
Materiale di approfondimento
[modifica | modifica sorgente]- Al raduno hacker Metro Olografix Camp 2024, un evento che si svolge ogni quattro anni è stata presentata l'attività Non te lo dico. Crittografia per ragazzi.