Sissejuhatus

https://www.google.com/url?sa=i&url=https%3A%2F%2Fwww.amazon.com%2FNicolas-Berne-Caesar-Cipher-Wheel
Caesar juhtis kõiki Rooma armeesid ja võitis palju lahinguid, mis andsid Roomale juurde maad. Kuidas ta juhina nii edukas oli? Võti oli tema suhtluses oma armeedega, mis oli krüpteeritud, et vaenlased ei saaks dešifreerida tema lahinguplaane.
Caesari salakiri
Siffer on teatud tüüpi salakood, mille puhul vahetate tähti nii, et keegi ei saaks teie sõnumit lugeda. Sõna peitmist nimetatakse krüpteerimiseks. Caesari salakiri liigutab lihttekstis (kodeerimata sõnumis) iga tähte tähestikus teatud arvu kohtade võrra üles või alla (määratud võtmega). Seda saab modelleerida ratta abil.
Sisemine ratas tähistab uut tähte ja välimine ratas originaalteksti.
Selle näite puhul on võti 19, mis tähendab, et sisemist ringi on nihutatud 19 korda paremale.
Sõnumi kodeerimine…
Kasutades sama ratast nagu eelmisel slaidil, kodeerime sõnumi “PYTHON PROJECT”.
Samm 1: mis on võti? (antud juhul 19)
Samm 2: liigutage sisemist ratast mitu kohta paremale (või vasakule, kui võti on negatiivne)
Samm 3: nüüd, kui sisemine ja välimine ratas on joondatud, leidke lihtteksti iga tähe jaoks ("PYTHON PROJECT") kodeeritud ekvivalent (nii et "P" muutub täheks "i").
Samm 4: tehke seda iga tähe puhul
Lihttekst: PYTHON PROJEKT
Kodeeritud sõnum: irmahg ikhcxvm
Ülesanne

https://www.google.com/url?sa=i&url=https%3A%2F%2Fwww.amazon.com%2FNicolas-Berne-Caesar-Cipher-Wheel
Looge Pythonis programm sõnumite kodeerimiseks kasutades Ceasari salakirja.
LVaadake paremal antud videot – "How to use the Caesar cipher" – ja proovige välja selgitada, milleks seda kasutada võiks. Vaata ka linki salakirja loomise kohta, et näha, mis seal on lihtne või raske, huvitav või igav? Milleks saaksite seda kasutada?
Õpite Pythoni keeles kodeerimist ja muidugi, mis on Ceasari salakiri ja kuidas seda kasutati ja kasutatakse. Samuti kuidas saab seda Pythonis kasutada?
Mõned Pythoni käsud on stringimeetodite käsud, massiivide loomine ja kasutamine ning loop'de loomine, samuti sisend ja väljund ning andmetüübid. Lisaks saate teada, kuidas kasutada lihtsaid ja raskemaid aritmeetilisi operaatoreid. Selles õppetükis ei saa te olema ainult programmeerijad või arendajad, vaid ka detektiivid. Testige oma piire, teadmisi ja intuitsiooni.
Saate luua oma salakirja kõige kohta, kuid need näited on siin, et teid alguses aidata.
Protsess
Enne õppetunni alustamist ja koodi loomist mõelge järgmisele:
- Kas teate, kes oli Caesar? Lugege tema elu ja vallutuste kohta (ife, conquests and facts).
- Kas oletete kunagi varem kuulnud Caesari salakirjast? Vaadake selles õppetükis lisatud videoid paremal Ressursid - Videod alt.
- Arutage oma klassikaaslastega, kas nad on sellest varem kuulnud ja kas seda tundub lihtne "teha" või lahendada?
- Proovige kirjutada oma õpetajale või klassikaaslasele krüpteeritud sõnum. Tehke võistlus, kes loob kõige raskema või naljakama salakirja
Programm peaks:
- Küsima kasutajal krüpteerida mõni lihttekst
- Küsima kasutajalt võtit
- Krüpteerima lihtteksti võtme abil
- Väljastama krüpteeritud sõnumi kasutajale
Protsessi on kirjeldatud sellele lehele (paremal küljel) lisatud dokumendis "Caesar Cipher". Dokument koosneb kuuest (6) erinevast etapist ja kirjeldab salakirja loomiseks vajalikke Pythoni käske.
- Peate käivitama Pythoni IDE või kasutama Pythoni veebiredaktorit https://www.collegeofcoding.com/
- Proovige Pythoni koodi tegevust, mis on toodud Caesar Cipher.pdf leheküljel 9
- Vaadake ja õppige sisendi/väljundi, kuupäevatüüpide, muutujate, tsüklite ja if-lausete kohta.
- Testige printimiskäskluse toimimist, käivitades antud read.
- Järgige juhendit kuni 6. sammuni ja testige programmi regulaarselt.
- Leheküljel 21 on koodi lõplik kombineeritud versioon, mida saate oma koodiga võrrelda.
Kokkuvõte
- Nüüd peaksite oskama šifreerida ja teha seda Pythonis.
- Peaksite oskama leida oma teema kohta materjali ja kirjutama koodi.
- Peaksite teadma Caesari põhitõdesid, salakoodi ning miks ja kuidas seda kasutatakse.
Järgmised sammud:
- See on hea algus teie enda salakirja loomisele.
- Looge oma salakiri ja jagage seda, tehke see raskeks, kuid lõbusaks
- Liikuge 2. taseme Pythoni tegevusele või proovige looduskatastroofi tegevust.
Seosed igapäevaeluga:
- Mängi - saab kasutada sõprade vahel salasõnumite loomiseks.
- Tööl - küberturvalisus ning krüpteeritud võrk ja sõnumid.
- Koostöö ja suhtlemine - see aitas Julius Caesaril sõdu võita ja Rooma revolutsiooni teha.
Hindamine
QUEST_LO
- Saate muutujaid enesekindlalt deklareerida kahe erineva andmetüübiga (täisarv ja string)
- Saate kasutada sisestusfunktsiooni, et paluda kasutajal sisestada muutuja väärtus
- Saate kasutada for tsüklit
- Saate kasutada if-lauset
- Saate kasutada kahte stringimeetodit (juurdepääs stringidele ja funktsioon Find())
- Saate arvutamiseks teada põhilisi ja mõningaid täiustatud aritmeetilisi tehteid
- Saate aru ja oskate selgitada, kuidas Caesari salakiri töötab ja kui oluline see on.