Algoritmi in kriptografija - Najprej najprej, preden se nadaljujem in se pohvalim o sebi in pretvorim ta blog v dolgočasen pogovor z ene strani, najprej razumemo, kaj so algoritmi in kako so povezani s kriptografijo.

Algoritmi in kriptografija

Algoritmi

Za tiste, ki mislite, da so algoritmi povezani samo z računalništvom, se motite. Algoritem je metoda ali formula za reševanje problema. In ko rečem problem, gre lahko za kakršno koli težavo, lahko je to Math, Science formule ali celo računalniško podprto. Naj vam povem preprosto

Primer:

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

Ali pa je lahko tako:

Obračunani znesek = glavni (1 + ROI * 100 * čas)

Da! Vse, kar je formula, je mogoče jemati kot algoritem. Algoritem je niz pravil za reševanje težave, ki bodo ob pravilnem odgovoru vsakič dobili pravilen odgovor. Algoritmi običajno vključujejo ponavljanje vrste korakov znova in znova, kot pri algoritmih izposoje in prenašanja ter v dolgih algoritmih za množenje in deljenje. Algoritmi vključujejo raznoliko seštevanje, odštevanje, množenje in deljenje.

Preden pa začnete razmišljati, da tu delam nekakšno predavanje iz matematike, naj vam povem, da nisem. Tukaj govorim o algoritmih in kriptografiji, povezanih z računalništvom. Preden pa nadaljujem s tem, naj vam navedem nekaj primerov preprostih algoritmov, za začetek.

Ti primeri so za čiste nobe, ki v svojem življenju še nikoli niso počeli nobenih algoritmičnih stvari. Če torej menite, da ste dovolj pametni, lahko preskočite na naslednji del Kriptografije, kjer bi znova predstavil nekaj osnov, preden se premaknete na naslednjo stopnjo.

Tukaj je nekaj primerov o Algoritmih dodajanja, s katerimi boste za začetek in dali idejo o tem, kako algoritmi so. Začnimo z osnovno matematiko:

Algoritmi seštevanja od leve proti desni:

Začnite na levi strani, dodajte stolpec za stolpcem in prilagodite rezultat.

Za nekatere ljudi ta postopek postane tako samodejen, da se začnejo na levi strani in pišejo stolpec z odgovori po stolpcu, prilagajajo pa se tako, da ne napišejo nobenega vmesnega koraka. Če jih prosim, naj pojasnijo, povedo nekaj takega:

200 plus 400 je 600, vendar (gledam v naslednji stolpec) to moram prilagoditi, zato napišite 7. Nato je 60 in 80 140, vendar je treba prilagoditi, zato napišite 5. Zdaj sta 8 in 3 11, nič več, pisati 1. Ta tehnika se zlahka razvije iz izkušenj z manipulativnimi sredstvi, kot so osnovni bloki in denar, ter igre za menjavo ali trgovanje in je skladna z vzorci od leve proti desni, ki so se jih naučili za branje in pisanje.

Zdaj bodo morda nekateri brali o tem. Torej boste morda morali te stvari razkriti Googlu, da boste dobili natančno predstavo o tem, kaj se točno dogaja tukaj.

Kriptografija

Kriptografija je umetnost pisanja kod na nečloveški način. Gre za način shranjevanja in prenašanja podatkov v določeni obliki, tako da jih lahko berejo in obdelujejo le tisti, ki jim je namenjen. Lahko rečete, da je kriptografija tesna sestrična disciplinam kriptologije in kriptanalize.

Kriptografija vključuje tehnike, kot so mikrodotiki, spajanje besed s slikami in drugi načini za skrivanje informacij v skladišču ali med prevozom. Vendar pa je v današnjem računalniško usmerjenem svetu kriptografija najpogosteje povezana s šifriranjem preprostega besedila (navadnega besedila, ki ga včasih imenujemo jasno besedilo) v šifrantekst (postopek, imenovan šifriranje), nato spet nazaj (znan kot dešifriranje). Posamezniki, ki se ukvarjajo s tem področjem, so znani kot kriptografi.

