Sissejuhatus sümmeetrilistesse algoritmidesse

Sümmeetrilisi algoritme, mida nimetatakse ka salajase võtme algoritmideks, kasutatakse laialdaselt hulgiandmete või andmevoo krüptimisel. See on teatud tüüpi krüptograafiline algoritm, mis krüpteerib ja dekrüpteerib andmed sama võtme abil (mis muudab selle algoritmi sümmeetriliseks). Seda nimetatakse salajaseks võtmeks, kuna kasutatavat võtit hoiab salajas krüptimis- ja dekrüptimisprotsessis osalevad süsteemid. Selle algoritmi abil tehtud krüptimist ei ole lihtne lahti saada, kui isikul, kes proovib dekrüpteerida, puudub salajane võti, peaksid nad selle purustamiseks kasutama täiustatud tehnikaid. Need algoritmid on oma olemuselt väga kiired, mis on veelgi olulisem põhjus, miks neid kasutatakse suurte andmemahtude krüptimiseks. Joonis1.a kujutab põhilist sümmeetrilise võtme krüptimist:

Joonis1.a sümmeetrilise võtme krüptimine

Sümmeetriliste algoritmide tüübid

Üldiselt sümmeetrilised algoritmid jagunevad kaheks

  • Blokeeri
  • Voog

Blokeeri algoritmid

Plokialgoritmid krüpteerivad andmeploki plokkide kaupa (palju baite). Plokk viitab kindlaksmääratud bittide kogumile ja neid bitti muudetakse / krüptitakse salajase võtme abil. Plokki algoritmidel on puudus, mis eeldab, et me krüpteerime võrguvoo andmeid, krüpteerimissüsteem hoiab neid andmeid oma mälukomponentides. Andmete säilitamine toimub siis, kui süsteem tegelikult ootab täielikke andmeplokke. See ooteaeg võib põhjustada turvaauke, mis võib kahjustada andmete turvalisust ja terviklikkust. Selle ohu vältimiseks saame plokki vähendada ja liita andmed varem krüptitud andmeplokiga, kuni edasisi plokke laekub, lihtsustatult öeldes nimetatakse seda tehnikat tagasisideks. See algoritm krüpteerib ainult siis, kui kogu plokk on vastu võetud.

Voo algoritmid

Voosisesed algoritmid krüpteeritakse andmeid baitides baiti ja mõnikord isegi bitti. Vooalgoritmi korral ei säilita süsteem mällu andmeid, seega võib öelda, et see on plokialgoritmiga võrreldes palju turvalisem, kuna andmeid ei säilitata süsteemis ilma krüpteerimiseta.

Lisaks on neid allpool loetletud vähestest krüpteerimisalgoritme mitut tüüpi

  • DES ja kolmekordne DES
  • RC2
  • Blowfish

DES ja kolmekordne DES

DES tähistab andmete krüptimisstandardit, mis võtab 64-bitise lihtteksti ja krüpteerib 64-bitise krüptteksti ning dekrüpteerib 56-bitise võtme abil tagasi. DES-is algab krüpteerimisprotsess algse permutatsiooni etapiga, kus ta võtab sisendi 64-bitiste andmetena ja permuteerib neid eelnevalt määratletud viisil. Järgneb esialgne permutatsioon, et 16 Feisteli šifri ringi (Feisteli šifr võtab sisendi ja jagab selle kaheks osaks ning krüpteerib ainult ühe osa), kus iga voor kasutab erinevat 48-bitist šifri võtit. Krüpteerimise ja dekrüptimise eesmärgil kasutab see šifrit ja pöörab šifri algoritmi ümber. Lõpuks läbivad andmed krüptoteksti tagasi saamiseks viimases permutatsiooni etapis. Sarnaselt DES-ga on kolmekordne DES midagi muud kui DES-šifrit korratakse 3 korda. Joonis fig. 2a näitab DES algoritmi üldist arhitektuuri.

DES-algoritmi üldine arhitektuur

RC2

