Algoritmit ja salaus - Ensin ensin ymmärrän, mitkä algoritmit ovat ja miten ne liittyvät kryptografiaan, ennen kuin aloitan ja aloin kerskata itseäni ja muuntaa tämän blogin tylsäksi keskusteluksi.

Algoritmit ja salaus

algoritmit

Niille teistä, jotka luulevat algoritmien olevan yhteydessä vain tietotekniikkaan, olet väärässä. Algoritmi on menetelmä tai kaava ongelman ratkaisemiseksi. Ja kun sanon ongelma, se voi olla minkä tahansa tyyppinen ongelma, olipa se sitten matematiikan, tieteen kaavat tai jopa tietokonepohjainen. Annan teille yksinkertaisen

Esimerkki:

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

Tai se voi olla:

Siirtynyt määrä = pääoma (1 + sijoitetun pääoman tuotto * 100 * aika)

Joo! Kaikki, mikä on kaava, voidaan pitää algoritmina. Algoritmi on säännöstö ongelman ratkaisemiseksi, mikä antaa oikein vastauksen, jos se tehdään oikein. Algoritmeihin sisältyy yleensä sarjan vaiheiden toistaminen yhä uudelleen, kuten lainanotto- ja kantoalgoritmeissa sekä pitkissä kerto- ja jakoalgoritmeissa. Algoritmeihin sisältyy monipuolinen summaaminen, vähentäminen, kertoaminen ja jakaminen.

Mutta ennen kuin aloitat ajatella, että pidän täällä jonkinlaista matematiikan luentoa, anna minun kertoa teille, että en ole. Puhun täällä algoritmeista ja salaustekniikasta, joka liittyy tietokonetekniikkaan. Mutta ennen kuin jatkan, anna minun antaa sinulle joitain esimerkkejä aloittamisen yksinkertaisista algoritmeista.

Nämä esimerkit koskevat puhdasta nooa, joka ei ole koskaan tehnyt minkäänlaista algoritmista tavaraa koko elämänsä ajan. Joten jos luulet olevansa riittävän fiksu, voit siirtyä seuraavaan salausosastoon, jossa esittelin jälleen joitain perusteita ennen siirtymistä seuraavalle tasolle.

Joten, tässä on muutama esimerkki lisäalgoritmeista, jotka auttavat sinua aloittamaan nyt ja antavat kuvan siitä, kuinka algoritmit ovat. Aloitetaan matematiikasta:

Vasemmalta oikealle -algoritmit:

Lisää vasemmasta alkaen sarake kerrallaan ja säädä tulos.

Joillekin ihmisille tämä prosessi muuttuu niin automaattiseksi, että he alkavat vasemmalta ja kirjoittavat vastaussarakkeen sarakkeelta säätämällä eteenpäin kirjoittamatta mitään vaiheiden välistä. Jos heitä pyydetään selittämään, he sanovat jotain tällaista:

200 plus 400 on 600, mutta (seuraavaa saraketta tarkasteltaessa) minun täytyy säätää se, joten kirjoita 7. Sitten, 60 ja 80 on 140, mutta se tarvitsee säätämistä, joten kirjoita 5. Nyt 8 ja 3 ovat 11, ei enää tekemistä, kirjoita 1. Tämä tekniikka kehittyy helposti kokemuksista manipulatiivien, kuten base-10-lohkojen ja rahan, sekä vaihto- tai kauppapelien kanssa, ja se on yhdenmukainen lukemista ja kirjoittamista varten opittujen vasemmalta oikealle -mallien kanssa.

Nyt jotkut ihmiset saattavat käydä pähkinöitä luettaessa tätä. Joten joudut ehkä joutumaan Google-tavaraan, jotta saat tarkan kuvan siitä, mitä täällä oikein tapahtuu.

Cryptography

Salaus on taidetta kirjoittaa koodeja muulla kuin ihmiselle luettavalla tavalla. Se on menetelmä tietojen tallentamiseksi ja siirtämiseksi tietyssä muodossa, jotta vain ne, joille se on tarkoitettu, voivat lukea ja käsitellä niitä. Voit sanoa, että kryptografia on läheinen serkku kryptologian ja kryptoanalyysin tieteille.

Salaus sisältää tekniikoita, kuten mikropisteitä, sanojen yhdistämistä kuviin ja muita tapoja piilottaa tiedot varastoinnin tai kuljetuksen aikana. Kuitenkin nykypäivän tietokonekeskeisessä maailmassa kryptografia liittyy useimmiten selkeän tekstin (tavallinen teksti, jota joskus kutsutaan myös tekstimuotoiseksi) sekoittamiseksi salakirjoitustekstiin (prosessi, jota kutsutaan salaukseksi), sitten takaisin (ns. Salauksen purku). Henkilöitä, jotka harjoittavat tätä kenttää, kutsutaan salaustekijöiksi.

