Algoritmi i kriptografija - Prvo, prvo, prije nego što nastavim i počnem se hvaliti o sebi i pretvoriti ovaj blog u dosadan razgovor sa jedne strane, da prvo razumemo što su algoritmi i kako su povezani sa kriptografijom.

Algoritmi i kriptografija

algoritmi

Za one od vas koji misle da su algoritmi povezani samo s informatikom, griješite. Algoritam je metoda ili formula za rješenje problema. A kad kažem problem, to može biti bilo koji problem, može to biti Math, Science formule ili čak računalno utemeljen. Dopustite mi da vam dam jednostavno

Primjer:

(A + b) 2 = a 2 + 2ab + b 2

Ili može biti poput:

Naplaćeni iznos = glavni (1 + ROI * 100 * vrijeme)

Da! Sve što je formula može se uzeti kao algoritam. Algoritam je skup pravila za rješavanje problema koja će svaki put, ako se pravilno rade, dati točan odgovor. Algoritmi obično uključuju ponavljanje niza koraka iznova i iznova, kao u algoritmima za posuđivanje i nošenje te u dugim algoritmima množenja i dijeljenja. Algoritmi uključuju raznoliko zbrajanje, oduzimanje, množenje i dijeljenje.

Ali prije nego što počnete razmišljati da ovdje držim nekakav matematički predavanje, dopustite da vam kažem da nisam. Ovdje sam da bih govorio o algoritmima i kriptografiji povezanim s računalima. Ali prije nego nastavim s tim, dopustite mi da vam dam nekoliko primjera jednostavnih algoritama za početak.

Ovi su primjeri za čiste noobe koji nikada u životu nisu radili bilo kakve algoritamske stvari. Dakle, ako mislite da ste dovoljno pametni, možete preskočiti na sljedeći odjeljak Kriptografije u kojem bih ponovno uvodio neke osnove prije nego što pređemo na sljedeću razinu.

Dakle, evo nekoliko primjera algoritma dodavanja, koji će vas za sada započeti i dati ideju o tome kako su algoritmi. Krenimo od osnovne matematike:

Algoritmi dodavanja s lijeva na desno:

Počevši s lijeve strane, dodajte stupac po stupac i prilagodite rezultat.

Nekim ljudima ovaj proces postaje toliko automatski da započinju s lijeve strane i pišu stupac odgovora po stupcu, prilagođavajući se tako što prolaze bez pisanja koraka između. Ako ih pitaju za objašnjenje, kažu ovako:

200 plus 400 je 600, ali (gledam u sljedeći stupac) to moram prilagoditi, pa napišite 7. Zatim je 60 i 80 140, ali za to je potrebno prilagođavanje, pa napišite 5. Sada je 8 i 3 11, nema više što raditi, pisati 1. Ova se tehnika lako razvija iz iskustava s manipulacijama, kao što su osnovni blokovi-10 i novac, te igre razmjene ili trgovanja, a u skladu je s obrascima s lijeva na desno naučenim za čitanje i pisanje.

Sada će neki ljudi možda čitati više o tome. Stoga ćete možda trebati Googleu ove stvari da biste dobili točnu ideju o tome što se ovdje točno događa.

Kriptografija

Kriptografija je umjetnost pisanja kodova na nečitljiv način. To je metoda pohranjivanja i prijenosa podataka u određenom obliku, tako da samo oni za koje je namijenjen mogu ih čitati i obrađivati. Možete reći da je kriptografija bliska rođaka disciplinama kriptologije i kriptanalize.

Kriptografija uključuje tehnike poput mikrodota, spajanje riječi sa slikama i druge načine skrivanja podataka u skladištu ili u prijevozu. Međutim, u današnjem računalno usmjerenom svijetu kriptografija je najčešće povezana s šifriranjem otvorenog teksta (obični tekst, koji se ponekad naziva i jasan tekst) u šifrični tekst (proces koji se naziva šifriranje), a zatim ponovno (poznat kao dešifriranje). Pojedinci koji se bave ovim poljem poznati su kao kriptografi.