See on plokk-šifrialgoritm, kus alguses jagatakse andmed ploki suuruseks 8 baiti ja neid plokke töödeldakse eraldi. Seda algoritmi kasutati laialdaselt 90ndatel. Rc2 šifr kasutab salajast kasutajavõtit, mille suurus võib varieeruda ühest baidist kuni 128 baidini. See võtab selle salajase kasutajavõtme ja kasutab võtme laiendamise algoritmi ning krüpteerib andmed. See algoritm on välja töötatud nii, et seda saab hõlpsalt rakendada 16-bitistes mikroprotsessorites. Siin ei ole Feisteli vooru, selle asemel läbivad andmed 18 vooru segamist ja masseerimist. Joonis fig.2b näitab RC2 algoritmi üldist arhitektuuri.

RC2 algoritmi üldine arhitektuur

Blowfish

See on asümmeetriline algoritm, mis asendab DESi. Kasutatava ploki suurus on 64 bitti ja võtmete suurus vahemikus 32 kuni 448 bitti. Krüptimine, kasutades puhmkala, koosneb peamiselt kahest etapist

  • Ümar funktsioon
  • Väljundoperatsioon

Ümar funktsioon täidab järgmisi samme

  1. Klahvide valgendamine, mille käigus võetakse sisendandmete vasakpoolne osa ja tehakse sellega ainuõige VÕI toiming.
  2. Teises etapis kasutatakse S-kaste, need S-kastid kaardistavad 8-bitise andme 32 bitiks ja väljund ühendatakse liitmise ja XOR-i toimingute kombinatsiooniga.
  3. Eespool nimetatud kahte etappi koos nimetatakse F-funktsiooniks. Funktsiooni F väljund ja sisendandmete parempoolne külg teostavad XOR-i toimingu.
  4. Viimane samm hõlmab väljundi vahetamist.

Väljundfunktsioon näitab lõplikku vahetust ja valgendab väljundit. Selle funktsiooni väljund on sujuv šifretekst. Dekrüpteerimine löökkala abil hõlmab krüptimisega sama struktuuri kasutamist, kuna see kasutab Feisteli šifrit, kuid ümaraid võtmeid tuleb kasutada vastupidises järjekorras. Selle algoritmi peamine eelis on see, et see on üldkasutatav ja hõlpsasti juurdepääsetav. Puudusteks on põhimõtteliselt klahvide genereerimine natuke aeganõudev ning kui ploki suurus on väike, on see rünnakute suhtes haavatav.

Sümmeetriliste algoritmide rakendused

Mõned kohad, kus kasutatakse sümmeetrilist krüpteerimisalgoritmi, on

  • Kaarditehinguid kasutatakse identiteedivarguste ja pettuste ärahoidmiseks.
  • Messengeri identiteedi kinnitamiseks.
  • Räsimise ja juhuslike arvude genereerimine
  • Andmebaasi krüptimine

Järeldus - sümmeetrilised algoritmid

Sümmeetrilised algoritmid on asümmeetriliste algoritmidega võrreldes palju kiiremad ja tõhusamad. See on veelgi enam põhjus, miks neid kasutatakse hulgikrüptimisel. Kuid selle puuduseks on see, et võtmehaldus on väga ammendav, seetõttu on suuremahuline hooldus tüütu ülesanne, kus meil peab olema kõrgel tasemel turvalisus. Selle saavutamiseks peame olema säilitanud eraldi süsteemi abil loodud võtme elutsükli. . Seetõttu peame oma andmete ründamise vältimiseks alati kasutama nõuetekohast krüptimist.

Soovitatavad artiklid

See on sümmeetriliste algoritmide juhend. Siin käsitleme sümmeetriliste algoritmide sissejuhatust ja tüüpe koos DES-i ja Triple-DES-iga. Lisateavet leiate ka meie muudest soovitatud artiklitest -

  1. Mis on WebSocket?
  2. Veebirakenduste turvalisus
  3. Karjäär veebiarenduses
  4. Karjäär veebi kujundamisel
  5. Blokeeri töötamise režiimid Cipher
  6. C ++ algoritmi näited

Kategooria: