Šifrovanie (kryptografia)

  1. Vytvorte program, ktorý bude šifrovať/dešifrovať text nasledovným spôsobom:
    šifrovanie: vstup reťazec a číslo, v danom reťazci nahradí každý znak znakom ležiacim o dané číslo v abecede ďalej
    príklad: vstup: "ahoj" kľúč "2" výstup: "cjrl"
    dešifrovanie: postup opačný, posúva o zadaný počet znakov opačným smerom

  2. Vytvorte program, ktorý bude šifrovať/dešifrovať text nasledovným spôsobom:
    šifrovanie: vo všetkých slovách (sú oddelené medzerou) napíše písmená v opačnom poradí
    príklad: vstup "ahoj, ako sa máš?"            výstup: ",joha oka as ?šám"

  3. Vytvorte program, ktorý bude šifrovať/dešifrovať text nasledovným spôsobom:
    text sa rozdelí na n-tice, v ktorých sa znaky preusporiadajú podľa kľúča
    príklad: vstup: "ahoj, ako sa máš" a kľúč je "312"
                 výstup je: "oah j,oaka sá m š "

  4. Vytvorte program, ktorý bude šifrovať/dešifrovať text nasledovným spôsobom:
    text sa rozdelí na n-tice, v ktorých sa znaky nahradia znakmi podľa kľúča
    príklad: vstup: "ahoj, ako sa mas"a kľúč je "heslo". Jednotlivé písmená (resp. ich ordinálne hodnoty) kľúča určujú posun v abecede pre každý znak z danej pätice. Ak ord(h)=104, ord(e)=101, ord(s)=115, ord(l)=108, ord(o)=111 potom posúvame "a" o 104, "h" o 101, "o" o 115, "j" o 108, "," o 111 a rovnako pokračujeme ďalšou päticou.

  5. Pokúste sa odhadnúť zložitosť rozbitia šifry, t.j. koľko času, operácii, porovnaní, .. potrebujeme na rozlúštenie šifry tzv. hrubou silou (skúšame všetky možnosti)

Poznámka: Uvedomte si, že dešifrovanie môžeme vykonať šifrovacím algoritmom zmenou kľúča.