Codifica 1
Dal Piaz
Gdo#Sld}
Osserva
- Ogni carattere del messaggio in chiaro viene sostituito con il carattere 3 posizioni più avanti
- I caratteri non alfabetici e le ultime lettere dell’alfabeto diventano caratteri strani
def cesare(m): mm="" for c in m: mm+=chr(ord(c)+3) return mm
Decodifica
def cesare_(m): mm="" for c in m: mm+=chr(ord(c)-3) return mm
Codifica 2
Dal Piaz
Gdo Sldc
Osserva
- Le lettere maiuscole e le lettere minuscole crescono di 3 posizioni: delta=delta+3
- Se si supera la lettera Z (z) si ricomincia dalla A (a): delta=delta%26
- Tutti gli altri caratteri rimangono inalterati
def cesare(m): mm="" for c in m: if(c >= 'A') and (c <= 'Z'): delta=ord(c)-ord('A') delta=(delta+3)%26 c=chr(ord('A')+delta) elif(c >= 'a') and (c <= 'z'): delta=ord(c)-ord('a') delta=(delta+3)%26 c=chr(ord('a')+delta) mm+=c return mm
Codifica 3
Due stringhe contengono ordinatamente le lettere corrispondenti alla cifratura
# ABCDEFGHIJKLMNOPQRSTUVWXYZ Originale UPPER="DEFGHIJKLMNOPQRSTUVWXYZABC" # Codificato # abcdefghijklmnopqrstuvwxyz Originale LOWER="defghijklmnopqrstuvwxyzabc" # Codificato def cesare(m): mm="" for c in m: if(c >= 'A') and (c <= 'Z'): c=UPPER[ord(c)-ord('A')] elif(c >= 'a') and (c <= 'z'): c=LOWER[ord(c)-ord('a')] mm+=c return mm