Het Caesarcijfer is een klassieke manier om tekstberichten te verleuten of ontsleutelen. Het is bekend onder verschilllende namen waaronder Caesarrotatie, of kortweg rot. Het is vernoemd naar Julius Caesar, die het gebruikte om te communiceren met zijn veldheren.
De versleuteling of codering werkt door elke letter van de platte tekst te vervangen door een vooraf vastgestelde rotatie of verschuiving. Bij rot3 (een rotatie van drie) wordt de letter B vervangen door de letter E.
Het ontsleutelen of decoderen gebeurt door de omgekeerde bewerking uit te voeren. Bij rot3 wordt bij de decodering de E vervangen door de B.
Ten slotte geven we nog mee dat je het alfabet als circulair mag beschouwen. Dat wil zeggen dat voor de A de letters Z, Y, X enz. komen. Na de letter Z komen dan de letters A, B, C enz.
...XYZABCDEFGHIJKLMNOPQRSTUVWXYZABC...
In deze oefening gaan we het versleutelen van een bericht uitwerken in verschillende stappen.
>>> is_letter('1')
False
>>> is_letter('a')
True
>>> roteer_letter('Z',12)
'L'
>>> roteer_letter('l',10)
'v'
>>> versleutel('Het leven bestaat voor 10% uit dingen die gebeuren en voor 90% uit hoe jij daarop reageert.',20)
'Byn fypyh vymnuun piil 10% ocn xchayh xcy ayvyolyh yh piil 90% ocn biy dcd xuulij lyuayyln.'
>>> versleutel('Vertrouw op je kracht en vier het leven!',8)
'Dmzbzwce wx rm szikpb mv dqmz pmb tmdmv!'