Salausta on käytetty tuhansia vuosia. Seuraavat koodit ja salaus voidaan oppia ja käyttää viestien salaamiseen ja salauksen purkamiseen käsin:

A) Monoalfabeettiset salat

Monoalfabeettinen salaus käyttää samaa korvausta koko viestissä. Jos esimerkiksi tiedät, että A-kirjain on salattu K-kirjaimeksi, tämä pätee koko viestiin. Tämäntyyppiset viestit voidaan murtaa käyttämällä taajuusanalyysiä, koulutettuja arvauksia tai kokeilu- ja virhetietoja.

1. Ceaser Cipher

Caesar-salaus on yksi yksinkertaisimmista (ja helpoimmin säröillä) salausmenetelmistä. Se on korvaava salaus, joka sisältää salaisen viestin jokaisen kirjaimen korvaamisen toisella aakkoskirjaimella, joka on kiinteä lukumäärä aakkosten etäisyyksiä edelleen.

Koska jokaisessa viestin kirjaimessa on suora käännös toiseen kirjaimeen, taajuusanalyysiä voidaan käyttää sanoman purkamiseen. Esimerkiksi kirjain E on englannin kielellä yleisimmin käytetty kirjain.

Siten, jos yleisin kirjain salaisessa viestissä on K, on ​​todennäköistä, että K edustaa E. Lisäksi yleiset sanapääte, kuten ING, LY ja ES, antaa myös vihjeitä. Raakavoimainen lähestymistapa kokeilla kaikkia 25 mahdollista yhdistelmää toimisi myös viestin salaamiseksi.

Tässä esimerkissä jokaista selvän tekstin viestin kirjainta on siirretty 3 kirjainta alaspäin aakkossa.

Selkeä teksti : Tämä on salainen viesti

Salattu teksti : wklv lv d vhfuhw phvvdjh

2. Atbash-salaus

Atbash-salaus on hyvin erityinen tapaus korvaavasta salauksesta, jossa aakkosten kirjaimet käännetään. Toisin sanoen kaikki, jotka korvataan Z: llä, kaikki B: t korvataan Y: llä ja niin edelleen.

Koska aakkosten kääntäminen kahdesti saa aikaan todellisen aakkosten, voit salata ja salata viestin täsmälleen samalla algoritmilla.

Esimerkki:

Selkeä teksti : Tämä on salainen viesti

Salattu teksti : Gsrh rh z hvxivg nvhhztv

Avainsanan salaus on identtinen Caesar Cipherin kanssa sillä poikkeuksella, että käytetty korvaava aakkoset voidaan esittää avainsanalla.

Jos haluat luoda korvaavan aakkosen avainsanasta, kirjoita ensin aakkoset. Tämän alle kirjoitat avainsanan (pois päällekkäiset kirjaimet) ja seuraa jäljellä olevat käyttämättömät aakkoset.

ABCDEFGHIJKLMNOPQRSTUVWXYZ

KEYWORDABCFGHIJLMNPQSTUVXZ

Suoran tekstiviestin salaamiseksi muunnat kaikki ylimmän rivin kirjaimet vastaaviksi alarivin kirjaimiksi (A - K, B - E jne.).

Taajuusanalyysin ja eräiden koulutettujen arvailujen avulla voidaan helposti murtaa tämäntyyppiset yksinkertaiset korvaussalat.

4. Pigpen / vapaamuurarien salaus

Pigpen-salaus (jota joskus kutsutaan vapaamuurari- tai vapaamuurari-salaukseksi) on yksinkertainen korvaava salaus, joka vaihtaa kirjaimia ruudukkoon perustuviin symboleihin. Vapaamuurarit ovat kehittäneet ja käyttäneet järjestelmää 1700-luvun alkupuolella kirjanpitoon ja kirjeenvaihtoon. Esimerkki-näppäin osoittaa, miten kirjaimet voidaan osoittaa ruudukkoon.

B) Polyalfabeettiset salaisuudet:

Polyalfabeettisessa salakoodissa korvaus voi muuttua koko viestissä. Toisin sanoen A-kirjain voidaan koodata K-kirjaimeksi viestin osaan, mutta myöhemmin se voidaan koodata kirjaimeksi W.

Suositellut kurssit

  • Koulutus XML: llä
  • CCNA-tenttikurssi
  • Täydellinen UNIX- ja Linux-käyttöjärjestelmän koulutus
  • HTML 5 -harjoituspaketti

1. Vigenere-salaus