Šifriranje se koristi već tisućama godina. Sljedeće kodove i šifre mogu se naučiti i koristiti za ručno šifriranje i dešifriranje poruka:

A) Monoalfabetski šifri:

Monoalfabetski šifra koristi istu zamjenu u cijeloj poruci. Na primjer, ako znate da je slovo A šifrirano kao slovo K, to će biti točno za cijelu poruku. Ove se vrste poruka mogu probiti pomoću frekvencijske analize, poučenih nagađanja ili pokušaja i pogreške.

1. Šifra Ceaser

Cezarova šifra jedna je od najjednostavnijih (i najlakših pukotinskih) metoda šifriranja. To je Šifra za zamjenu koja uključuje zamjenu svakog slova tajne poruke drugim slovom abecede, što je fiksni broj položaja dalje u abecedi.

Kako svako slovo u poruci ima izravan prijevod na drugo slovo, analizom frekvencije mogu se upotrijebiti za dešifriranje poruke. Na primjer, slovo E je najčešće korišteno slovo u engleskom jeziku.

Dakle, ako je najčešće pismo u tajnoj poruci K, vjerovatno je da K predstavlja E. Osim toga, tragove uobičajene riječi poput ING, LY i ES također daju tragove. Pristup grubim silama u isprobavanju svih 25 mogućih kombinacija također bi djelovao na dešifriranju poruke.

U ovom primjeru, svako slovo u otvorenom tekstu pomaknuto je 3 slova prema abecedi.

Plaintext : Ovo je tajna poruka

Šifrični tekst : wklv lv d vhfuhw phvvdjh

2. Atbash šifra

Atbash šifra vrlo je specifičan slučaj zamjenskog šifra na kojem su slova abecede obrnuta. Drugim riječima, svi kao što su zamijenjeni sa Zs, svi B-ovi su zamijenjeni s Ys i tako dalje.

Budući da se poništavanjem abecede dvaput dobije stvarna abeceda, poruku možete dešifrirati i dešifrirati točno istim algoritmom.

Primjer:

Plaintext : Ovo je tajna poruka

Šifrični tekst : Gsrh rh z hvxivg nvhhztv

Šifra ključne riječi identična je Šifru Cezara s izuzetkom što se zamjenska abeceda može predstavljati ključnom riječju.

Da biste stvorili zamjensku abecedu iz ključne riječi, najprije je zapišite. Ispod toga zapišete ključnu riječ (izostavljajući duplikate), a zatim preostala neiskorištena slova abecede.

ABCDEFGHIJKLMNOPQRSTUVWXYZ

KEYWORDABCFGHIJLMNPQSTUVXZ

Da biste šifrirali poruku u otvorenom tekstu, pretvarate sva slova iz gornjeg retka u odgovarajuće slovo na donjem redu (od A do K, B do E itd.).

Korištenjem frekvencijske analize i nekim educiranim nagađanjima lako se mogu razbiti ove vrste jednostavnih zamjenskih šifri.

4. Pigpen / masonska šifra

Pirpen šifra (koja se ponekad naziva i masonska šifra ili Freasonsova šifra) je jednostavna zamjenska šifra koja razmjenjuje slova za simbole temeljene na mreži. Shemu su razvili i koristili masoni početkom 1700-ih za vođenje evidencije i dopisivanje. Primjerna tipka pokazuje jedan način na koji se slova mogu dodijeliti mreži.

B) Polifafatski šifri:

U polialfabetičkom šifri zamjena se može mijenjati u cijeloj poruci. Drugim riječima, slovo A može biti kodirano kao slovo K za dio poruke, ali kasnije se može kodirati i kao slovo W.

Preporučeni tečajevi

  • Trening o XML-u
  • CCNA Ispitni tečaj
  • Kompletna UNIX i Linux OS obuka
  • HTML 5 paket za obuku

1. Vigenere Cipher

