Voošifreerimine

Krüptograafias on voošifreerimine sümmeetrilise võtme šifreerimine, mille puhul lihtsa teksti bitid kombineeritakse pseudorandomiga (võtmevoog), kasutades eksklusiiv- või (xor) operatsiooni. Voolukrüpteerimise puhul krüpteeritakse lihtteksti numbrid ükshaaval ja järjestikuste numbrite muundumine muutub krüpteerimise ajal. Alternatiivne nimetus on olekukrüpteerimine, kuna iga numbri krüpteerimine sõltub praegusest olekust. Praktikas on numbrid tavaliselt üksikud bitid või baidid.

Voolukodeeringud kujutavad endast sümmeetrilise krüpteerimise lähenemisviisi, mis erineb plokk-kodeeringutest. Plokkšifrid töötavad suurte, fikseeritud pikkusega plokkidega. Voolukodeeringud toimivad tavaliselt suurema kiirusega kui plokk-kodeeringud ja neil on väiksemad nõuded riistvarale. Vooluküptograafid võivad siiski põhjustada tõsiseid turvaprobleeme, kui neid kasutatakse valesti; näiteks ei tohi kunagi kasutada sama algusseisundit kaks korda.

Voolukrüptograafia kasutab palju väiksemat ja mugavamat krüptograafilist võtit, näiteks 128-bitist võtit. Selle võtme põhjal genereeritakse pseudorandom võtmevoog, mida saab kombineerida lihtteksti numbritega sarnaselt ühekordse krüpteerimisalgoritmiga. Kuna võtmevoog on siiski pseudorandom, mitte tõeliselt juhuslik, ei saa ühekordse padiga seotud turvalisust rakendada ja on täiesti võimalik, et voošifreering on täiesti ebaturvaline.

Võtmevoogude generaatori töö A5/1, LFSR-põhise voogkrüptograafia, mida kasutatakse mobiiltelefonivestluste krüpteerimiseks.Zoom
Võtmevoogude generaatori töö A5/1, LFSR-põhise voogkrüptograafia, mida kasutatakse mobiiltelefonivestluste krüpteerimiseks.

Voolukodeeringute tüübid

Voolukooder genereerib võtmevoo järjestikused elemendid sisemise oleku alusel. Seda olekut uuendatakse kahel viisil:

  1. Kui olek muutub sõltumata liht- või salatekstisõnumitest, liigitatakse šifter sünkroonseks voogšifriks.
  2. Kui olek uuendatakse salakirjateksti numbrite eelnevate muutuste alusel, liigitatakse salakirjatekst isesünkroniseeruvaks voogsalakirjaks.

Sünkroonne voogkoodeerimine

Sünkroonses voogkooderis genereeritakse pseudosrandomnumbrite voog, mis on sõltumatu selgete ja salastatud sõnumitest, ning seejärel kombineeritakse selgete tekstidega (krüpteerimiseks) või salastatud tekstidega (dekrüpteerimiseks). Kõige levinumal kujul kasutatakse binaarsed numbrid (bitid) ja võtmevoog kombineeritakse lihtkirjaga, kasutades eksklusiivset või operatsiooni (XOR). Seda nimetatakse binaarseks aditiivseks voošifreeringuks.

Sünkroonse voošifri puhul peavad saatja ja vastuvõtja olema sünkroonis, et dekrüpteerimine oleks edukas. Kui sõnumi edastamise ajal lisatakse või eemaldatakse numbreid, kaob sünkroniseerimine. Sünkroonsuse taastamiseks võib süstemaatiliselt proovida erinevaid nihkeid, et saada õige dekrüpteerimine. Teine lähenemisviis on tähistada šifreeritud tekst märgistusmärgistega regulaarsetes kohtades väljundis.

Kui aga mõni number on ülekande käigus vigastatud, mitte aga lisatud või kadunud, mõjutab see ainult ühte numbrit lihtkirjas ja viga ei levi sõnumi teistesse osadesse. See omadus on kasulik, kui edastusvigade määr on suur; see muudab aga vähem tõenäoliseks, et viga avastatakse ilma täiendavate mehhanismideta. Lisaks sellele on sünkroonsed voošifrid selle omaduse tõttu väga vastuvõtlikud aktiivsetelerünnakutele - kui ründaja saab muuta numbrit salatekstis, võib ta olla võimeline tegema prognoositavaid muudatusi vastavas lihtteksti bitis; näiteks bitide pööramine salatekstis põhjustab sama biti pööramise (Toggled) lihttekstis.

Isesünkroniseeruvad voogšifrid

Isesünkroniseeruv voogkooder on veel üks tehnika, mis kasutab võtmevoo arvutamiseks osa eelneva N salastusteksti numbritest. Selliseid skeeme tuntakse ka kui asünkroonseid voošifereid või salateksti automaatset võtit (CTAK). Isesünkroniseerimise idee patenteeriti 1946. aastal ja selle eeliseks on see, et vastuvõtja sünkroniseerib võtmevoo generaatoriga automaatselt pärast N salateksti numbri saamist, mis lihtsustab taastamist, kui numbreid on sõnumi voogude hulka välja jäetud või lisatud. Ühe numbri vigade mõju on piiratud, mõjutades ainult kuni N lihtkirjateksti numbrit. Aktiivseid rünnakuid on mõnevõrra raskem teostada isesünkroniseeruvate voogkoodide vastu kui sünkroonsete vastavate koodide vastu.

Isesünkroniseeruv voogkoode on näiteks plokk-koode, mis on salajase tagasiside režiimil (CFB).

Lineaarse tagasiside nihkeregistril põhinevad voogkoodid

Binaarsed voogkoode kasutavad sageli lineaarse tagasisidega nihkeregistreid (LFSR), sest neid on lihtne riistvaraliselt rakendada ja neid saab kiiresti matemaatiliselt analüüsida. Kuid ainult LFSRide kasutamine ei ole piisav, et tagada hea turvalisus. LFSRide turvalisuse suurendamiseks on loodud mitmesuguseid skeeme.

Mitte-lineaarsed kombineerimisfunktsioonid

Kuna LFSR-id on oma olemuselt lineaarsed, on üks lineaarsuse kõrvaldamise meetod paralleelsete LFSR-ide rühma väljundite sisestamine mittelineaarsesse Boole'i funktsiooni, et moodustada kombinatsioonigeneraator. Sellise kombineerimisfunktsiooni mitmesugused omadused on olulised, et tagada saadud skeemi turvalisus, näiteks korrelatsioonirünnakute vältimiseks.

Taktiga juhitavad generaatorid

Tavaliselt astuvad LFSRid regulaarselt. Üks meetod mittelineaarsuse sisseviimiseks on LFSRi ebakorrapärane taktimine, mida juhib teise LFSRi väljund. Selliste generaatorite hulka kuuluvad stop-and-go generaator, vahelduv sammugeneraator ja kahanemisgeneraator.

Stop-and-go generaator (Beth ja Piper, 1984) koosneb kahest LFSRist. Üks LFSR on taktis, kui teise väljundiks on "1", vastasel juhul kordab ta oma eelmist väljundit. Seejärel kombineeritakse see väljund (mõnes versioonis) kolmanda LFSR-i väljundiga, mis on taktitatud korrapärase sagedusega.

Kahanemise generaator kasutab teistsugust tehnikat. Kasutatakse kahte LFSR-i, mis mõlemad on taktitatud korrapäraselt järgmisel viisil:

  1. Kui esimese LFSR-i väljundiks on "1", saab teise LFSR-i väljundist generaatori väljund.
  2. Kui esimese LFSR-i väljund on "0", siis teise LFSR-i väljund jäetakse kõrvale ja generaator ei väljasta ühtegi bitti.

See tehnika kannatab teise generaatori ajastusrünnakute all, kuna väljundi kiirus on muutuv viisil, mis sõltub teise generaatori olekust. Seda saab parandada väljundi puhverdamisega.

Filtri generaator

Teine lähenemisviis LFSR-i turvalisuse parandamiseks on ühe LFSR-i kogu oleku edastamine mittelineaarsesse filtreerimisfunktsiooni.

