Johdanto symmetrisiin algoritmeihin
Symmetrisiä algoritmeja, joita kutsutaan myös salaisiksi avainalgoritmeiksi, käytetään laajasti massadatan tai tietovirran salauksessa. Tämä on eräänlainen salausalgoritmi, joka salaa ja purkaa tiedot käyttämällä samaa avainta (mikä tekee tästä algoritmista symmetrisen). Sitä kutsutaan salaisiksi avaimiksi, koska käytetty avain on salassa järjestelmissä, jotka osallistuvat salaus- ja salauksenpurkuprosessiin. Tämän algoritmin suorittamaa salausta ei ole helppo hajottaa, jos salauksen purkamiseen yrittäjällä ei ole salaa avainta, heidän olisi käytettävä edistyneitä tekniikoita sen purkamiseen. Nämä algoritmit ovat yleensä luonteeltaan erittäin nopeita, mikä on sitäkin tärkeämpää, että niitä käytetään, kun tarvitaan salausta suurilla tietomäärillä. Kuvio 1.a kuvaa symmetrisen avaimen salausta:
Kuva1.a Symmetrisen avaimen salaus
Symmetristen algoritmien tyypit
Laajasti symmetriset algoritmit luokitellaan kahteen osaan
- Lohko
- virta
Estä algoritmit
Lohkoalgoritmit salaavat datalohkon lohkolla (monta tavua). Lohko viittaa määriteltyyn bittien joukkoon ja näitä bittejä muutetaan / salattiin salaista avainta käyttämällä. Lohkoalgoritmeilla on haittapuoli, jos oletetaan, että aiomme salata verkkovirran tiedot, salausjärjestelmä pitää nämä tiedot muistikomponentteissaan. Tämä tietojen säilyttäminen tapahtuu, kun järjestelmä todella odottaa täydellisiä datalohkoja. Tämä odotusaika voi johtaa tietoturvaaukkoon, joka voi vaarantaa tietojen turvallisuuden ja eheyden. Tämän uhan välttämiseksi voimme vähentää lohkoa ja yhdistää tiedot aiemmin salattuun datalohkoon, kunnes uusia lohkoja vastaanotetaan, yksinkertaisesti sanottuna tätä tekniikkaa kutsutaan palautteeksi. Tämä algoritmi salaa vain, jos koko lohko vastaanotetaan.
Virran algoritmit
In-Stream-algoritmeissa tiedot salataan tavu tavulta ja joskus jopa kerrallaan. Suoraalgoritmin tapauksessa järjestelmä ei pidä dataa muistissa, joten voidaan sanoa, että tämä on paljon turvallisempaa verrattuna lohkoalgoritmiin, koska tietoja ei säilytetä järjestelmässä ilman salausta.
Lisäksi ne ovat monentyyppisiä salausalgoritmeja niistä harvoista, jotka on lueteltu alla
- DES & kolminkertainen DES
- RC2
- blowfish
DES & kolminkertainen DES
DES tarkoittaa datan salausstandardia, joka ottaa 64-bittisen selkeän tekstin ja salaa 64-bittiseen salatekstiin ja salauksen purkaa 56-bittisen avaimen avulla. DES: ssä salausprosessi alkaa alkuperäisellä permutaatiovaiheella, jossa se ottaa syötteen 64-bittisenä datana ja permutoi ne ennalta määritellyllä tavalla. Ensimmäisen permutaation jälkeen 16 Feistel-salauskierrosta (Feistel-salaus ottaa syötteen ja jakaa sen kahteen osaan ja salaa vain yhdessä osassa), jossa jokainen kierros käyttää erilaista 48-bittistä salausavainta. Salaus- ja salauksenpurkua varten se käyttää salausta ja kääntää salausalgoritmin. Lopuksi tiedot kulkevat viimeisen permutaatiovaiheen läpi salatun tekstin palauttamiseksi. Samanlainen kuin DES, kolminkertainen DES on vain DES-salaus toistettu 3 kertaa. Kuvio 2.a näyttää DES-algoritmin yleisen arkkitehtuurin.
DES-algoritmin yleinen arkkitehtuuri
RC2
Tämä on lohkosalausalgoritmi, jossa tiedot jaetaan aluksi lohkokooksi 8 tavua ja nämä lohkot käsitellään erikseen. Tätä algoritmia käytettiin laajasti 90-luvulla. Rc2-salaus käyttää salaa käyttäjän avainta, jonka koko voi vaihdella yhdestä tavusta 128 tavuun. Se ottaa tämän salaisen käyttäjän avaimen ja käyttää avaimen laajennusalgoritmia ja salaa tiedot. Tämä algoritmi on suunniteltu siten, että se voidaan helposti toteuttaa 16-bittisissä mikroprosessoreissa. Täällä ei ole Feistel-kierroksia, vaan tiedot käyvät läpi 18 kierrosta sekoittamista ja masastamista. Kuvio 2.b näyttää RC2-algoritmin yleisen arkkitehtuurin.
RC2-algoritmin yleinen arkkitehtuuri
blowfish
Tämä on epäsymmetrinen algoritmi, joka korvaa DES: n. Tässä käytetty lohkokoko on 64 bittiä ja avainkoko välillä 32-448 bittiä. Salaus blowfish-menetelmällä koostuu pääasiassa kahdesta vaiheesta
- Pyöreä toiminto
- Lähtötoiminto
Pyöreä toiminto suorittaa seuraavat vaiheet
- Avaimen valkaisu, jossa syötetietojen vasen osa otetaan ja sille suoritetaan yksinomainen TAI-toiminto.
- Toisessa vaiheessa se käyttää S-laatikoita, nämä S-laatikot kuvaavat 8-bittisen datan 32-bittiseksi ja lähtö viedään yhdistämään lisäys- ja XOR-toimintojen yhdistelmään.
- Edellä olevista kahdesta vaiheesta, joihin viitataan yhdessä, kutsutaan F-funktioksi. FOR-toiminnon lähdöllä ja tulotiedon oikealla puolella suoritetaan XOR-toiminta.
- Viimeisessä vaiheessa tuotos vaihdetaan.
Lähtötoiminto paljastaa lopullisen vaihdon ja suorittaa lähdön valkaisun. Tämän funktion lähtö on blowfish-salausteksti. Salauksen purkamiseen sisältyy saman rakenteen kuin salauksen käyttö, koska se käyttää Feistel-salausta, mutta pyöreitä avaimia on käytettävä päinvastaisessa järjestyksessä. Tämän algoritmin tärkein etu on, että se on saatavana julkisesti, jotta se on helposti saavutettavissa. Haittoja ovat lähtökohtaisesti avainten luonnissa vähän aikaa vieviä ja jos lohkon koko on pieni, se on alttiina hyökkäyksille.
Symmetristen algoritmien sovellukset
Jotkut paikat, joissa käytetään symmetristä salausalgoritmia, ovat
- Korttitapahtumia käytetään estämään henkilöllisyysvarkauksia ja vilpillisiä tapahtumia.
- Viestin lähettäjän henkilöllisyyden vahvistaminen.
- Hajautus ja satunnaislukujen generointi
- Tietokannan salaus
Johtopäätös - Symmetriset algoritmit
Symmetriset algoritmit ovat paljon nopeampia ja tehokkaampia verrattuna epäsymmetrisiin algoritmeihin. Tämä on sitäkin tärkeämpää, että niitä käytetään joukkosalauksessa. Mutta sen haittana on, että avainten hallinta on erittäin tyhjentävää, joten laajamittainen ylläpito on työläs tehtävä, jossa meillä on oltava korkealaatuinen turvallisuus. Tämän saavuttamiseksi meidän on pitänyt ylläpitää erillisellä järjestelmällä luodun avaimen elinkaari. . Siksi meidän on aina käytettävä asianmukaista salausta välttääksemme hyökkäyksiä tietoihimme.
Suositellut artikkelit
Tämä on opas symmetrisiin algoritmeihin. Tässä keskustellaan johdannosta ja symmetristen algoritmien tyypeistä yhdessä DES: n ja Triple DES: n kanssa. Voit myös käydä läpi muiden ehdotettujen artikkeleidemme saadaksesi lisätietoja -
- Mikä on WebSocket?
- Verkkosovellusten suojaus
- Ura verkkokehityksessä
- Ura verkkosuunnittelussa
- Estä salausmenetelmät
- Esimerkkejä C ++ -algoritmista