Tokovna šifra

V kriptografiji je tokovna šifra simetrična šifra ključa, pri kateri se biti odprtega besedila kombinirajo s psevdonaključnim tokom bitov šifre (tok ključa) z uporabo operacije izključujočega ali (xor). Pri tokovni šifri se števke navadnega besedila šifrirajo ena za drugo, transformacija zaporednih števk pa se med šifriranjem spreminja. Alternativno ime je državna šifra, saj je šifriranje vsake številke odvisno od trenutnega stanja. V praksi so števke običajno posamezni biti ali bajti.

Tokovne šifre predstavljajo drugačen pristop k simetričnemu šifriranju kot blokovne šifre. Blokovni šifri delujejo na velikih blokih fiksne dolžine. Tokovne šifre se običajno izvajajo z večjo hitrostjo kot blokovne šifre in imajo manjše strojne zahteve. Vendar so lahko tokovne šifre ob nepravilni uporabi izpostavljene resnim varnostnim težavam; zlasti se na primer nikoli ne sme dvakrat uporabiti isto začetno stanje.

Tokovna šifra uporablja veliko manjši in priročnejši kriptografski ključ, na primer 128-bitni ključ. Na podlagi tega ključa ustvari psevdorandomni tok ključev, ki ga je mogoče kombinirati z znaki odprtega besedila na podoben način kot algoritem šifriranja z enkratno podlogo. Ker pa je tok ključev psevdonaključen in ne resnično naključen, ni mogoče uporabiti varnosti, povezane z enkratnim blokom, in je povsem mogoče, da je tokovna šifra popolnoma nezanesljiva.

Delovanje generatorja toka ključev v A5/1, tokovni šifri, ki temelji na LFSR in se uporablja za šifriranje pogovorov po mobilnih telefonih.Zoom
Delovanje generatorja toka ključev v A5/1, tokovni šifri, ki temelji na LFSR in se uporablja za šifriranje pogovorov po mobilnih telefonih.

Vrste tokovnih šifer

Tokovna šifra generira zaporedne elemente toka ključev na podlagi notranjega stanja. To stanje se posodablja na dva načina:

  1. Če se stanje spreminja neodvisno od sporočil z odprtim ali šifriranim besedilom, se šifra uvršča med sinhrone tokovne šifre.
  2. Če se stanje posodablja na podlagi prejšnjih sprememb številk šifriranega besedila, se šifra uvršča med samosinhronizirajoče se tokovne šifre.

Sinhrone tokovne šifre

Pri sinhroni tokovni šifri se tok psevdonaključnih številk ustvari neodvisno od sporočil z odprtim in šifriranim besedilom ter se nato združi z odprtim besedilom (za šifriranje) ali s šifriranim besedilom (za dešifriranje). V najpogostejši obliki se uporabljajo binarne številke (biti), tok ključev pa se kombinira z odprtim besedilom z uporabo operacije izključujočega ali (XOR). To se imenuje binarna aditivna tokovna šifra.

Pri sinhroni pretočni šifri morata biti pošiljatelj in prejemnik sinhroni, da je dešifriranje uspešno. Če se med prenosom sporočilu dodajo ali odstranijo števke, se sinhronizacija izgubi. Za ponovno vzpostavitev sinhronizacije lahko sistematično preizkušamo različne odmike, da dobimo pravilno dešifriranje. Drug pristop je označevanje šifriranega besedila z označevalci na rednih točkah v izhodu.

Če pa je pri prenosu številka poškodovana, ne pa dodana ali izgubljena, je prizadeta samo ena številka v odprtem besedilu in napaka se ne razširi na druge dele sporočila. Ta lastnost je uporabna, kadar je stopnja napak pri prenosu visoka; vendar je zaradi nje manj verjetno, da bi bila napaka odkrita brez dodatnih mehanizmov. Poleg tega so zaradi te lastnosti sinhrone tokovne šifre zelo dovzetne za aktivnenapade - če lahko napadalec spremeni števko v šifriranem besedilu, lahko predvidljivo spremeni tudi ustrezni bit v odprtem besedilu; na primer, obračanje bita v šifriranem besedilu povzroči obračanje(Toggling) istega bita v odprtem besedilu.

Samosinhronizirajoče tokovne šifre

Samosinhronizirajoče tokovne šifre so še ena tehnika, ki za izračun toka ključev uporablja del prejšnjih N številk šifriranega besedila. Takšne sheme so znane tudi kot asinhronizacijske tokovne šifre ali samodejni ključ šifriranega besedila (CTAK). Zamisel o samosinhronizaciji je bila patentirana leta 1946, njena prednost pa je, da se sprejemnik po prejemu N številk šifrirnega besedila samodejno sinhronizira z generatorjem toka ključev, kar olajša obnovitev, če so številke izpadle ali dodane toku sporočila. Učinek enomestnih napak je omejen, saj vplivajo le na največ N številk odprtega besedila. Aktivne napade na samosinhronizirajoče se tokovne šifre je nekoliko težje izvesti kot na sinhrone.