Muud konstruktsioonid

Lineaarse juhtimisseadme asemel võib kasutada mittelineaarset uuendamisfunktsiooni. Näiteks Klimov ja Shamir pakkusid välja kolmnurksed funktsioonid (T-funktsioonid), millel on üks tsükkel n bitsõna kohta.

Turvalisus

Turvalisuse tagamiseks peab keystream'i periood (numbrite arv, mis väljastatakse enne stream'i kordamist) olema piisavalt suur. Kui jada kordub, siis saab kattuvad salakirjatekstid üksteisega "sügavuti" vastavusse viia ja on olemas tehnikad, mis võimaldavad nende meetodite abil loodud salakirjatekstidest lihtteksti ekstraheerimist.

Kasutamine

Voolukodeeringuid kasutatakse sageli rakendustes, kus lihttekst on tundmatu pikkusega, nagu näiteks turvalistes traadita ühendustes. Kui plokkšifreid kasutataks seda tüüpi rakendustes, peaks projekteerija valima kas edastamise tõhususe või rakendamise keerukuse, sest plokkšifrid ei saa otseselt töötada plokkide suurusega, mis on lühemad kui nende plokkide suurus. Näiteks kui 128-bitise plokkšifrile saadakse eraldi 32-bitised lihtteksti osad, tuleb kolm neljandikku edastatavatest andmetest täita. Plokkšifreid tuleb kasutada salakirja varguse või jääkplokkide lõpetamise režiimis, et vältida täitmist, samas kui voogšifrid kõrvaldavad selle probleemi, töötades väikseima edastatava ühikuga (tavaliselt baitidega).

Teine voošifreerimise eelis sõjalises krüptograafias on see, et šifreerimisvoo saab genereerida krüpteerimisseadmega, mille suhtes kohaldatakse rangeid turvameetmeid, ja seejärel edastada seda teistele seadmetele, nt raadioseadmele, mis teostavad xor-operatsiooni osana oma funktsioonist. Teine seade võib olla ette nähtud kasutamiseks vähem turvalistes keskkondades.

RC4 on kõige laialdasemalt kasutatav tarkvaraline voogkood; teised on järgmised: A5/1, A5/2, Chameleon, FISH, Helix, ISAAC, MUGI, Panama, Phelix, Pike, SEAL, SOBER, SOBER-128 ja WAKE.

RC4 on üks kõige laialdasemalt kasutatavaid voogkoode.Zoom
RC4 on üks kõige laialdasemalt kasutatavaid voogkoode.

Voolukoodide võrdlus

StreamCipher

CreationDate

Kiirus
(tsüklid/bait)

(bitid)

Rünnak

Efektiivne
Võtmepikkus

Initsialiseerimisvektor

InternalState

Tuntuimad

ComputationalComplexity

A5/1

1989

Hääl (Wphone)

54

114

64

Aktiivne KPA VÕI
KPA aeg-mälu kompromiss

~2 sekundit OR239.91

A5/2

1989

Hääl (Wphone)

54

114

64?

Aktiivne

4,6 millisekundit

FISH

1993

Üsna kiire (Wsoft)

Hiiglaslik

Tuntud-plainteksti rünnak

211

Teravilja

Enne 2004. aastat

Kiire

80

64

160

Key-Derivation

243

HC-256

Enne 2004. aastat

4 (WP4)

256

256

65536

ISAAC

1996

2.375 (W64-bit)
-4.6875
(W32-bit)

8-8288 Tavaliselt
40-256

EI KOHALDATA

8288

(2006) Esimese vooru nõrk-sisese-riigi-eraldamine

4.67×101240 (2001)

MUGI

1998-2002

128

128

1216

EI KOHALDATA (2002)

~282

PANAMA

1998

2

256

128?

1216?

Hash Collisions (2001)

282

Phelix

Enne 2004. aastat

kuni 8 (Wx86)

256 + 128-bitine nonce

128?

Diferentsiaal (2006)

237

Pike

1994

0,9 x FISH (Wsoft)

Hiiglaslik

EI KOHALDATA (2004)

EI KOHALDATA (2004)

