Plūsmas šifrs

Kriptogrāfijā plūsmas šifrs ir simetrisks atslēgas šifrs, kurā atklātā teksta biti tiek kombinēti ar pseidonormālo šifrējošo bitu plūsmu (atslēgas plūsmu), izmantojot ekskluzīvu vai (xor) operāciju. Straumes šifrā vienkāršā teksta ciparus šifrē pa vienam, un secīgo ciparu transformācija mainās šifrēšanas laikā. Alternatīvs nosaukums ir stāvokļa šifrs, jo katra cipara šifrēšana ir atkarīga no pašreizējā stāvokļa. Praksē cipari parasti ir atsevišķi biti vai baiti.

Straumju šifri ir atšķirīga pieeja simetriskai šifrēšanai salīdzinājumā ar bloku šifrēšanu. Bloku šifri darbojas ar lieliem fiksēta garuma blokiem. Straumju šifri parasti darbojas ar lielāku ātrumu nekā bloku šifri, un tiem ir mazākas prasības attiecībā uz aparatūru. Tomēr straumju šifri var būt pakļauti nopietnām drošības problēmām, ja tos izmanto nepareizi; piemēram, jo īpaši vienu un to pašu sākuma stāvokli nedrīkst izmantot divas reizes.

Strāvas šifrā izmanto daudz mazāku un ērtāku kriptogrāfisko atslēgu, piemēram, 128 bitu atslēgu. Balstoties uz šo atslēgu, tas ģenerē pseidogadījuma atslēgas plūsmu, ko var apvienot ar atklātā teksta cipariem līdzīgi kā vienreizējā blociņa šifrēšanas algoritmā. Tomēr, tā kā atslēgas straume ir pseidonorādīta, nevis patiesi nejauša, nevar piemērot drošību, kas saistīta ar vienreizējo bloķēšanas algoritmu, un ir pilnīgi iespējams, ka plūsmas šifrs ir pilnīgi nedrošs.

Atslēgas plūsmas ģeneratora darbība A5/1 - uz LFSR balstītā plūsmas šifrā, ko izmanto mobilo tālruņu sarunu šifrēšanai.Zoom
Atslēgas plūsmas ģeneratora darbība A5/1 - uz LFSR balstītā plūsmas šifrā, ko izmanto mobilo tālruņu sarunu šifrēšanai.

Straumju šifru veidi

Strāvas šifrs ģenerē secīgus atslēgas plūsmas elementus, pamatojoties uz iekšējo stāvokli. Šis stāvoklis tiek atjaunināts divējādi:

  1. Ja stāvoklis mainās neatkarīgi no atklātā teksta vai šifrteksta ziņojumiem, šifru klasificē kā sinhrono plūsmas šifru.
  2. Ja stāvoklis tiek atjaunināts, pamatojoties uz iepriekšējām šifrteksta ciparu izmaiņām, šifrs tiek klasificēts kā pašsinhronizējošs plūsmas šifrs.

Sinhronie plūsmas šifri

Sinhronā plūsmas šifrā pseidonormāno ciparu plūsma tiek ģenerēta neatkarīgi no atklātā teksta un šifrētā teksta ziņojumiem un pēc tam apvienota ar atklāto tekstu (lai šifrētu) vai ar šifrēto tekstu (lai atšifrētu). Visbiežāk izmanto bināros ciparus (bitus), un atslēgas plūsmu apvieno ar atklātu tekstu, izmantojot ekskluzīvu vai operāciju (XOR). To sauc par bināro aditīvo plūsmas šifru.

Sinhronā plūsmas šifrā sūtītājam un saņēmējam jābūt sinhronā režīmā, lai atšifrēšana būtu veiksmīga. Ja pārraides laikā ziņojumam tiek pievienoti vai noņemti cipari, sinhronizācija tiek zaudēta. Lai atjaunotu sinhronizāciju, var sistemātiski izmēģināt dažādus nobīdes, lai iegūtu pareizu atšifrēšanu. Cita pieeja ir iezīmēt šifrtekstu ar marķieriem regulārās izejas vietās.