Primer samosinhronizacijske tokovne šifre je blokovna šifra v načinu šifriranja s povratno informacijo (CFB).

Tokovne šifre na podlagi linearnega povratnega premičnega registra

Binarne tokovne šifre so pogosto zgrajene z linearnimi izmeničnimi registri (LFSR), saj jih je mogoče enostavno implementirati v strojni opremi in hitro matematično analizirati. Vendar uporaba samo LFSR ne zadostuje za zagotavljanje dobre varnosti. Za povečanje varnosti LFSR-jev so bile zasnovane različne sheme.

Nelinearne funkcije združevanja

Ker so LFSR-ji po naravi linearni, je ena od tehnik za odpravo linearnosti ta, da izhode skupine vzporednih LFSR-jev vnesemo v nelinearno Boolejevo funkcijo in tako oblikujemo generator kombinacij. Različne lastnosti takšne kombinacijske funkcije so pomembne za zagotavljanje varnosti nastale sheme, na primer za preprečevanje korelacijskih napadov.

Generatorji, krmiljeni z uro

Običajno se LFSR-ji redno stopnjujejo. Ena od tehnik uvajanja nelinearnosti je, da se LFSR taktira neredno, kar se nadzoruje z izhodom drugega LFSR. Takšni generatorji vključujejo generator stop-and-go, generator izmeničnih korakov in generator krčenja.

Generator stop-and-go (Beth in Piper, 1984) je sestavljen iz dveh LFSR. En LFSR se taktizira, če je izhod drugega "1", v nasprotnem primeru pa ponovi svoj prejšnji izhod. Ta izhod se nato (v nekaterih različicah) združi z izhodom tretjega LFSR, ki se taktira z redno frekvenco.

Generator za krčenje uporablja drugačno tehniko. Uporabljena sta dva LFSR, ki sta redno taktirana na naslednji način:

  1. Če je izhod prvega LFSR "1", izhod drugega LFSR postane izhod generatorja.
  2. Če je izhod prvega LFSR "0", se izhod drugega zavrže, generator pa ne izpiše nobenega bita.

Ta tehnika je izpostavljena časovnim napadom na drugi generator, saj se hitrost izhoda spreminja v odvisnosti od stanja drugega generatorja. To se lahko izboljša s predpomnilnikom na izhodu.

Generator filtrov

Drug pristop k izboljšanju varnosti LFSR je prenos celotnega stanja posameznega LFSR v nelinearno filtrirno funkcijo.

Drugi modeli

Namesto linearne pogonske naprave lahko uporabimo nelinearno funkcijo posodabljanja. Klimov in Shamir sta na primer predlagala trikotniške funkcije (T-funkcije) z enim ciklom na n bitnih besedah.

Varnost

Da bi bil tok ključev varen, mora biti perioda toka ključev (število številk, preden se tok ponovi) dovolj velika. Če se zaporedje ponavlja, je mogoče prekrivajoča se šifrirna besedila med seboj "v globino" poravnati in obstajajo tehnike, ki omogočajo pridobivanje navadnega besedila iz šifrirnih besedil, ustvarjenih s temi metodami.

Uporaba

Tokovne šifre se pogosto uporabljajo v aplikacijah, kjer je odprto besedilo v količinah neznane dolžine, kot pri varnih brezžičnih povezavah. Če bi se blokovna šifra uporabljala v tovrstnih aplikacijah, bi moral oblikovalec izbrati bodisi učinkovitost prenosa bodisi zapletenost izvedbe, saj blokovne šifre ne morejo neposredno delovati na blokih, ki so krajši od njihove velikosti bloka. Če na primer 128-bitna blokovna šifra prejme ločene 32-bitne serije odprtega besedila, je treba tri četrtine prenesenih podatkov zapolniti. Blokovne šifre je treba uporabljati v načinu kraje šifriranega besedila ali v načinu zaključevanja preostalih blokov, da bi se izognili polnitvi, medtem ko tokovne šifre to težavo odpravijo z delovanjem na najmanjši preneseni enoti (običajno bajtih).

Druga prednost tokovnih šifer v vojaški kriptografiji je, da lahko tok šifer ustvari šifrirna naprava, za katero veljajo strogi varnostni ukrepi, nato pa ga posreduje drugim napravam, npr. radijskemu sprejemniku, ki v okviru svoje funkcije izvedejo operacijo xor. Druga naprava je lahko zasnovana za uporabo v manj varnih okoljih.

RC4 je najpogosteje uporabljena pretočna šifra v programski opremi; druge so: A5/1, A5/2, Chameleon, FISH, Helix, ISAAC, MUGI, Panama, Phelix, Pike, SEAL, SOBER, SOBER-128 in WAKE.

RC4 je ena od najbolj razširjenih oblik tokovnih šifer.Zoom
RC4 je ena od najbolj razširjenih oblik tokovnih šifer.

Primerjava pretočnih šifer

StreamCipher

CreationDate

Hitrost
(cikli/bit)

(bitov)

Napad

Učinkovito
Dolžina ključa

Inicializacijski vektor

InternalState

