Image 01

Cezario šifras

July 2nd, 2010 by Bukoptimistas

Cezaro šifras

yra vienas iš seniausių šifravimų technikų. Šifravimas atliekamas pakeičiant abėcėlės raides per tam tikrą, žinomą pozicijų skaičių. 

Nuotrauka paimta iš http://en.wikipedia.org/wiki/Caesar_cipher

Pateiktame paveiksliuke abėcėlė perstumta yra per 3 vietas, tai Cezario šifravimo raktas lygus trim. Šifravimas naudoja tokį algoritmą:

šifravimui : Ci=(Pi +K) mod 26,

dešifravimui: Pi=(Ci-K+26) mod 26
kur Ci šifruoto teksto  raidės, Pi žinutės raidės, K – šifravimo raktas.

Trūkumai

Šio algoritmo atsparumas atakom yra silpnas. Galima pakankamai greitai atšifruoti žinutę nežinant postūmio.

Rakto atspėjimo būdai

Jei yra užkoduotas angliškas tekstas, galima atlikti raidžių dažnumo analizę. Originalų tekstą gauname keičiant atitinkamo dažnumo raides. Angliško teksto raidžių dažnumo lentelė pateikta žemiau

raidžių dažnumo lentelė

angliško alfabeto raidžių dažnumo lentelė

Taikant šį būdą reikia pakankamai didelio užkoduoto teksto, kad būtų gautas kuo tikslesnis raidžių dažnumas. Dėl efektyvumo papildomai galima paskaičiuoti kiekvienos raidės postūmį. Dažniausia postūmio vertė  - šifro raktas.

Kitas būdas naudoti “brute force”  metodą sudarant įvairius raidžių derinius ir juos tikrinant su žodžių duomenų lentele.  Radus atitikimą paskaičiuoti postūmį.

Programa

Programa sukurta JAVA programavimo kalba ir moka užkoduoti tekstą, jį dekoduoti ir bandyti atspėti kodavimo raktą.  Sukurta tik komandinės eilutės valdymas.

Programos pirminis tekstas priglaustas pastebin.lt sistemoje: main.java encode_decode.java

Plačiau galite pasiskaityti angliškoje wikipedijoje http://en.wikipedia.org/wiki/Caesar_cipher

qrCode

Tags: ,

3 Responses to “Cezario šifras”

  1. Paulius says:

    Nesupratau, tu čia programuot pradėjai? :D

  2. Gedzis says:

    Paprasta parašyt programą, kai žinomas algoritmas ar formulės

  3. ir kai tą programą reikia padaryti laboratoriniam darbui :) Tiesiog norėjau pasidalinti su likimo broliais, jei kam reiks informacijos.

Leave a Reply