Tomēr, ja pārraides laikā kāds cipars tiek bojāts, nevis pievienots vai pazaudēts, tiek ietekmēts tikai viens cipars atklātajā tekstā, un kļūda netiek izplatīta uz citām ziņojuma daļām. Šī īpašība ir noderīga, ja pārraides kļūdu īpatsvars ir augsts; tomēr tā samazina varbūtību, ka kļūda tiks atklāta bez papildu mehānismiem. Turklāt šīs īpašības dēļ sinhronie plūsmas šifri ir ļoti jutīgi pret aktīviemuzbrukumiem - ja uzbrucējs var mainīt ciparu šifrtekstā, viņš var spēt veikt paredzamas izmaiņas atbilstošajā atklātā teksta bitā; piemēram, bita pārgriešana šifrtekstā izraisa tā paša bita pārgriešanu(Toggled) atklātajā tekstā.

Pašsinhronizējoši plūsmas šifri

Pašsinhronizējošie plūsmas šifri ir vēl viens paņēmiens, kas izmanto daļu no iepriekšējiem N šifrteksta cipariem, lai aprēķinātu atslēgas plūsmu. Šādas shēmas ir pazīstamas arī kā asinhronie plūsmas šifri vai šifrteksta automātiskais atslēga (CTAK). Pašsinhronizācijas ideja tika patentēta 1946. gadā, un tās priekšrocība ir tā, ka uztvērējs automātiski sinhronizējas ar atslēgas plūsmas ģeneratoru pēc N šifrteksta ciparu saņemšanas, tādējādi atvieglojot atjaunošanu, ja cipari tiek izlaisti vai pievienoti ziņojumu plūsmai. Viena cipara kļūdu ietekme ir ierobežota, tās ietekmē tikai līdz N atklātā teksta cipariem. Ir nedaudz grūtāk veikt aktīvus uzbrukumus pašsinhronizējošiem plūsmas šifriem nekā sinhroniem analogiem.

Pašsinhronizējoša plūsmas šifrāta piemērs ir bloka šifrs šifrēšanas atgriezeniskās saites režīmā (CFB).

Lineārās atgriezeniskās saites plūsmas šifri, kas balstīti uz plūsmas reģistru

Bināros plūsmas šifrus bieži veido, izmantojot lineārās atgriezeniskās saites pārslēgšanas reģistrus (LFSR), jo tos var viegli īstenot aparatūrā un ātri matemātiski analizēt. Tomēr, lai nodrošinātu labu drošību, nepietiek tikai ar LFSR izmantošanu. Lai palielinātu LFSR drošību, ir izstrādātas dažādas shēmas.

Nelineārās apvienošanas funkcijas

Tā kā LFSR pēc būtības ir lineāri, viens no linearitātes novēršanas paņēmieniem ir paralēlu LFSR grupas izejas ievadīt nelineārā Bula funkcijā, lai izveidotu kombināciju ģeneratoru. Šādas kombinēšanas funkcijas dažādas īpašības ir svarīgas, lai nodrošinātu iegūtās shēmas drošību, piemēram, lai izvairītos no korelācijas uzbrukumiem.

Ar pulksteni vadāmi ģeneratori

Parasti LFSR tiek regulāri pakāpināti. Viens no nelinearitātes ieviešanas paņēmieniem ir neregulāra LFSR taktēšana, ko kontrolē otra LFSR izejas signāls. Šādi ģeneratori ir, piemēram, stop-and-go ģenerators, mainīgo soļu ģenerators un saraušanās ģenerators.

Stop-and-go ģenerators (Beth un Piper, 1984) sastāv no diviem LFSR. Viens LFSR tiek taktēts, ja otra izvads ir "1", pretējā gadījumā tas atkārto savu iepriekšējo izvadu. Pēc tam (dažās versijās) šo izvades signālu apvieno ar trešā LFSR izvades signāla izvades signālu ar regulāru taktēšanas ātrumu.

Samazināšanas ģenerators izmanto citu metodi. Tiek izmantoti divi LFSR, kas abi tiek regulāri taktēti šādi:

  1. Ja pirmā LFSR izejas vērtība ir "1", otrā LFSR izejas vērtība kļūst par ģeneratora izejas vērtību.
  2. Ja pirmā LFSR izvads ir "0", otrā izvads tiek noraidīts, un ģenerators neizvada nevienu bitu.

Šī metode cieš no laika uzbrukumiem otrajam ģeneratoram, jo izejas ātrums ir mainīgs atkarībā no otrā ģeneratora stāvokļa. To var uzlabot, buferizējot izeju.