Najbolj znani

Računska zapletenost

A5/1

1989

Glas (Wphone)

54

114

64

Aktivni KPA ali
KPA Časovno-pametni kompromis

~2 sekunde OR239.91

A5/2

1989

Glas (Wphone)

54

114

64?

Aktivno

4,6 milisekunde

FISH

1993

Dokaj hitro (Wsoft)

Ogromno

Napad z znanim besedilom

211

Zrno

Pred letom 2004

Hitro

80

64

160

Razlikovanje ključev

243

HC-256

Pred letom 2004

4 (WP4)

256

256

65536

ISAAC

1996

2.375 (W64-bit)
-4
.
6875
(W32-bit)

8-8288običajno
40-256

NI RELEVANTNO

8288

(2006) Prvi krog - šibka notranja državna razdelitev

4.67×101240 (2001)

MUGI

1998-2002

128

128

1216

NI PODATKA (2002)

~282

PANAMA

1998

2

256

128?

1216?

Trkanje s čašami (2001)

282

Phelix

Pred letom 2004

do 8 (Wx86)

256 + 128-bitna kodo Nonce

128?

Diferencial (2006)

237

Pike

1994

0,9 x FISH (Wsoft)

Ogromno

NI PODATKA (2004)

NI PODATKA (2004)

Py

Pred letom 2004

2.6

8-2048?
običajno 40-256?

64

8320

Kriptanalitična teorija (2006)

275

Zajec

2003-februar

3,7 (WP3) - 9,7 (WARM7)

128

64

512

NI PODATKA (2006)

NI PODATKA (2006)

RC4

1987

Impresivni

8-2048običajno
40-256

8

2064

Šamirjeva začetno-bitna derivacija ključa OR KPA

213 OR 233

Salsa20

Pred letom 2004

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

128 + 64-bitni kod Nonce

512

512 + 384 (ključ+IV+indeks)

Diferencial (2005)

NI PODATKA (2005)

Krik

2002

4 - 5 (Wsoft)

128 + 128-bitni znak brez kode

32?

64-bitna funkcija zaokroževanja

SEAL

1997

Zelo hitro (W32-bit)

32?

SNOW

Pred letom 2003

Zelo dobro (W32-bit)

128 ALI 256

32

SOBER-128

2003

do 128

Kovačnica sporočil

2−6

SOSEMANUK

Pred letom 2004

Zelo dobro (W32-bit)

128

128

Trivium

Pred letom 2004

4 (Wx86) - 8 (WLG)

80

80

288

Napad z grobo silo (2006)

2135

Turing

2000-2003

5.5 (Wx86)

160

VEST

2005

42 (WASIC) -64 (WFPGA)

Spremenljivoobičajno
80-256

Spremenljivoobičajno
80-256

256 - 800

NI PODATKA (2006)

NI PODATKA (2006)

WAKE

1993

Hitro

8192

CPA IN CCA

Ranljivi

StreamCipher

CreationDate

Hitrost
(cikli/bit)

(bitov)

Napad

Učinkovito
Dolžina ključa

Inicializacijski vektor

InternalState

Najbolj znani

Računska zapletenost

Sorodne strani

  • eSTREAM

Vprašanja in odgovori

V: Kaj je tokovna šifra?


O: Tokovna šifra je šifra s simetričnim ključem, pri kateri se biti odprtega besedila kombinirajo s psevdonaključnim tokom bitov šifre (tok ključa) z uporabo operacije izključnega ali (xor).

V: Kako se razlikuje od blokovnih šifer?


O: Tokovne šifre se običajno izvajajo z večjo hitrostjo kot blokovne šifre in imajo manjše strojne zahteve. Blokovne šifre delujejo na velikih blokih fiksne dolžine, medtem ko pretočne šifre šifrirajo števke eno za drugo, transformacija zaporednih števk pa se med šifriranjem spreminja.

V: Kakšno vrsto ključev uporablja?


O: Tokovne šifre uporabljajo veliko manjše in priročnejše kriptografske ključe, na primer 128-bitne ključe.

V: Kako generira tok ključev?


O: Tok ključev se generira na podlagi uporabljenega kriptografskega ključa, podobno kot pri algoritmu šifriranja z enkratno podlogo. Ker pa je tok ključev psevdonaključen in ne resnično naključen, ni mogoče uporabiti varnosti, povezane z enkratnim blokom.

V: Zakaj nikoli ne smete dvakrat uporabiti istega začetnega stanja?


O: Dvakratna uporaba istega začetnega stanja lahko privede do resnih varnostnih težav, saj napadalci lažje dešifrirajo podatke, ne da bi poznali ali imeli dostop do vašega kriptografskega ključa.

V: Ali je z uporabo tokovnih šifer povezano kakšno tveganje?


O: Da, če se uporabljajo nepravilno ali brez ustreznih previdnostnih ukrepov, je z uporabo tokovnih šifer povezano tveganje, saj so lahko popolnoma nezanesljive, če se z njimi ne ravna pravilno.

AlegsaOnline.com - 2020 / 2023 - License CC3