Cezarjeva šifra

Cezarjeva šifra

Avtor: Igor Brecelj

Učni cilji: Zanke, seznam, spremenljivke v Scratchu.

Uvod

Cezarjeva šifra

Je eden od primerov najenostavnejšega šifriranja. Gre za zamenjavo, kjer se vsaka črka zamenja z drugo črko v abecedi, zamaknjeno za določeno število mest. Npr. s pomikom 3 se črka A zamenja s črko D, črka B s črko E itd.

(Cezar1.jpg)
Prikaz šifriranja

Izvedba

Definirajmo spremenljivke in njihov pomen:

alphabets abeceda (brez šumnikov) shift pomik (za koliko mest v abecedi se pomaknemo) plainText tekst, ki ga vnesemo cipherText šifriran tekst idx indeks vnesenega teksta aIdx indeks v abecedi

Vrednost spremenljivke idx nastavimo na 0, vrednost cipherText pa na prazno. Algoritem za vse črke v tekstu, ki se ga vnese

(Cezar2.jpg)
Ponavljaj za vse črke v vnesenem tekstu

Sledi primerjava dveh črk. Če sta enaki, dodamo črko premaknjeno za spremenljivko shift v cipherText. Če ni enaka, nadaljujemo s primerjavo z drugo črko v abecedi. Spremenljivka sifriran nam pove, če smo črko v plainText spremenili v šifrirano črko. Če smo dobili ustrezno črko v abecedi, je njena vrednost true. Če smo pregledali vse črke v abecedi in je vrednost spremenljivke sifriran false, potem pomeni, da določen simbol ni v abecedi in njega spet izpišemo.

(Cezar3.jpg)
Dodajanje znaka v šifriran tekst

Slika in koda programa

(Cezar0.jpg)
Slika programa
(Cezar.jpg)
Cezarjeva šifra koda programa

Naloga

Programu dodaj še možnost dešifriranja.

0%
0%