Filtra ģenerators

Cita pieeja LFSR drošības uzlabošanai ir visa viena LFSR stāvokļa nodošana nelineārai filtrēšanas funkcijai.

Citi dizaini

Lineārās vadības ierīces vietā var izmantot nelineāru atjaunināšanas funkciju. Piemēram, Klimovs un Šamir ierosināja trīsstūrveida funkcijas (T-funkcijas) ar vienu ciklu n bitu vārdos.

Drošība

Lai nodrošinātu drošību, atslēgas plūsmas periodam (ciparu skaitam, kas izvadīts, pirms plūsma atkārtojas) jābūt pietiekami lielam. Ja secība atkārtojas, tad pārklājošos šifrtekstus var savstarpēji saskaņot "dziļumā", un ir metodes, kas ļauj iegūt vienkāršo tekstu no šifrtekstiem, kas ģenerēti, izmantojot šīs metodes.

Lietošana

Straumju šifrus bieži izmanto lietojumprogrammās, kurās atklātā teksta apjoms ir nezināma garuma, piemēram, drošos bezvadu savienojumos. Ja bloka šifru izmantotu šāda veida lietojumos, projektētājam būtu jāizvēlas vai nu pārraides efektivitāte, vai ieviešanas sarežģītība, jo bloka šifri nevar tieši strādāt ar blokiem, kas īsāki par to bloka lielumu. Piemēram, ja 128 bitu bloka šifrs saņem atsevišķus 32 bitu atklātā teksta fragmentus, trīs ceturtdaļas pārraidīto datu ir jāaizpilda. Lai izvairītos no bloka šifrēšanas, bloka šifri jāizmanto šifrteksta zādzības vai atlikušā bloka izbeigšanas režīmā, savukārt plūsmas šifri novērš šo problēmu, darbojoties ar mazāko pārraidīto vienību (parasti baitu).

Vēl viena plūsmas šifru priekšrocība militārajā kriptogrāfijā ir tā, ka šifru plūsmu var ģenerēt šifrēšanas ierīcē, uz kuru attiecas stingri drošības pasākumi, un pēc tam to var nodot citām ierīcēm, piemēram, radiouztvērējam, kas veic xor operāciju kā daļu no savas funkcijas. Cita ierīce var būt paredzēta izmantošanai mazāk drošā vidē.

RC4 ir programmatūrā visplašāk izmantotais plūsmas šifrs; citi ir šādi: A5/1, A5/2, Chameleon, FISH, Helix, ISAAC, MUGI, Panama, Phelix, Pike, SEAL, SOBER, SOBER-128 un WAKE.

RC4 ir viens no visplašāk izmantotajiem plūsmas šifru dizainparaugiem.Zoom
RC4 ir viens no visplašāk izmantotajiem plūsmas šifru dizainparaugiem.

Straumēšanas šifru salīdzinājums

StreamCipher

CreationDate

Ātrums
(cikli/bits)

(biti)

Uzbrukums

Efektīvs
Atslēgas garums

Inicializācijas vektors

InternalState

Vispazīstamākais

Skaitļošanas sarežģītība

A5/1

1989

Balss (Wphone)

54

114

64

Aktīvais KPA VAI
KPA laika un atmiņas kompromiss

~2 sekundes OR239.91

A5/2

1989

Balss (Wphone)

54

114

64?

Aktīvais

4,6 milisekundes

FISH

1993

Diezgan ātri (Wsoft)

Milzīgs

Zināma teksta uzbrukums

211

Graudaugi

Pirms 2004. gada

Fast

80

64

160

Atslēgas atdalīšana

243

HC-256

Pirms 2004. gada

4 (WP4)

256

256

65536

ISAAC

1996

2.375 (W64 bitu)
-4.6875
(W32 bitu)

8-8288parasti
40-256

NAV PIEMĒROJAMS

8288

(2006) Pirmā kārtas vājais iekšējais valsts sadalījums

4.67×101240 (2001)

MUGI

1998-2002

128

128

1216

NAV PIEEJAMS (2002)

~282

PANAMA

1998

2

256

128?

1216?

Hash Collisions (2001)

282

Fēlikss

Pirms 2004. gada

līdz 8 (Wx86)

256 + 128 bitu koda kods

128?

