LEZIONI E FORMAZIONE DAI DOCENTI PER I DOCENTI

Scopri WeTurtle, la community di educatori dove trovare e condividere risorse innovative

home - progetti - Dagli algoritmi su carta ad Arduino: un percorso di crittografia a scuola! - Crittografia con carta e penna

Crittografia con carta e penna

Tempi

Tempo stimato per la lezione in classe: 2.00 h

Strumenti

  • LIM o proiettore
  • Computer per il docente
  • Materiali di consumo (penne, fogli, etc.)

Ancora non sei iscritto? Diventa una tartaruga digitale con centinaia di docenti da tutta Italia.

ISCRIVITI SUBITO!

Linee guida delle attività

Dopo aver introdotto nella prima lezione alcune definizioni, questa seconda attività farà sicuramente “sporcare” di più le mani agli studenti: puoi scegliere tra alcune attività pratiche di introduzione alla crittografia usando solo carta e penna, senza bisogno di ricorrere alla tecnologia.

Scaricando l’allegato in fondo a questa lezione troverai 3 attività proposte da Tim Bell, Ian H. Witten and Mike Fellows nel loro famosissimo libro Computer Science Unplugged (scaricabile in italiano da qui):

  • Condividere i segreti—Protocolli che nascondono l’informazione
  • Testa o croce in Perù — I protocolli crittografici
  • Kid Krypto — La crittografia a chiave pubblica

Se non vuoi svolgere questa attività potresti proporre la costruzione del diagramma di flusso del Cifrario di Cesare (che sarà protagonista della lezione successiva, in cui questa tecnica verrà implementata utilizzando il PC).

Come funziona il Cifrario di Cesare?

Molto semplice: consideriamo l’alfabeto come una sequenza di simboli ordinati (ogni simbolo caratterizzato da un numero che ne indica la posizione).

Consideriamo una parola, come ad esempio “ciao”.
Se volessimo comunicare questa parola ad un destinatario, proteggendo la nostra comunicazione, potremmo sostituire ognuna delle lettere che compone la parola con una lettera ad una certa distanza, definita scorrimento. Ad esempio, Cesare applicava uno scorrimento pari a 3, come si può vedere dall’immagine seguente (A sostituita dalla D, B sostituita dalla E, etc.):

Quindi se volessi calcolare come criptare la parola “ciao” potrei prendere il valore di ogni lettera e sommare lo scorrimento:

La lettera C ha valore 3, sommiamo lo scorrimento (3), otteniamo 6: alla lettera C possiamo sostituire la lettera F.

Quindi per la parola “ciao” avremo “fldr”.
Per decriptare il messaggio ovviamente il destinatario deve conoscere la chiave (in questo caso privata), così da poter ottenere il testo in chiaro: prendo la posizione della lettera da decifrare (F, posizione 6), le sottraggo la chiave (3) e ottengo la posizione della lettera originale (C, posizione 3).

Oltre a definire un diagramma di flusso di questo algoritmo, potreste far provare gli studenti a scambiarsi messaggi cifrati proprio con questa tecnica!

Una possibile soluzione preliminare del diagramma di flusso di questo algoritmo? Eccola:

Questo diagramma di flusso ha un problema! Se la nostra parola da criptare fosse “zio”, vediamo il risultato dell’algoritmo:

La posizione di Z è 26, sommiamo 3 ed otteniamo 29… nessuna lettera ha posizione 29! Come dovremmo gestire le lettere per cui sommando 3, il risultato è un valore > di 26?
Dovremmo ricominciare il giro da capo, ossia per la X, Y, Z avremo questa trasformazione:

  • X diventa A (24 + 3 fa ottenere 1)
  • Y diventa B (25 + 3 fa ottenere 2)
  • Z diventa C (26 + 3 fa ottenere 3)
Da un punto di vista matematico stiamo applicando quella che si chiama aritmetica modulare (o aritmetica dell’orologio). 

Da un punto di vista algoritmico questo tipo di matematica si può gestire molto semplicemente con un “se … allora …”:

se valore “lettera da trasformare” > = 24:
    valore criptato = valore “lettera da trasformare” – (26 – scorrimento)
altrimenti:
    valore criptato = valore “lettera da trasformare” + scorrimento

Queste riflessioni cha abbiamo appena effettuato saranno fondamentali per la lezione successiva, in cui il cifrario di Cesare verrà implementato in Scratch (o un Python)!

Vuoi leggere la lezione quando vuoi, anche offline?



Hai letto la lezione? Che cosa ne pensi? Lascia un commento qui sotto!