Eräs yliopiston kurssi, mitä voi käyttää yläkoululaistenkin kanssa, oli salakirjoitus-kurssi. Kurssin yksinkertaisimmat salakirjoitustavat soveltuvat jopa alakoululaistenkin kanssa tehtäväksi. Itse kokeilin ensimmäistä kertaa tänä lukukautena matematiikan valinnaisten kanssa Summanmutikan salakirjoitusmateriaalin kanssa. Ensimmäinen tunti meni salakirjoituskiekon tekemiseen (tuli tehtyä hieman turhankin ”raskaalla” tavalla niittaamisen takia) ja toisella tunnilla purimme ja salakoodasimme viestejä. Käyttämällä salakirjotuskiekkoa saa kivan johdatuksen Enigma-koneeseen (käyttämällä salauskiekkoa usemaman kerran peräkkäin) ja sen ohjelmointiin. Materiaalissa esitellään hyvin myös muita salakirjoitustapoja. Solmu-lehdessä on esitelty nykyaikaisempia salausmenetelmiä, joita voi esitellä oppilaille.
Suoraan kirjaimeksi salakirjoitus Pythonille:
kirjaimet = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "å", "ä", "ö"]
salattava = input("Anna salattava teksti:")
salattu = []
for kirjain in salattava:
salattu.append(str(kirjaimet.index(kirjain)+1))
print ("-".join(salattu))
Caesar-salakirjoitus Pythonille:
kirjaimet = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "å", "ä", "ö"]
salattava = input("Anna salattava teksti:")
siirto = 3
for kirjain in salattava.lower():
if kirjain.isalpha():
print (kirjaimet[(kirjaimet.index(kirjain)+siirto) % len(kirjaimet)], end="")
else:
print (kirjain, end="")
Salakirjoitukset voidaan myös purkaa näppärästi ohjelmilla, mutta ne saat kirjoittaa itse. Salakirjoitusta voidaan myös murtaa ohjelmilla, mm. laskemalla kirjainten esiintymistiheyksiä ja arvaamalla sen perusteella salausavain tai ihan vaan kokeilemalla kaikki salausavaimet läpi.