Tarve salata kirjeenvaihto syntyi muinaisessa maailmassa, ja yksinkertaiset korvaussalaukset ilmestyivät. Salatut viestit määrittelivät monien taistelujen kohtalon ja vaikuttivat historian kulkuun. Ajan myötä ihmiset keksivät yhä kehittyneempiä salausmenetelmiä.
Koodi ja salaus ovat muuten eri käsitteitä. Ensimmäinen tarkoittaa viestin jokaisen sanan korvaamista koodisanalla. Toinen on salata jokainen tiedon symboli tietyllä algoritmilla.
Kun matematiikka alkoi koodata tietoa ja kryptografian teoria kehitettiin, tutkijat löysivät monia hyödyllisiä ominaisuuksia tästä soveltavasta tieteestä. Esimerkiksi dekoodausalgoritmit ovat auttaneet purkamaan kuolleita kieliä, kuten muinaista egyptiläistä tai latinaa.
Steganografia
Steganografia on vanhempia kuin koodaus ja salaus. Tämä taide on ollut olemassa jo pitkään. Se tarkoittaa kirjaimellisesti "piilokirjoitusta" tai "salakirjoitusta". Vaikka steganografia ei täysin vastaa koodin tai salauksen määritelmiä, sen tarkoituksena on piilottaa tietoa tuntemattomilta.silmä.
Steganografia on yksinkertaisin salaus. Tyypillisiä esimerkkejä ovat niellyt vahalla peitetyt muistiinpanot tai viesti ajeltuun päähän, joka piiloutuu kasvaneiden karvojen alle. Selkein esimerkki steganografiasta on monissa englanninkielisissä (eikä vain) etsiväkirjoissa kuvattu menetelmä, jossa viestejä välitetään sanomalehden kautta, jossa kirjaimet on merkitty huomaamattomasti.
Steganografian suurin haittapuoli on, että tarkkaavainen muukalainen voi huomata sen. Siksi salaus- ja koodausmenetelmiä käytetään steganografian yhteydessä, jotta salainen viesti ei olisi helppolukuinen.
ROT1 ja Caesar-salaus
Tämän salauksen nimi on ROTate 1 kirjain eteenpäin, ja se on monien koululaisten tiedossa. Se on yksinkertainen korvaussalaus. Sen olemus piilee siinä, että jokainen kirjain on salattu siirtämällä aakkosjärjestyksessä 1 kirjain eteenpäin. A -> B, B -> C, …, Z -> A. Esimerkiksi salaamme lauseen "Nastya itkee äänekkäästi" ja saamme "yleinen Obtua dspnlp rmbsheu".
ROT1-salaus voidaan yleistää mieliv altaiseen määrään siirtymiä, jolloin sitä kutsutaan ROTN:ksi, missä N on numero, jolla kirjainten salausta tulee siirtää. Tässä muodossa salaus on tunnettu muinaisista ajoista lähtien ja sitä kutsutaan "Caesar-salaukseksi".
Caesar-salaus on hyvin yksinkertainen ja nopea, mutta se on yksinkertainen yhden permutaatiosalaus ja siksi se on helppo murtaa. Tällaisen haitan vuoksi se sopii vain lapsellisiin kepposiin.
Transpositio- tai permutaatiosalaukset
Tällaiset yksinkertaiset permutaatiosalaukset ovat vakavampia ja niitä käytettiin aktiivisesti ei niin kauan sitten. Yhdysv altain sisällissodan ja ensimmäisen maailmansodan aikana sitä käytettiin viestien lähettämiseen. Hänen algoritminsa koostuu kirjainten järjestämisestä uudelleen paikkoihin - kirjoita viesti käänteisessä järjestyksessä tai järjestä kirjaimet uudelleen pareittain. Salataan esimerkiksi lause "Morse-koodi on myös salaus" -> "akubza ezrom - hedgehog rfish".
Hyvällä algoritmilla, joka määritti mieliv altaiset permutaatiot jokaiselle merkille tai niiden ryhmälle, salauksesta tuli vastustuskykyinen yksinkertaista murtumista vastaan. Mutta! Vain ajallaan. Koska salaus murtuu helposti yksinkertaisella raakavoimalla tai sanakirjasovituksella, nykyään mikä tahansa älypuhelin pystyy purkamaan sen salauksen. Siksi tietokoneiden myötä tämä salaus siirtyi myös lasten luokkaan.
Morsekoodi
ABC on tiedonvaihdon väline ja sen päätehtävänä on tehdä viestistä helpompaa ja ymmärrettävämpää lähetystä. Vaikka tämä on vastoin salauksen tarkoitusta. Siitä huolimatta se toimii kuin yksinkertaisimmat salaukset. Morsejärjestelmässä jokaisella kirjaimella, numerolla ja välimerkillä on oma koodi, joka koostuu joukosta viivoja ja pisteitä. Kun lähetät viestin lennättimellä, viivat ja pisteet edustavat pitkiä ja lyhyitä signaaleja.
Lähketin ja morsekoodi… Morse patentoi ensimmäisen kerran "keksintönsä" vuonna 1840, vaikka samanlaisia laitteita oli keksitty Venäjällä ja Englannissa ennen häntä. Mutta ketä nyt kiinnostaa… Lennätin ja aakkosetMorsekoodilla oli erittäin suuri vaikutus maailmaan, sillä se mahdollisti viestien lähettämisen lähes välittömästi mantereen etäisyyksille.
Yksiaakkosellinen korvaaminen
Yllä kuvatut ROTN- ja Morse-koodit ovat esimerkkejä yksiaakkosisista korvausfonteista. Etuliite "mono" tarkoittaa, että salauksen aikana jokainen alkuperäisen viestin kirjain korvataan toisella kirjaimella tai koodilla ainoasta salausaakkosesta.
Yksinkertaisten korvaussalausten purkaminen ei ole vaikeaa, ja tämä on niiden suurin haittapuoli. Ne ratkaistaan yksinkertaisella luettelolla tai taajuusanalyysillä. Esimerkiksi tiedetään, että venäjän kielen eniten käytetyt kirjaimet ovat "o", "a", "i". Voidaan siis olettaa, että salatekstissä esiintyvät kirjaimet tarkoittavat useimmiten joko "o" tai "a" tai "ja". Näiden näkökohtien perusteella viestin salaus voidaan purkaa jopa ilman tietokonehakua.
Tiedetään, että Maria I, Skotlannin kuningatar vuosina 1561–1567, käytti erittäin monimutkaista yksiaakkosista korvaussalausta useilla yhdistelmillä. Silti hänen vihollisensa pystyivät tulkitsemaan viestit, ja tiedot riittivät kuningattaren tuomitsemiseen kuolemaan.
Gronsfeldin salaus tai monikirjaiminen korvaus
Yksinkertaiset salaukset julistetaan hyödyttömiksi kryptografialla. Siksi monia niistä on parannettu. Gronsfeldin salaus on muunnos Caesar-salauksesta. Tämä menetelmä on paljon vastustuskykyisempi hakkerointia vastaan ja perustuu siihen tosiasiaan, että jokainen koodatun tiedon merkki on salattu jollakin eri aakkosista, jotka toistetaan syklisesti. Voidaan sanoa, että tämä on moniulotteinen sovellusyksinkertaisin korvaussalaus. Itse asiassa Gronsfeldin salaus on hyvin samanlainen kuin alla käsitelty Vigenèren salaus.
ADFGX-salausalgoritmi
Tämä on tunnetuin saksalaisten käyttämä ensimmäisen maailmansodan salaus. Salaus sai nimensä, koska salausalgoritmi johti kaikki salakirjoitukset näiden kirjainten vuorotteluun. Itse kirjainten valinnan määräsi niiden mukavuus, kun niitä lähetettiin lennätinlinjoja pitkin. Jokaista salauksen kirjainta edustaa kaksi. Katsotaanpa mielenkiintoisempaa versiota ADFGX-neliöstä, joka sisältää numeroita ja jota kutsutaan nimellä ADFGVX.
A | D | F | G | V | X | |
A | J | Q | A | 5 | H | D |
D | 2 | E | R | V | 9 | Z |
F | 8 | Y | I | N | K | V |
G | U | P | B | F | 6 | O |
V | 4 | G | X | S | 3 | T |
X | W | L | Q | 7 | C | 0 |
ADFGX:n neliöintialgoritmi on seuraava:
- Valitse satunnaiset n kirjaimet sarakkeille ja riveille.
- N x N matriisin rakentaminen.
- Syötä aakkoset, numerot ja merkit satunnaisesti hajallaan solujen yli matriisiin.
Tehdään samanlainen neliö venäjän kielelle. Luodaan esimerkiksi neliö ABCD:
A | B | B | G | D | |
A | E/E | N | b/b | A | I/Y |
B | W | V/F | G/R | З | D |
B | Sh/Sh | B | L | X | I |
G | R | M | O | Yu | P |
D | F | T | T | S | U |
Tämä matriisi näyttää oudolta, koska solurivi sisältää kaksi kirjainta. Tämä on hyväksyttävää, viestin merkitys ei katoa. Se voidaan helposti palauttaa. Salaa ilmaus "tiivis salaus" käyttämällä tätä taulukkoa:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | |
Lause | K | O | M | P | A | K | T | N | S | Y | Ш | & | F | R |
Salaus | bw | gv | gb | missä | ag | bw | db | ab | dg | helvetti | wa | helvetti | bb | ha |
Näin lopullinen salattu viesti näyttää tältä: "bvgvgbgdagbvdbabdgvdvaadbbga". Tietenkin saksalaiset suorittivat samanlaisen linjan useiden muiden salausten kautta. Ja lopulta se osoittautui erittäin vakaaksisalatun viestin murtamiseen.
Vigenère-salaus
Tämä salaus on suuruusluokkaa kestävämpi murtumista vastaan kuin yksiaakkosiset, vaikka se onkin yksinkertainen tekstinkorvaussalaus. Vankan algoritmin vuoksi hakkerointia pidettiin kuitenkin pitkään mahdottomana. Ensimmäinen maininta siitä on peräisin 1500-luvulta. Vigenère (ranskalainen diplomaatti) on virheellisesti tunnustettu sen keksijäksi. Ymmärtääksesi paremmin, mistä on kyse, harkitse venäjän kielen Vigenère-taulukkoa (Vigenère-neliö, tabula recta).
Aloitetaan koodata lause "Kasperovich nauraa". Mutta salauksen onnistumiseksi tarvitaan avainsana - olkoon se "salasana". Aloitetaan nyt salaus. Tätä varten kirjoitamme avaimen niin monta kertaa, että sen kirjainten lukumäärä vastaa salatun lauseen kirjainten määrää toistamalla avainta tai leikkaamalla:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | |
Lause: | K | A | С | P | E | R | O | B | & | W | С | M | E | E | T | С | I |
Avain | P | A | R | O | L | b | P | A | R | O | L | b | P | A | R | O | L |
Nyt Vigenère-taulukon avulla, kuten koordinaattitasossa, etsimme solua, joka on kirjainparien leikkauspiste, ja saamme: K + P=b, A + A=B, C + P=C jne.
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | |
Cipher: | b | B | B | Yu | С | N | Yu | G | Sch | F | E | Y | X | F | G | A | L |
Ymmärrämme, että "Kasperovich nauraa"="bvusnyugschzh eykhzhgal".
Vigenère-salauksen murtaminen on niin vaikeaa, koska taajuusanalyysin on tiedettävä avainsanan pituus toimiakseen. Joten hakkerointi on heittää satunnaisesti avainsanan pituus ja yrittää murtaa salainen viesti.
On myös mainittava, että täysin satunnaisen avaimen lisäksi voidaan käyttää täysin erilaista Vigenère-taulukkoa. Tässä tapauksessa Vigenèren neliö koostuu rivi riviltä kirjoitetusta venäjän aakkosesta, jossa on yhden siirto. Tämä viittaa ROT1-salaukseen. Ja aivan kuten Caesar-salauksessa, offset voi olla mikä tahansa. Lisäksi kirjainten järjestyksen ei tarvitse olla aakkosjärjestyksessä. Tässä tapauksessa itse taulukko voi olla avain, tietämättä mistä on mahdotonta lukea viestiä, vaikka avain tietäisikin.
Koodit
Oikeat koodit koostuvat osumista jokaiselleerillisen koodin sanat. Niiden kanssa työskentelyyn tarvitaan niin sanottuja koodikirjoja. Itse asiassa tämä on sama sanakirja, joka sisältää vain sanojen käännöksiä koodeiksi. Tyypillinen ja yksinkertaistettu esimerkki koodeista on ASCII-taulukko - yksinkertaisten merkkien kansainvälinen salaus.
Koodien tärkein etu on, että niitä on erittäin vaikea tulkita. Taajuusanalyysi ei läheskään toimi, kun ne on hakkeroitu. Koodien heikkous on itse asiassa itse kirjat. Ensinnäkin niiden valmistus on monimutkainen ja kallis prosessi. Toiseksi, vihollisille ne muuttuvat halutuksi esineeksi ja jopa osan kirjan sieppaus pakottaa sinut muuttamaan kaikki koodit kokonaan.
1900-luvulla monet osav altiot käyttivät koodeja salaisten tietojen siirtämiseen ja muuttivat koodikirjaa tietyn ajan kuluttua. Ja he myös metsästivät aktiivisesti naapureiden ja vastustajien kirjoja.
Enigma
Kaikki tietävät, että Enigma oli natsien tärkein salauskone toisen maailmansodan aikana. Enigman rakenne sisältää yhdistelmän sähköisiä ja mekaanisia piirejä. Se, miten salaus tulee, riippuu Enigman alkuperäisestä konfiguraatiosta. Samaan aikaan Enigma muuttaa automaattisesti asetuksiaan käytön aikana ja salaa yhden viestin useilla tavoilla koko sen pituudelta.
Toisin kuin yksinkertaisimmat salaukset, "Enigma" antoi biljoonia mahdollisia yhdistelmiä, mikä teki salatun tiedon murtamisesta lähes mahdotonta. Natseilla puolestaan oli joka päivä valmisteltu tietty yhdistelmä, jonka hekäytetään tiettynä päivänä viestien lähettämiseen. Siksi, vaikka Enigma joutuisi vihollisen käsiin, se ei tehnyt mitään viestien salauksen purkamiseksi syöttämättä oikeaan kokoonpanoon joka päivä.
Hack "Enigma" tutkittiin aktiivisesti Hitlerin koko sotilaskampanjan ajan. Englannissa vuonna 1936 tätä varten rakennettiin yksi ensimmäisistä laskentalaitteista (Turing-kone), josta tuli tulevaisuudessa tietokoneiden prototyyppi. Hänen tehtävänsä oli simuloida useiden kymmenien Enigmien toimintaa samanaikaisesti ja ajaa niiden kautta siepattuja natsiviestejä. Mutta jopa Turingin kone pystyi murtamaan viestin vain satunnaisesti.
Julkisen avaimen salaus
Suosituin salausalgoritmeista, jota käytetään kaikkialla tekniikassa ja tietokonejärjestelmissä. Sen olemus on pääsääntöisesti kahden avaimen läsnäolo, joista toinen lähetetään julkisesti ja toinen on salainen (yksityinen). Julkista avainta käytetään viestin salaamiseen ja yksityistä avainta sen salauksen purkamiseen.
Julkinen avain on useimmiten erittäin suuri luku, jolla on vain kaksi jakajaa, lukuun ottamatta yhtä ja itse numeroa. Yhdessä nämä kaksi jakajaa muodostavat salaisen avaimen.
Otetaan huomioon yksinkertainen esimerkki. Olkoon julkinen avain 905. Sen jakajia ovat luvut 1, 5, 181 ja 905. Tällöin salainen avaime on esimerkiksi luku 5181. Sanotko liian helppoa? Entä jos roolissaonko julkinen numero 60 numeroa sisältävä numero? Matemaattisesti vaikea laskea suuren luvun jakajia.
Elävämpi esimerkki kuvittele, että nostat rahaa pankkiautomaatista. Korttia luettaessa henkilötiedot salataan tietyllä julkisella avaimella ja pankin puolella tiedot puretaan salaisella avaimella. Ja tämä julkinen avain voidaan vaihtaa jokaiselle toiminnalle. Eikä ole mitään tapoja löytää nopeasti keskeisiä jakajia, kun se siepataan.
Fontin kestävyys
Salausalgoritmin kryptografinen vahvuus on kyky vastustaa hakkerointia. Tämä parametri on tärkein minkä tahansa salauksen kann alta. On selvää, että yksinkertainen korvaussalaus, jonka salaus voidaan purkaa millä tahansa elektronisella laitteella, on yksi epävakaimmista.
Tällä hetkellä ei ole olemassa yhtenäisiä standardeja, joiden mukaan salauksen vahvuutta olisi mahdollista arvioida. Tämä on työläs ja pitkä prosessi. On kuitenkin olemassa useita komissioita, jotka ovat tuottaneet standardeja tällä alalla. Esimerkiksi NIST USA:n kehittämän Advanced Encryption Standardin tai AES-salausalgoritmin vähimmäisvaatimukset.
Viite: Vernam-salaus on tunnustettu kestävimmäksi murtumista vastaan. Samalla sen etuna on, että se on algoritminsa mukaan yksinkertaisin salaus.