U Cezarovom šifru svako slovo abecede pomiče se prema određenom broju mjesta; na primjer, u Cezarovom šifru promjene 3, A bi postao D, B bi postao E i tako dalje. Vigenere šifra sastoji se od korištenja nekoliko Cezarovih šifri u nizu s različitim vrijednostima pomaka.

Za šifriranje može se upotrijebiti tablica abecede, nazvana tabula recta, trg Vigenere ili Vigenere. Sastoji se od abecede ispisane 26 puta u različitim redovima, a svaka se abeceda pomiče ciklično lijevo u odnosu na prethodnu abecedu, što odgovara 26 mogućih Cezarovih šifri. U različitim točkama postupka šifriranja, šifra koristi različitu abecedu iz jednog od redaka. Abeceda koja se koristi u svakoj točki ovisi o ključnoj riječi koja se ponavlja.

Na primjer, pretpostavimo da je otvoreni tekst za šifriranje:

ATTACKATDAWN

Osoba koja šalje poruku bira ključnu riječ i ponavlja je dok se ne podudara sa dužinom očiglednog teksta, na primjer, ključnom riječ "LEMON":

LEMONLEMONLE

Svako slovo se kodira pronalaženjem sjecišta u mreži između slova u otvorenom tekstu i slova ključne riječi. Na primjer, prvo slovo otvorenog teksta, A, šifrirano je pomoću abecede u retku L, što je prvo slovo ključa. To se postiže pregledom slova u retku L i stupcu A Vigenereova trga, naime L. Slično tome, za drugo slovo očiglednog teksta koristi se drugo slovo ključa; slovo u retku E i stupu T je X. Ostatak otvorenog teksta šifriran je na sličan način:

Plaintext : ATTACKATDAWN

Ključ : LEMONLEMONLE

Šifra teksta : LXFOPVEFRNHR

Pronalaženje položaja šifričnog teksta u retku tablice i zatim uzimanje oznake stupca u kojem se pojavljuje kao otvoreni tekst izvode dešifriranje. Primjerice, u retku L šifrični tekst L pojavljuje se u stupcu A, koji je prvo slovo u otvorenom tekstu. Pregledavajući X u redu E tablice dešifrira drugo slovo; pojavljuje se u stupcu T, koji se uzima kao kratko pismo.

Gronsfeld-ova šifra identična je Vigenere-ovoj šifri, s izuzetkom da se koristi samo 10 redaka, što omogućuje da ključna riječ bude broj umjesto riječi.

Steganography

Steganografija je zapravo znanost o skrivanju informacija od ljudi koji bi vam se utaborili. Razlika između ove i enkripcije je u tome što potencijalni snooperi možda neće moći reći da uopće postoje skrivene informacije.

Kao primjer, datoteke s slikama obično imaju mnogo neiskorištenog prostora u njima. Taj se prostor može koristiti za slanje skrivenih poruka. Ako istražujete šifriranje, možda ćete vidjeti pojam steganografija koji se povremeno koristi. Nije, međutim, istinsko šifriranje (iako još uvijek može biti prilično učinkovito), i kao takvo ga ovdje spominjem samo radi cjelovitosti.

Dakle, u osnovi ako želite započeti s prakticiranjem kriptologije, najbolji način za početak bi bio započeti rješavanje algoritama i Ciphertext-a zajedno sa Steganografijom. Iako se Steganografija može činiti laganom i nije istinita enkripcija, ona je i dalje jedno od najčešće korištenih enkripcija kada je riječ o osnovama i kad morate nešto kodirati u vrlo malo vremena i na najbolji mogući način.

Prvi izvor slike: pixabay.com

Preporučeni članci

Evo nekoliko članaka koji će vam pomoći da saznate više detalja o algoritmima i kriptografiji pa samo prođite vezu.

  1. Intervjui o strukturama podataka i algoritmima | Najkorisniji
  2. 8 Pitanja i odgovori za intervju sa strahovitim algoritmom
  3. Najbolji jezici programiranja za učenje algoritama
  4. 10 najboljih struktura podataka i algoritama C ++ | Osnove

Kategorija: