Symmetriset salausjärjestelmät

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 12. maaliskuuta 2017 tarkistetusta versiosta . tarkastukset vaativat 24 muokkausta .

Symmetric cryptosystems (myös symmetrinen salaus , symmetriset salaukset ) ( englanniksi  symmetric-key algoritmi ) on salausmenetelmä, jossa salaukseen ja salauksen purkamiseen käytetään samaa kryptografista avainta . Ennen epäsymmetrisen salausjärjestelmän keksimistäAinoa olemassa oleva tapa oli symmetrinen salaus. Algoritmin avain on pidettävä molempien osapuolten salassa, toimenpiteisiin on ryhdyttävä suojatakseen pääsyä kanavaan koko kryptogrammin polulla tai vuorovaikutuksen osapuolilta kryptoobjektien, viestien kautta, jos tämä vuorovaikutuskanava on merkitty "Ei". kolmansien osapuolten käyttöön”. Osapuolet valitsevat salausalgoritmin ennen viestien vaihtoa.

Perustiedot

Tietojen salausalgoritmeja käytetään laajalti tietotekniikassa järjestelmissä, joilla piilotetaan luottamuksellisia ja kaupallisia tietoja kolmansien osapuolten haittakäytöltä. Pääperiaate niissä on ehto, että lähetin ja vastaanottaja tietävät etukäteen salausalgoritmin sekä viestin avaimen, jota ilman tieto on vain joukko merkkejä, joissa ei ole järkeä.

Klassisia esimerkkejä tällaisista algoritmeista ovat alla luetellut symmetriset salausalgoritmit :

Yksinkertainen permutaatio

Yksinkertainen permutaatio ilman avainta on yksi yksinkertaisimmista salausmenetelmistä. Viesti kirjoitetaan taulukkoon sarakkeittain. Kun selväteksti on kirjoitettu sarakkeisiin, se luetaan rivi riviltä salatekstin muodostamiseksi. Tämän salauksen käyttämiseksi lähettäjän ja vastaanottajan on sovittava yhteisestä avaimesta taulukon koon muodossa. Kirjainten yhdistäminen ryhmiin ei sisälly salausavaimeen, ja sitä käytetään vain merkityksettömän tekstin kirjoittamisen helpottamiseksi.

Yksittäinen permutaatio avaimella

Käytännöllisempi salausmenetelmä, jota kutsutaan yhden avaimen permutaatioksi, on hyvin samanlainen kuin edellinen. Se eroaa vain siinä, että taulukon sarakkeet on järjestetty uudelleen avainsanalla, lauseella tai taulukon rivin pituisella numerojoukolla.

Kaksoispermutaatio

Salaisuuden lisäämiseksi voit salata jo salatun viestin uudelleen. Tämä menetelmä tunnetaan kaksoispermutaationa. Tätä varten toisen taulukon koko valitaan siten, että sen rivien ja sarakkeiden pituudet poikkeavat ensimmäisen taulukon pituuksista. On parasta, jos ne ovat coprimea. Lisäksi sarakkeet voidaan järjestää uudelleen ensimmäisessä taulukossa ja rivit toisessa. Lopuksi voit täyttää pöydän siksakilla, käärmeellä, spiraalilla tai jollain muulla tavalla. Tällaiset taulukon täyttömenetelmät, jos ne eivät lisää salauksen vahvuutta, tekevät salauksen purkuprosessista paljon viihdyttävämmän.

Permutaatio "Magic Square"

Maagisia neliöitä kutsutaan neliötaulukoiksi, joiden soluihin on kirjoitettu peräkkäiset luonnolliset luvut 1:stä, jotka laskevat yhteen jokaiseen sarakkeeseen, jokaiseen riviin ja jokaiseen diagonaaliin sama luku. Tällaisia ​​neliöitä käytettiin laajasti salatun tekstin syöttämiseen niissä annetun numeroinnin mukaisesti. Jos kirjoitat sitten taulukon sisällön rivi riviltä, ​​saat salauksen järjestämällä kirjaimet uudelleen. Ensi silmäyksellä näyttää siltä, ​​​​että maagisia neliöitä on hyvin vähän. Niiden määrä kuitenkin kasvaa erittäin nopeasti neliön koon kasvaessa. Siten on vain yksi 3 x 3 maaginen neliö, jos et ota huomioon sen kiertoja. 4 x 4 maagisia neliöitä on jo 880 ja 5 x 5 maagisia neliöitä on noin 250 000. Siksi suuret maagiset neliöt voisivat olla hyvä perusta tuon ajan luotettavalle salausjärjestelmälle, koska kaikki avainvaihtoehdot luetellaan manuaalisesti tämä salaus oli käsittämätön.

Numerot 1 - 16 kirjoitettiin 4 x 4 -neliöön. Sen taikuutta oli, että rivien, sarakkeiden ja täydellisten lävistinten lukujen summa oli sama luku - 34. Nämä neliöt ilmestyivät ensimmäisen kerran Kiinassa, jossa niille annettiin joitakin "taikavoima".

16 3 2 13
5 kymmenen yksitoista kahdeksan
9 6 7 12
neljä viisitoista neljätoista yksi

Magic square -salaus suoritettiin seuraavasti. Haluat esimerkiksi salata lauseen: "Tulen tänään." Tämän lauseen kirjaimet kirjoitetaan peräkkäin neliöön niihin kirjoitettujen numeroiden mukaan: kirjaimen sijainti lauseessa vastaa järjestysnumeroa. Tyhjiin soluihin sijoitetaan piste.

16. 3 ja 2 r 13 d
5 h 10 11 g 8
9 C 6 v 7 a 12 noin
4 e 15 14 n 1 P

Tämän jälkeen salateksti kirjoitetaan merkkijonoon (luku tapahtuu vasemmalta oikealle, rivi riviltä):
.irdzegyuSzhaoyanP

Kun salaus puretaan, teksti sopii neliöön ja selväteksti luetaan "maagisen neliön" numerosarjana. Ohjelman tulee luoda "maagisia neliöitä" ja valita haluamasi yksi avaimella. Neliö on suurempi kuin 3x3.

Historia

Vaatimukset

Kaikkien alkuperäisen viestin tilastollisten säännönmukaisuuksien täydellinen menettäminen on tärkeä vaatimus symmetriselle salaukselle. Tätä varten salauksella on oltava " vyöryvaikutus " - salauslohkossa on oltava voimakas muutos 1-bitin muutoksella syöttötiedoissa (ihannetapauksessa arvot 1/2 bittiä salauslohkon pitäisi muuttua).

Tärkeä vaatimus on myös lineaarisuuden puuttuminen (eli ehdot f(a) xor f(b) == f(a xor b)), muuten differentiaalisen krypta-analyysin soveltaminen salaukseen helpottuu.

Yleinen kaavio

Tällä hetkellä symmetriset salaukset ovat:

Useimmat symmetriset salaukset käyttävät monimutkaista yhdistelmää suuresta määrästä substituutioita ja permutaatioita. Monet tällaiset salaukset suoritetaan useissa (joskus jopa 80) läpimenoissa käyttämällä "pass-avainta" jokaisessa siirrossa. Kaikkien passien "passiavaimet" kutsutaan "avainaikatauluksi". Yleensä se luodaan avaimesta suorittamalla sille tiettyjä toimintoja, mukaan lukien permutaatiot ja korvaukset.

Tyypillinen tapa rakentaa symmetrisiä salausalgoritmeja on Feistelin verkko . Algoritmi rakentaa funktioon F(D, K) perustuvan salausmallin, jossa D on puolet salauslohkon koosta pienempi datapala ja K on tämän passin "pääsyavain". Funktiota ei vaadita käänteiseksi - sen käänteistä funktiota ei ehkä tunneta. Feistel-verkon edut ovat salauksen purkamisen ja salauksen lähes täydellinen yhteensopivuus (ainoa ero on "pass-avainten" käänteinen järjestys aikataulussa), mikä yksinkertaistaa huomattavasti laitteiston toteutusta.

Permutaatiotoiminto sekoittaa viestin bitit tietyn lain mukaan. Laitteistototeutuksissa se on triviaalisti toteutettu johtimien sotkeutumisena. Juuri permutaatiooperaatiot mahdollistavat "lumivyöryefektin" saavuttamisen. Permutaatiooperaatio on lineaarinen - f(a) xor f(b) == f(a xor b)

Korvausoperaatiot suoritetaan sanoman tietyn osan (usein 4, 6 tai 8 bitin) arvon korvaamisena standardilla, kovakoodatulla algoritmiin muulla numerolla viittaamalla vakiotaulukkoon. Korvausoperaatio tuo algoritmiin epälineaarisuuden.

Usein algoritmin vahvuus, erityisesti differentiaalista kryptausanalyysiä vastaan, riippuu arvojen valinnasta korvaustaulukoissa (S-laatikot). Vähintään kiinteitä elementtejä S(x) = x ei pidetä toivottavana, samoin kuin tulotavun jonkin bitin vaikutuksen puuttumista johonkin tuloksen bittiin - eli tapauksia, joissa tulosbitti on sama kaikille syöttösanapareille, jotka eroavat vain tässä bitissä.

Algoritmin parametrit

On olemassa monia (vähintään kaksi tusinaa) symmetrisiä salausalgoritmeja , joiden keskeiset parametrit ovat:

Symmetristen salausten tyypit

lohkosalaukset virtasalaukset

Vertailu epäsymmetrisiin salausjärjestelmiin

Edut

Haitat

Symmetrisen salauksen puutteiden kompensoimiseksi on tällä hetkellä laajalti käytössä yhdistetty (hybridi) kryptografinen menetelmä , jossa istuntoavain lähetetään epäsymmetrisellä salauksella, jota osapuolet käyttävät tietojen vaihtamiseen symmetrisellä salauksella.

Symmetristen salausten tärkeä haittapuoli on se , että niitä ei voida käyttää sähköisten digitaalisten allekirjoitusten ja sertifikaattien luontimekanismeissa, koska avain on jokaisen osapuolen tiedossa.

Kirjallisuus

Linkit