Caesar Cipherissä aakkosten jokaista kirjainta on siirretty tiettyä määrää paikkoja; esimerkiksi muutoksen 3 keisarisalauksessa A muuttuu D: ksi, B muuttuu E: ksi ja niin edelleen. Vigenere-salaus koostuu useiden Caesar-salausten käytöstä peräkkäin eri siirtoarvoilla.

Salakoodaukseen voidaan käyttää aakkostaulukkoa, jota kutsutaan tabula recta-, Vigenere-neliö- tai Vigenere-taulukkoksi. Se koostuu aakkosista, jotka on kirjoitettu 26 kertaa eri riveissä, ja jokainen aakkoset siirtyivät syklisesti vasemmalle edelliseen aakkostoon verrattuna, mikä vastaa 26 mahdollista keisarin salausta. Salausprosessin eri kohdissa salaus käyttää erilaista aakkostoa kuin yksi riveistä. Jokaisessa pisteessä käytetty aakkoset riippuvat toistuvasta avainsanasta.

Oletetaan esimerkiksi, että salattava teksti on:

ATTACKATDAWN

Viestin lähettäjä valitsee avainsanan ja toistaa sen, kunnes se vastaa selvän tekstin pituutta, esimerkiksi avainsana ”LEMON”:

LEMONLEMONLE

Jokainen kirjain koodataan etsimällä leikkaus ruudukossa tavallisen tekstin ja avainsanan kirjeen välillä. Esimerkiksi selvän tekstin ensimmäinen kirjain A on salattu käyttämällä rivillä L olevaa aakkosta, joka on näppäimen ensimmäinen kirjain. Tämä tehdään tarkastelemalla Vigenere-neliön rivin L ja sarakkeen A kirjainta, nimittäin L. Vastaavasti selvän tekstin toisessa kirjaimessa käytetään näppäimen toista kirjainta; rivillä E ja sarakkeessa T oleva kirjain on X. Loppuosa tekstimuodosta on salattu samalla tavalla:

Selkeä teksti : ATTACKATDAWN

Avain : LEMONLEMONLE

Salattu teksti : LXFOPVEFRNHR

Löydät salatun tekstin sijainnin taulukkoriviltä ja ota sitten sen sarakkeen etiketti, jossa se esiintyy selvätekstinä, suorittaa salauksen purku. Esimerkiksi rivillä L salattu teksti L ilmestyy sarakkeeseen A, joka otettiin ensimmäiseksi selvätekstinä. X: n etsiminen taulukon riviltä E purkaa toisen kirjaimen; se esiintyy sarakkeessa T, jota pidetään selkeänä tekstinä.

Gronsfeld-salaus on identtinen Vigenere-salaisuuden kanssa sillä poikkeuksella, että käytetään vain 10 riviä, mikä antaa avainsanan olla numero sanan sijasta.

steganography

Steganografia on itse asiassa tiede, joka piilottaa tietoja ihmisiltä, ​​jotka hakevat sinua. Ero tämän ja salauksen välillä on se, että mahdolliset snooperit eivät ehkä pysty kertomaan, että piileviä tietoja on ensinnäkin.

Esimerkiksi kuvatiedostoissa on tyypillisesti paljon käyttämätöntä tilaa. Tätä tilaa voitaisiin käyttää piilotettujen viestien lähettämiseen. Jos tutkit salausta, saatat nähdä termiä steganografia, jota käytetään toisinaan. Se ei kuitenkaan ole totta salaus (vaikka se voi silti olla varsin tehokas), ja mainitsen sen tässä vain täydellisyyden vuoksi.

Joten periaatteessa, jos haluat aloittaa kryptologian harjoittamisen, paras tapa päästä alkuun olisi aloittaa algoritmien ja salakirjoitustehtävien ratkaiseminen yhdessä Steganografian kanssa. Vaikka steganografia saattaa tuntua helpoalta ja se ei ole totta salaus, se on silti yksi eniten käytettyjä salausohjeita, kun kyse on perusteista ja kun sinun täytyy koodata jotain hyvin lyhyessä ajassa ja parhaalla mahdollisella tavalla.

Ensimmäinen kuvan lähde: pixabay.com

Suositellut artikkelit

Tässä on artikkeleita, jotka auttavat sinua saamaan lisätietoja algoritmeista ja salaustekniikasta, joten mene vain linkin läpi.

  1. Tietorakenteet ja algoritmit Haastattelukysymykset | Hyödyllisin
  2. 8 mahtavaa algoritmihaastattelua koskevat kysymykset ja vastaukset
  3. Paras valinta ohjelmointikielet algoritmien oppimiseen
  4. 10 parasta tietorakennetta ja algoritmeja C ++ | Perusasiat