Algoritmi și criptografie - Primele lucruri mai întâi, înainte de a continua și a începe să mă laud cu mine și să convertesc acest blog într-o conversație plictisitoare, permite mai întâi să înțeleg ce sunt algoritmii și cum sunt acestea legate de criptografie.
Algoritmi și criptografie
algoritmi
Pentru aceia dintre voi care cred că algoritmii sunt conectați doar la informatică, vă înșelați. Algoritmul este o metodă sau o formulă pentru rezolvarea unei probleme. Și când spun problemă, poate fi orice tip de problemă, poate fi matematica, formule științifice sau chiar bazate pe computer. Permiteți-mi să vă dau un simplu
Exemplu:
(A + b) 2 = a 2 + 2ab + b 2
Sau poate fi ca:
Suma acumulată = Principal (1 + ROI * 100 * timp)
Da! Tot ceea ce este o formulă poate fi luat ca un algoritm. Un algoritm este un set de reguli pentru rezolvarea unei probleme, care, dacă este făcut corect, va da un răspuns corect de fiecare dată. Algoritmii implică, în general, repetarea unei serii de pași de mai multe ori, ca în algoritmii de împrumut și de transport și în algoritmii de multiplicare și divizare lungă. Algoritmii includ o varietate de adunare, scădere, înmulțire și divizare.
Dar înainte să începi să crezi că iau un fel de lectură de matematică aici, permiteți-mi să vă spun că nu sunt. Sunt aici pentru a vorbi despre algoritmi și criptografie legate de informatică. Dar înainte de a continua cu asta, permiteți-vă să vă ofer câteva exemple de algoritmi simpli cu care să începeți.
Aceste exemple sunt destinate noobilor puri care nu au făcut niciodată niciun fel de chestii algoritmice în întreaga lor viață. Așadar, dacă credeți că sunteți suficient de inteligent, puteți săriți la următoarea secțiune a criptografiei, unde aș introduce din nou câteva elemente de bază înainte de a trece pe următorul nivel.
Iată, așadar, câteva exemple despre algoritmii de adăugare, care vă vor începe deocamdată și vă vor da o idee despre modul în care sunt algoritmii. Să începem cu matematica de bază:
Algoritmi de adăugare de la stânga la dreapta:
Începând din stânga, adăugați coloană cu coloană și ajustați rezultatul.
Pentru unii, acest proces devine atât de automat încât încep de la stânga și scriu răspunsul pe coloană, ajustându-se pe măsură ce merg fără a scrie pași interni. Dacă li se cere să explice, ei spun așa ceva:
200 plus 400 este 600, dar (uitându-ne la coloana următoare) trebuie să reglez asta, deci scrie 7. Apoi, 60 și 80 este 140, dar asta trebuie să se ajusteze, deci, scrie 5. Acum, 8 și 3 sunt 11, nu mai face, scrie 1. Această tehnică se dezvoltă cu ușurință din experiențe cu manipulatori, cum ar fi blocurile de bază 10 și bani, și jocuri de schimb sau de tranzacționare și este în concordanță cu tiparele de la stânga la dreapta învățate pentru citire și scriere.
Acum este posibil ca unii oameni să meargă peste tot când citesc despre asta. Așadar, este posibil să aveți nevoie să faceți Google aceste lucruri pentru a vă face o idee exactă despre ce se întâmplă exact aici.
Criptografie
Criptografia este o artă de a scrie coduri într-o manieră care nu poate fi citită de oameni. Este o metodă de stocare și transmitere a datelor într-o anumită formă, astfel încât numai cei pentru care este destinată să o poată citi și prelucra. Puteți spune că criptografia este un văr apropiat al disciplinelor criptologiei și criptanalizei.
Criptografia include tehnici precum microdotele, îmbinarea cuvintelor cu imaginile și alte modalități de a ascunde informațiile în stocare sau în tranzit. Cu toate acestea, în lumea de azi, centrată pe computer, criptografia este cel mai adesea asociată cu textul în text (text obișnuit, uneori numit text clar) în cifrat (un proces numit criptare), apoi din nou (cunoscut sub numele de decriptare). Persoanele care practică acest domeniu sunt cunoscute sub numele de criptografi.
Criptarea a fost folosită de multe mii de ani. Următoarele coduri și cifrări pot fi învățate și utilizate pentru criptarea și decriptarea mesajelor de mână:
A) Cifre mono-alfabetice:
Cifrul monoalphabetic utilizează aceeași substituție pe întregul mesaj. De exemplu, dacă știți că litera A este criptată ca litera K, acest lucru va fi valabil pentru întregul mesaj. Aceste tipuri de mesaje pot fi fisurate folosind analiza frecvenței, ghicitori educați sau încercare și eroare.
1. Ceaser Cipher
Un criptar Caesar este una dintre cele mai simple (și mai ușoare fisuri) de criptare. Este o cifră de substituție care implică înlocuirea fiecărei litere a mesajului secret cu o literă diferită a alfabetului, care este un număr fix de poziții în continuare în alfabet.
Deoarece fiecare literă din mesaj are o traducere directă către o altă scrisoare, analiza frecvenței poate fi folosită pentru a descifra mesajul. De exemplu, litera E este cea mai frecvent utilizată scrisoare în limba engleză.
Astfel, dacă cea mai comună scrisoare într-un mesaj secret este K, este probabil ca K să reprezinte E. În plus, terminațiile comune de cuvinte, cum ar fi ING, LY și ES, de asemenea, dau indicii. O abordare forță brută a încercării celor 25 de combinații posibile ar funcționa, de asemenea, pentru a descifra mesajul.
În acest exemplu, fiecare literă din mesajul sub formă de text a fost schimbată cu 3 litere în jos în alfabet.
Text integral : Acesta este un mesaj secret
Ciphertext : wklv lv d vhfuhw phvvdjh
2. Atbash Cipher
Cifra Atbash este un caz foarte specific al unei cifre de substituție în care se inversează literele alfabetului. Cu alte cuvinte, toate cum sunt înlocuite cu Z, toate B-urile sunt înlocuite cu Ys și așa mai departe.
Deoarece inversarea alfabetului de două ori vă va obține alfabetul real, puteți descifra și descifra un mesaj folosind același algoritm.
Exemplu:
Text integral : Acesta este un mesaj secret
Ciphertext : Gsrh rh z hvxivg nvhhztv
Cifrarea cuvântului cheie este identică cu cifra Cezar, cu excepția faptului că alfabetul de substituție utilizat poate fi reprezentat cu un cuvânt cheie.
Pentru a crea un alfabet de substituție dintr-un cuvânt cheie, scrieți mai întâi alfabetul. Sub aceasta scrieți cuvântul cheie (omitând litere duplicate) urmate de literele rămase neutilizate ale alfabetului.
ABCDEFGHIJKLMNOPQRSTUVWXYZ
KEYWORDABCFGHIJLMNPQSTUVXZ
Pentru a cripta un mesaj complet, convertiți toate literele din rândul de sus în litera corespunzătoare din rândul de jos (A la K, B la E, etc.).
Utilizarea analizei frecvenței și a unor ghicitori educate pot sparge cu ușurință aceste tipuri de cifre simple de substituție.
4. Pigpen / Cipru masonic
Cifrul pigpen (numit uneori cifră masonică sau cifră a lui Freemason) este o cifră simplă de substituție care schimbă litere pentru simboluri bazate pe o grilă. Schema a fost dezvoltată și utilizată de francmasoni la începutul anilor 1700 pentru păstrarea evidenței și corespondența. Tasta de exemplu arată un mod în care literele pot fi atribuite grilei.
B) Cifrele polialfabetice:
Într-un cifru polialfabetic, substituția se poate schimba pe parcursul mesajului. Cu alte cuvinte, litera A poate fi codată ca litera K pentru o parte a mesajului, dar mai târziu poate fi codată ca litera W.
Cursuri recomandate
- Instruire pe XML
- Curs de formare la examen CCNA
- Pregătirea completă a sistemului UNIX și Linux
- Pachet de instruire HTML 5
1. Vigenere Cipher
Într-un Cezar Cipher, fiecare literă a alfabetului este deplasată de-a lungul unui număr de locuri; de exemplu, într-un cifru Cezar al schimbării 3, A ar deveni D, B ar deveni E și așa mai departe. Cifrarea Vigenere constă în utilizarea mai multor cifre Caesar în secvență, cu valori de schimb diferite.
Pentru a descifra, se poate utiliza un tabel de alfabeturi, denumit tabula recta, pătrat Vigenere sau tabel Vigenere. Este format din alfabetul scris de 26 de ori în rânduri diferite, fiecare alfabet a fost mutat ciclic la stânga, comparativ cu alfabetul anterior, corespunzând celor 26 de cifre Cezar posibile. În diferite puncte ale procesului de criptare, cifrul utilizează un alfabet diferit de la unul dintre rânduri. Alfabetul folosit în fiecare punct depinde de un cuvânt cheie care se repetă.
De exemplu, să presupunem că textul care va fi criptat este:
ATTACKATDAWN
Persoana care trimite mesajul alege un cuvânt cheie și îl repetă până când se potrivește cu lungimea de text, de exemplu, cuvântul cheie „LEMON”:
LEMONLEMONLE
Fiecare literă este codată prin găsirea intersecției în grila dintre litera sub formă de text și litera cuvinte cheie. De exemplu, prima literă a textului complet, A, este criptată folosind alfabetul din rândul L, care este prima literă a cheii. Acest lucru se realizează uitându-se la litera din rândul L și la coloana A din pătratul Vigenere, și anume L. În mod similar, pentru a doua literă a textului de text, se folosește a doua literă a cheii; litera de la rândul E și coloana T este X. Restul textului clar este criptat în mod similar:
Text integral : ATTACKATDAWN
Cheie : LEMONLEMONLE
Ciphertext : LXFOPVEFRNHR
Găsirea poziției scrisorii de cifră într-un rând al tabelului și apoi luarea etichetei coloanei în care apare ca text de text, efectuați decriptarea. De exemplu, în rândul L, cifra de text L apare în coloana A, care a luat ca primă literă sub formă de text. Căutarea X în rândul E al tabelului decriptează a doua literă; ea apare în coloana T, care este luată ca literă de text.
Un cifru Gronsfeld este identic cu cifrul Vigenere, cu excepția faptului că sunt utilizate doar 10 rânduri, ceea ce permite ca cuvântul cheie să fie un număr în loc de un cuvânt.
steganography
Steganografia este, de fapt, știința de a ascunde informații de la oameni care te-ar trânti. Diferența dintre aceasta și criptare este că snoopers-urile vor putea să nu poată spune că există informații ascunse în primul rând.
Ca exemplu, fișierele cu imagini au de obicei mult spațiu neutilizat în ele. Acest spațiu poate fi utilizat pentru a trimite mesaje ascunse. Dacă faceți cercetări cu privire la criptare, este posibil să vedeți ocazional termenul de steganografie. Nu este, totuși, o adevărată criptare (deși poate fi încă destul de eficientă) și, ca atare, o menționez aici doar pentru completitate.
Deci, practic, dacă doriți să începeți practicarea criptologiei, cea mai bună modalitate de a începe ar fi să începeți să rezolvați algoritmi și Ciphertext împreună cu Steganografia. Chiar dacă Steganografia poate părea ușoară și nu este adevărată criptare, este totuși una dintre cele mai utilizate criptare atunci când vine vorba de elementele de bază și când trebuie să codați ceva în foarte puțin timp și în cel mai bun mod posibil.
Prima sursă de imagine: pixabay.com
Articole recomandate
Iată câteva articole care vă vor ajuta să obțineți mai multe detalii despre algoritmi și criptografie, așa că treceți doar prin link.
- Structuri de date și algoritmi Întrebări de interviu | Cel mai util
- 8 întrebări și răspunsuri la interviu de algoritm minunat
- Cea mai bună alegere a limbilor de programare pentru învățarea algoritmilor
- 10 Cele mai bune structuri de date și algoritmi C ++ | Elementele de bază