Šifriranje se uporablja že več tisoč let. Naslednje kode in šifre je mogoče naučiti in uporabiti za ročno šifriranje in dešifriranje sporočil:

A) Monoalfabetične šifre:

Monoalfabetični šifer uporablja isto zamenjavo v celotnem sporočilu. Če na primer veste, da je črka A šifrirana kot črka K, bo to veljalo za celotno sporočilo. Te vrste sporočil je mogoče zrušiti s pomočjo frekvence, poučenih ugibanj ali poskusov in napak.

1. Ceaser Cipher

Cezarjev šifrant je eden najpreprostejših (in najlažje razpokanih) načinov šifriranja. Gre za nadomestni šifrant, ki vključuje zamenjavo vsake črke skrivnega sporočila z drugačno črko abecede, ki je v abecedi določeno število mest.

Ker ima vsaka črka v sporočilu neposreden prevod v drugo črko, se lahko za dešifriranje sporočila uporabi frekvenčna analiza. Na primer, črka E je najpogosteje uporabljena črka v angleškem jeziku.

Če je najpogostejša črka v skrivnem sporočilu K, je verjetno, da K predstavlja E. Poleg tega običajni besedni končki, kot so ING, LY in ES, dajejo tudi namige. Sprostitveni pristop pri poskusu vseh 25 možnih kombinacij bi deloval tudi pri razvozlavanju sporočila.

V tem primeru je vsaka črka sporočila v preprostem besedilu premaknjena za 3 črke v abecedi.

Ponovno besedilo : To je skrivno sporočilo

Šifra besedila : wklv lv d vhfuhw phvvdjh

2. Šifra Atbash

Atbash šifra je zelo specifičen primer nadomestnega šifra, kjer so črke abecede obrnjene. Z drugimi besedami, vsi, kot so nadomeščeni z Zs, vsi B ​​so zamenjani z Ys in tako naprej.

Ker boste z obračanjem abecede dvakrat dobili dejansko abecedo, lahko sporočilo šifrirate in dešifrirate s povsem istim algoritmom.

Primer:

Ponovno besedilo : To je skrivno sporočilo

Šifra besedila : Gsrh rh z hvxivg nvhhztv

Šifra ključne besede je identična šifri Caesar, le da je uporabljena substitucijska abeceda lahko predstavljena s ključno besedo.

Če želite iz ključne besede ustvariti nadomestno abecedo, najprej zapišite abecedo. Spodaj zapišete ključno besedo (izpustite podvojene črke), ki ji sledijo preostale neuporabljene črke abecede.

ABCDEFGHIJKLMNOPQRSTUVWXYZ

KEYWORDABCFGHIJLMNPQSTUVXZ

Če želite šifrirati sporočilo v preprostem besedilu, pretvorite vse črke iz zgornje vrstice v ustrezno črko v spodnji vrstici (A do K, B do E itd.).

S frekvenčno analizo in nekaterimi izobraženimi ugibanjem lahko enostavno razbijete te vrste preprostih nadomestnih šifre.

4. Pigpen / Masonska šifra

Pirpen šifra (včasih jo imenujemo tudi masonska šifra ali prostozidarska šifra) je preprosta nadomestna šifra za izmenjavo črk za simbole, ki temeljijo na mreži. Shemo so razvili in uporabljali prostozidarji v zgodnjih 1700-ih za vodenje evidence in dopisovanje. Primer tipke prikazuje en način, kako se črke lahko dodelijo v mrežo.

B) Polifabetični šifri:

V polialfabetičnem šifru se lahko zamenjava v celotnem sporočilu spremeni. Z drugimi besedami, črka A se lahko kodira kot črka K za del sporočila, kasneje pa se lahko kodira kot črka W.

Priporočeni tečaji

  • Usposabljanje o XML
  • CCNA izpitni tečaj
  • Popolno usposabljanje za UNIX in Linux OS
  • HTML 5 vadbeni paket

1. Vigenere Šifra

