IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

Diskusia – 3. diel - Ukážka jednoduchej šifrace textu Caesarovho šifra

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Avatar
Kristýna Janoušková:8.11.2016 11:36

Zdravím, zajímalo by mě, jak by kód vypadal, kdyby na začátku uživatel zadal např 1 z 5 možných vět, která už je zašifrovaná ale nevíme o jaký posun a úkolem je vypsat právě hodnotu toho posunu? :)

 
Odpovedať
8.11.2016 11:36
Avatar
Odpovedá na Kristýna Janoušková
Libor Šimo (libcosenior):8.11.2016 11:57

Správne chápem, že tých 5 možných viet by bolo zadaných nezašifrovaných a tá jedna vybratá by bola aj zašifrovaná?

Odpovedať
8.11.2016 11:57
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Odpovedá na Libor Šimo (libcosenior)
Kristýna Janoušková:8.11.2016 12:21

Ano, přesně tak :) měla jsem to lépe popsat.

 
Odpovedať
8.11.2016 12:21
Avatar
Odpovedá na Libor Šimo (libcosenior)
Kristýna Janoušková:8.11.2016 12:43

A ještě dodatek, ani to nemusí být přímo v kódu klidně jen pseudokód.

Editované 8.11.2016 12:43
 
Odpovedať
8.11.2016 12:43
Avatar
Martin Dráb
Tvůrce
Avatar
Odpovedá na Kristýna Janoušková
Martin Dráb:8.11.2016 13:50

Nenapíšu pseudokód, ale...

Počet možných posunů je poměrně malý (řekněme 26), takže se dají bez problémů na "zašifrovaný" text všechny vyzkoušet. Pak jde jen o to poznat, která z variant je správná. Pokud znáš jazyk otevřeného textu, můžeš použít heuristiku pro jeho detekci – například se dívat na dvojice po sobě jdoucích písmen a přiřazovat danému textu skóre podle toho, jak moc obvykle jednotlivé dvojice v jazyce jsou (třeba QX asi v češtině moc nenajdeš). To samé lze použít i pro jednotlivá písmena.

Obecnější postup je provést frekvenční analžzu: zjistit si četnosti jednotlivých písmen v textu a namapovat je na relativní četnosti písmen v daném jazyce (tzn. pokud víme, že v našem jazyce je nejčastější E a v "šifrovaném" textu je to H, pravděpodobně H by se mělo dešifrovat na E). Tento postup pořeší nejen Caesara, ale i obecnější variantu – monoalfabetickou substituční šifru (nedělá e posun, ale máš tabulku (permutaci) překládající jednotlivá písmena na jiná).

Pro oba postupy platí: čím delší text, tím lepší výsledky.

Odpovedať
8.11.2016 13:50
2 + 2 = 5 for extremely large values of 2
Avatar
Odpovedá na Kristýna Janoušková
Libor Šimo (libcosenior):8.11.2016 20:26

Takze je to jednoduche. Budes porovnavat dekodovany text s jednotlivymi vetami a pri zhode vypises posun.
Nehnevaj sa, ale kod ti nenapisem. To by si sa nic nenaucila. ;-)

Odpovedať
8.11.2016 20:26
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Kristýna Janoušková:8.11.2016 20:38

Jo děkuji, v průběhu dne na to tak nějak krok po kroku vymíšlím. Je mi jasné že nějak se to naučit musím :)

 
Odpovedať
8.11.2016 20:38
Avatar
Odpovedá na Kristýna Janoušková
Libor Šimo (libcosenior):8.11.2016 20:39

Nepises v akom jazyku to mas napisat.

Odpovedať
8.11.2016 20:39
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Daniel Kysilka:21.1.2017 20:36

Co kdybych chtěl v každém dalším přepsání znaku přepsat i všechny už přepsané? Tedy z "ahoj" udělat postupně bhoj -> cioj -> djpj -> ekqk..? :)

 
Odpovedať
21.1.2017 20:36
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zatiaľ nikto nevložil komentár - buď prvý!