Diferenciāls (2006)

237

Pike

1994

0,9 x FISH (Wsoft)

Milzīgs

N/A (2004)

N/A (2004)

Py

Pirms 2004. gada

2.6

8-2048?
parasti 40-256?

64

8320

Kriptoanalītiskā teorija (2006)

275

Trusis

2003-februāris

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

128

64

512

N/A (2006)

N/A (2006)

RC4

1987

Iespaidīgs

8-2048 parasti
40-256

8

2064

Šamir sākotnējo bitu atslēgas atdalīšana VAI KPA

213 OR 233

Salsa20

Pirms 2004. gada

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

128 + 64 bitu koda kods

512

512 + 384 (atslēga+IV+indekss)

Diferenciāls (2005)

NAV PIEEJAMS (2005)

Kliedziens

2002

4 - 5 (Wsoft)

128 + 128 bitu koda kods

32?

64 bitu apļa funkcija

SEAL

1997

Ļoti ātrs (W32 bitu)

32?

SNOW

Pirms 2003. gada

Ļoti labi (W32-bit)

128 VAI 256

32

SOBER-128

2003

līdz 128

Ziņu kalve

2−6

SOSEMANUK

Pirms 2004. gada

Ļoti labi (W32-bit)

128

128

Trivium

Pirms 2004. gada

4 (Wx86) - 8 (WLG)

80

80

288

Brute force uzbrukums (2006)

2135

Turing

2000-2003

5.5 (Wx86)

160

VEST

2005

42 (WASIC) -64 (WFPGA)

Mainīgsparasti
80-256

Mainīgsparasti
80-256

256 - 800

N/A (2006)

N/A (2006)

WAKE

1993

Fast

8192

CPA & CCA

Neaizsargāts

StreamCipher

CreationDate

Ātrums
(cikli/bits)

(biti)

Uzbrukums

Efektīvs
Atslēgas garums

Inicializācijas vektors

InternalState

Vispazīstamākais

Skaitļošanas sarežģītība

Saistītās lapas

  • eSTREAM

Jautājumi un atbildes

J: Kas ir plūsmas šifrs?


A: Straumes šifrs ir simetrisks atslēgas šifrs, kurā atklātā teksta biti tiek kombinēti ar pseidorandomā šifra bitu plūsmu (atslēgas plūsmu), izmantojot ekskluzīvu vai (xor) operāciju.

J: Ar ko tas atšķiras no bloka šifrēšanas?


A: Straumēšanas šifri parasti darbojas ar lielāku ātrumu nekā bloka šifri, un tiem ir mazākas aparatūras prasības. Bloku šifri darbojas ar lieliem fiksēta garuma blokiem, bet plūsmas šifri šifrētāji šifrē ciparus pa vienam, un secīgo ciparu transformācija šifrēšanas laikā mainās.

J: Kāda veida atslēgas izmanto?


A: Straumju šifri izmanto daudz mazākas un ērtākas kriptogrāfiskās atslēgas, piemēram, 128 bitu atslēgas.

J: Kā tas ģenerē atslēgas plūsmu?


A: Atslēgas plūsma tiek ģenerēta, pamatojoties uz izmantoto kriptogrāfisko atslēgu, līdzīgi kā vienreizējā bloka šifrēšanas algoritmā. Tomēr, tā kā atslēgas straume ir pseidonorādījums, nevis īsta nejaušība, nav iespējams piemērot drošību, kas ir saistīta ar vienreizējo bloķēšanas metodi.

J: Kāpēc nekad nedrīkst izmantot vienu un to pašu sākuma stāvokli divas reizes?


A: Divreiz izmantojot vienu un to pašu sākuma stāvokli, var rasties nopietnas drošības problēmas, jo uzbrucējiem ir vieglāk atšifrēt datus, nezinot jūsu kriptogrāfisko atslēgu vai negūstot piekļuvi tai.

J: Vai ir kāds risks, kas saistīts ar plūsmas šifru izmantošanu?


A: Jā, ja tos izmanto nepareizi vai bez pienācīgiem piesardzības pasākumiem, tad pastāv risks, kas saistīts ar plūsmas šifru izmantošanu, jo tie var būt pilnīgi nedroši, ja ar tiem netiek pareizi rīkots.

AlegsaOnline.com - 2020 / 2023 - License CC3