V Cesarjevem šifru je vsaka črka abecede pomaknjena po določenem številu mest; na primer v Cezarjevem šifru premika 3 bi A postal D, B postal E in tako naprej. Šifra Vigenere je sestavljena iz uporabe več Cezarjevih šifre v zaporedju z različnimi premičnimi vrednostmi.

Za šifriranje je mogoče uporabiti tabelo abeced, imenovano tabula recta, kvadrat Vigenere ali tabela Vigenere. Sestavljen je iz abecede, izpisane 26-krat v različnih vrsticah, pri čemer se je vsaka abeceda ciklično pomaknila v levo v primerjavi s prejšnjo abecedo, kar ustreza 26 možnim šifrantom Cezar. Na različnih točkah postopka šifriranja šifrant uporablja drugačno abecedo od ene od vrstic. Abeceda, uporabljena na vsaki točki, je odvisna od ponavljajoče se ključne besede.

Recimo, na primer, da je očitni pas, ki ga je treba šifrirati:

ATTACKATDAWN

Oseba, ki pošilja sporočilo, izbere ključno besedo in jo ponavlja, dokler se ne ujema z dolžino očitnega besedila, na primer ključno besedo "LEMON":

LEMONLEMONLE

Vsaka črka je kodirana z iskanjem presečišča v rešetki med črko brez besed in ključno besedo. Na primer, prva črka neposrednega besedila A je šifrirana s pomočjo abecede v vrstici L, ki je prva črka ključa. To storimo tako, da pogledamo črko v vrstici L in stolpcu A trga Vigenere, in sicer L. Podobno se za drugo črko očitnega besedila uporablja druga črka ključa; črka v vrstici E in stolpcu T je X. Preostali del očesa je podobno šifriran:

Polno besedilo : ATTACKATDAWN

Ključ : LEMONLEMONLE

Šifra besedila : LXFOPVEFRNHR

Poiščite položaj črke šifriškega besedila v vrstici tabele in nato vzemite oznako stolpca, v katerem je videti kot preprost tekst, izvedite dešifriranje. Na primer, v vrstici L se v stolpcu A pojavi šifrotekst L, ki je prvi črki v črki. Če pogledamo X v vrstici E tabele, dešifrira drugo črko; se prikaže v stolpcu T, ki je v obliki črke v preprostem besedilu.

Gronsfeldova šifra je enaka šifri Vigenere, le da je uporabljenih le 10 vrstic, kar omogoča, da je ključna beseda namesto besede številka.

Steganografija

Steganografija je pravzaprav veda o skrivanju informacij pred ljudmi, ki bi vas zasipali. Razlika med tem in šifriranjem je v tem, da potencialni ostrostrelci morda ne bodo mogli povedati, da so skrite informacije na prvem mestu.

Primer: slikovne datoteke imajo v njih običajno veliko neizkoriščenega prostora. Ta prostor lahko uporabite za pošiljanje skritih sporočil. Če raziskujete šifriranje, boste morda občasno videli izraz steganografija. Ne gre pa za resnično šifriranje (čeprav je še vedno lahko zelo učinkovito), zato ga kot popolnost omenjam le tukaj.

Torej, če želite začeti izvajati kriptologijo, bi bil najboljši način, da začnete reševati algoritme in Ciphertext skupaj s steganografijo. Čeprav se morda Steganografija zdi enostavna in ne gre za resnično šifriranje, je še vedno eno najbolj uporabljanih šifriranj, ko gre za osnove in ko morate nekaj kodirati v zelo malo časa in na najboljši možni način.

Prvi vir slike: pixabay.com

Priporočeni članki

Tukaj je nekaj člankov, ki vam bodo pomagali do podrobnosti o algoritmih in kriptografiji, zato pojdite po povezavi.

  1. Intervjuja o podatkovnih strukturah in algoritmih | Najbolj uporabno
  2. 8 Vprašanja in odgovori za osupljiv algoritem in intervju
  3. Najboljši jeziki za programiranje izbire za učenje algoritmov
  4. 10 najboljših struktur podatkov in algoritmov C ++ | Osnove