Py

Enne 2004. aastat

2.6

8-2048?
tavaliselt 40-256?

64

8320

Krüptoanalüütiline teooria (2006)

275

Küülik

2003-Febr.

3.7(WP3)-9.7(WARM7)

128

64

512

EI KOHALDATA (2006)

EI KOHALDATA (2006)

RC4

1987

Muljetavaldav

8-2048 Tavaliselt
40-256

8

2064

Shamir Initial-Bytes Key-Derivation OR KPA

213 VÕI 233

Salsa20

Enne 2004. aastat

4,24 (WG4) -11
,84
(WP4)

128 + 64-bitine nonce

512

512 + 384 (võti+IV+indeks)

Diferentsiaal (2005)

EI KOHALDATA (2005)

Scream

2002

4 - 5 (Wsoft)

128 + 128-bitine nonce

32?

64-bitine ümarfunktsioon

SEAL

1997

Väga kiire (W32-bit)

32?

SNOW

Enne 2003. aastat

Väga hea (W32-bit)

128 VÕI 256

32

SOBER-128

2003

kuni 128

Sõnumi sepistamine

2−6

SOSEMANUK

Enne 2004. aastat

Väga hea (W32-bit)

128

128

Trivium

Enne 2004. aastat

4 (Wx86) - 8 (WLG)

80

80

288

Brute force'i rünnak (2006)

2135

Turing

2000-2003

5.5 (Wx86)

160

VEST

2005

42 (WASIC) -64 (WFPGA)

Muutlik Tavaliselt
80-256

Muutlik Tavaliselt
80-256

256 - 800

EI KOHALDATA (2006)

EI KOHALDATA (2006)

WAKE

1993

Kiire

8192

CPA & CCA

Haavatavad

StreamCipher

CreationDate

Kiirus
(tsüklid/bait)

(bitid)

Rünnak

Efektiivne
Võtmepikkus

Initsialiseerimisvektor

InternalState

Tuntuimad

ComputationalComplexity

Seotud leheküljed

  • eSTREAM

Küsimused ja vastused

K: Mis on voogkooder?


V: Voolukood on sümmeetrilise võtmega šifreering, mille puhul lihtteksti bitid kombineeritakse pseudorandomišifreeritud bitivooga (võtmevoog), kasutades eksklusiiv-või (xor) operatsiooni.

K: Mille poolest erineb see plokkšifritest?


V: Voolukodeeringud toimivad tavaliselt suurema kiirusega kui plokk-kodeeringud ja nende riistvaranõuded on väiksemad. Plokkšifrid töötavad suurte fikseeritud pikkusega plokkidega, samas kui voogšifrid krüpteerivad numbreid ükshaaval ja järjestikuste numbrite muundumine muutub krüpteerimise ajal.

K: Millist tüüpi võtmeid kasutatakse?


V: Vooluküptograafid kasutavad palju väiksemaid ja mugavamaid krüptograafilisi võtmeid, näiteks 128-bitiseid võtmeid.

K: Kuidas genereeritakse võtmevoog?


V: Võtmevoog genereeritakse kasutatava krüptograafilise võtme alusel sarnaselt ühekordse krüpteerimisalgoritmiga. Kuna võtmevoog on aga pseudorandom ja mitte tõeliselt juhuslik, ei saa kohaldada ühekordse padiga seotud turvalisust.

K: Miks ei tohi kunagi kasutada sama algolekut kaks korda?


V: Sama algseisundi kahekordne kasutamine võib põhjustada tõsiseid turvaprobleeme, sest see lihtsustab ründajate jaoks andmete dekrüpteerimist, ilma et nad teaksid teie krüptograafilist võtit või omaksid sellele juurdepääsu.

K: Kas voogkooderite kasutamisega on seotud mingi risk?


V: Jah, kui neid kasutatakse valesti või ilma nõuetekohaste ettevaatusabinõudeta, siis on voogkooderite kasutamisega seotud risk, kuna need võivad olla täiesti ebaturvalised, kui neid ei kasutata nõuetekohaselt.

AlegsaOnline.com - 2020 / 2023 - License CC3