Virta-Salaus

Virta-salaus on salakirjoituksessa symmetrinen avainsalaus, jossa selkotekstin bitit yhdistetään pseudosatunnaiseen salausbittivirtaan (avainvirtaan) käyttämällä eksklusiivista tai-operaatiota (xor). Virta-salakirjoituksessa selkotekstin numerot salataan yksi kerrallaan, ja peräkkäisten numeroiden muunnos vaihtelee salaustilan aikana. Vaihtoehtoinen nimi on tilasalaus, koska kunkin numeron salaus riippuu senhetkisestä tilasta. Käytännössä numerot ovat tyypillisesti yksittäisiä bittejä tai tavuja.

Virtasalakirjoitukset edustavat symmetriseen salaukseen erilaista lähestymistapaa kuin lohkosalakirjoitukset. Lohkosalakirjoittajat toimivat suurilla kiinteän pituisilla lohkoilla. Virtapiirisalaimet toimivat yleensä nopeammin kuin lohkosalaimet, ja niiden laitteistovaatimukset ovat alhaisemmat. Virtapiirisalpaajat voivat kuitenkin aiheuttaa vakavia tietoturvaongelmia, jos niitä käytetään väärin; esimerkiksi samaa alkutilaa ei saa koskaan käyttää kahdesti.

Virtasalaus käyttää paljon pienempää ja kätevämpää salausavainta, esimerkiksi 128-bittistä avainta. Tämän avaimen perusteella se luo pseudosatunnaisen avainvirran, joka voidaan yhdistää selkotekstin numeroihin samalla tavalla kuin one-time pad -salausalgoritmi. Koska avainvirta on kuitenkin pseudosatunnainen eikä aidosti satunnainen, kertakäyttöalustaan liittyvää suojausta ei voida soveltaa, ja on täysin mahdollista, että virtasalausmenetelmä on täysin turvaton.

Avainvirtageneraattorin toiminta A5/1:ssä, joka on LFSR-pohjainen virtasalaus, jota käytetään matkapuhelinkeskustelujen salaamiseen.Zoom
Avainvirtageneraattorin toiminta A5/1:ssä, joka on LFSR-pohjainen virtasalaus, jota käytetään matkapuhelinkeskustelujen salaamiseen.

Virtapiirien tyypit

Virtasalaus tuottaa avainvirran peräkkäiset elementit sisäisen tilan perusteella. Tätä tilaa päivitetään kahdella tavalla:

  1. Jos tila muuttuu selkoteksti- tai salatekstiviesteistä riippumatta, salaus luokitellaan synkroniseksi virtasalakirjoitukseksi.
  2. Jos tila päivitetään salaustekstin numeroiden aiempien muutosten perusteella, salaus luokitellaan itsesynkronoivaksi virtasalaimeksi.

Synkroniset virtasalakirjoitukset

Synkronisessa virtasalakirjoituksessa pseudosattumanumerovirta luodaan selvä- ja salatekstiviesteistä riippumatta ja yhdistetään sitten selvätekstiin (salausta varten) tai salatekstiin (salauksen purkua varten). Yleisimmässä muodossa käytetään binäärilukuja (bittejä), ja avainvirta yhdistetään selkotekstiin käyttämällä eksklusiivista tai -operaatiota (XOR). Tätä kutsutaan binääriseksi additiiviseksi virtasalakirjoitukseksi.

Synkronisessa virtasalakirjoituksessa lähettäjän ja vastaanottajan on oltava synkronissa, jotta salauksen purkaminen onnistuu. Jos viestiin lisätään tai poistetaan numeroita lähetyksen aikana, synkronointi katoaa. Synkronoinnin palauttamiseksi voidaan kokeilla systemaattisesti erilaisia siirtoja oikean dekoodauksen saamiseksi. Toinen lähestymistapa on merkitä salausteksti merkinnöillä säännöllisissä kohdissa tulostetta.

Jos kuitenkin jokin numero korruptoituu siirron aikana, eikä sitä ole lisätty tai kadonnut, virhe vaikuttaa vain yksittäiseen numeroon selväkielisessä tekstissä, eikä virhe leviä viestin muihin osiin. Tämä ominaisuus on hyödyllinen, kun lähetysvirheiden määrä on suuri, mutta se vähentää kuitenkin todennäköisyyttä, että virhe havaittaisiin ilman muita mekanismeja. Lisäksi tämän ominaisuuden vuoksi synkroniset virtasalakirjoittajat ovat hyvin alttiita aktiivisillehyökkäyksille - jos hyökkääjä pystyy muuttamaan salatekstin numeroa, hän saattaa pystyä tekemään ennustettavissa olevia muutoksia vastaavaan selkotekstin bittiin; esimerkiksi bitin kääntäminen salatekstissä aiheuttaa saman bitin kääntämisen (Toggled) selkotekstissä.

Itsesynkronoituvat virtasalakirjoitukset

Itsesynkronoituvat virtasalakirjoitukset ovat toinen tekniikka, jossa osa edellisen N salaustekstin numeroista käytetään avainvirran laskemiseen. Tällaisia järjestelmiä kutsutaan myös asynkronisiksi virta-salauksiksi tai salatekstin automaattiseksi avaimeksi (CTAK). Itsesynkronoinnin idea patentoitiin vuonna 1946, ja sen etuna on, että vastaanotin synkronoituu automaattisesti avainvirran generaattorin kanssa saatuaan N salatekstin numeroa, mikä helpottaa palautusta, jos numeroita on pudotettu tai lisätty viestivirtaan. Yhden numeron virheiden vaikutus on rajallinen, sillä ne vaikuttavat vain N:ään selkotekstin numeroon asti. Aktiivisten hyökkäysten suorittaminen itsesynkronoiviin virtauskoodereihin on hieman vaikeampaa kuin synkronoiviin vastaaviin koodereihin.

Esimerkki itsesynkronoivasta virtasalakirjoituksesta on lohkosalakirjoitus salakirjoitusvirtapalautteella (CFB).

Lineaariseen takaisinkytkentään perustuvat siirtorekisteripohjaiset virtasalakirjoitukset

Binäärivirran salakirjoituksissa käytetään usein lineaarisen takaisinkytkennän siirtorekistereitä (linear feedback shift registers, LFSR), koska ne on helppo toteuttaa laitteistolla ja ne voidaan analysoida nopeasti matemaattisesti. Pelkästään LFSR:ien käyttö ei kuitenkaan riitä hyvään tietoturvaan. LFSR:ien turvallisuuden lisäämiseksi on suunniteltu erilaisia järjestelmiä.

Epälineaariset yhdistävät funktiot

Koska LFSR:t ovat luonnostaan lineaarisia, yksi tekniikka lineaarisuuden poistamiseksi on syöttää rinnakkaisten LFSR:ien ryhmän ulostulot epälineaariseen Boolen funktioon yhdistelmägeneraattorin muodostamiseksi. Tällaisen yhdistelmäfunktion erilaiset ominaisuudet ovat tärkeitä tuloksena syntyvän järjestelmän turvallisuuden varmistamiseksi, esimerkiksi korrelaatiohyökkäysten välttämiseksi.

Kello-ohjatut generaattorit

Normaalisti LFSR:t astuvat säännöllisesti. Yksi tekniikka epälineaarisuuden aikaansaamiseksi on se, että LFSR:ää tahdistetaan epäsäännöllisesti toisen LFSR:n ulostulon ohjaamana. Tällaisia generaattoreita ovat esimerkiksi stop-and-go -generaattori, vaihtuvan askeleen generaattori ja kutistumisgeneraattori.

Stop-and-go -generaattori (Beth ja Piper, 1984) koostuu kahdesta LFSR:stä. Toista LFSR:ää kellotetaan, jos toisen LFSR:n ulostulo on "1", muuten se toistaa edellisen ulostulonsa. Tämän jälkeen (joissakin versioissa) tämä ulostulo yhdistetään kolmannen LFSR:n ulostuloon, jota kellotetaan säännöllisellä tahdilla.

Kutistumisgeneraattori käyttää eri tekniikkaa. Käytetään kahta LFSR:ää, jotka molemmat tahdistetaan säännöllisesti seuraavalla tavalla:

  1. Jos ensimmäisen LFSR:n ulostulo on "1", toisen LFSR:n ulostulosta tulee generaattorin ulostulo.
  2. Jos ensimmäisen LFSR:n ulostulo on "0", toisen LFSR:n ulostulo hylätään, eikä generaattori anna yhtään bittiä.

Tämä tekniikka kärsii toiseen generaattoriin kohdistuvista ajoitushyökkäyksistä, koska ulostulon nopeus muuttuu tavalla, joka riippuu toisen generaattorin tilasta. Tätä voidaan parantaa puskuroimalla ulostulo.

Suodattimen generaattori

Toinen tapa parantaa LFSR:n turvallisuutta on siirtää yhden LFSR:n koko tila epälineaariseen suodatusfunktioon.

Muut mallit

Lineaarisen ajolaitteen sijasta voidaan käyttää epälineaarista päivitysfunktiota. Esimerkiksi Klimov ja Shamir ehdottivat kolmiomaisia funktioita (T-funktioita), joilla on yksi sykli n-bittisille sanoille.

Turvallisuus

Jotta avainvirta olisi turvallinen, sen jakson (numeroiden määrä, joka tulostuu ennen kuin virta toistuu) on oltava riittävän suuri. Jos jakso toistuu, päällekkäiset salakirjoitustekstit voidaan sovittaa toisiinsa "syvyydellä", ja on olemassa tekniikoita, joiden avulla selkoteksti voidaan poimia näillä menetelmillä tuotetuista salakirjoitusteksteistä.

Käyttö

Virtamuunnoksia käytetään usein sovelluksissa, joissa selkotekstiä on määrällisesti tuntemattoman pituisia määriä, kuten suojatuissa langattomissa yhteyksissä. Jos lohkosalakirjoitusta käytettäisiin tämäntyyppisissä sovelluksissa, suunnittelijan olisi valittava joko siirtotehokkuus tai toteutuksen monimutkaisuus, koska lohkosalakirjoittajat eivät voi suoraan käsitellä lohkokokoa lyhyempiä lohkoja. Jos esimerkiksi 128-bittinen lohkosalauslaite vastaanottaa erillisiä 32-bittisiä selkotekstipätkiä, kolme neljäsosaa lähetetystä datasta tarvitsee täytettä. Lohkosalakirjoituksia on käytettävä salatun tekstin varastamisen tai jäljelle jäävän lohkon lopetustilassa, jotta pehmusteiden lisääminen voidaan välttää, kun taas virtasalakirjoitukset poistavat tämän ongelman toimimalla pienimmällä lähetetyllä yksiköllä (yleensä tavuilla).

Virtapiirien etuna sotilassalauksessa on myös se, että salausvirta voidaan luoda salauslaitteella, johon sovelletaan tiukkoja turvatoimia, ja syöttää sitten muille laitteille, esimerkiksi radiolaitteelle, jotka suorittavat xor-operaation osana toimintaansa. Toinen laite voidaan suunnitella käytettäväksi vähemmän turvallisissa ympäristöissä.

RC4 on ohjelmistoissa yleisimmin käytetty virran salausmenetelmä: A5/1, A5/2, Chameleon, FISH, Helix, ISAAC, MUGI, Panama, Phelix, Pike, SEAL, SOBER, SOBER-128 ja WAKE.

RC4 on yksi yleisimmin käytetyistä virran salausmalleista.Zoom
RC4 on yksi yleisimmin käytetyistä virran salausmalleista.

Virtaussalausten vertailu

StreamCipher

CreationDate

Nopeus
(sykliä/tavu)

(bittiä)

Hyökkäys

Tehokas
Avaimen pituus

Aloitusvektori

InternalState

Parhaiten tunnettu

ComputationalComplexity

A5/1

1989

Puhe (Wphone)

54

114

64

Aktiivinen KPA TAI
KPA:n aika-muisti kompromissi

~2 sekuntia OR239.91

A5/2

1989

Puhe (Wphone)

54

114

64?

Aktiivinen

4,6 millisekuntia

KALAT

1993

Melko nopea (Wsoft)

Valtava

Tunnetun tekstin hyökkäys

211

Vilja

Ennen vuotta 2004

Nopea

80

64

160

Avain-derivointi

243

HC-256

Ennen vuotta 2004

4 (WP4)

256

256

65536

ISAAC

1996

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

8-8288 yleensä
40-256

N/A

8288

(2006) Ensimmäisen kierroksen heikko sisäinen valtion sisäinen eroaminen

4.67×101240 (2001)

MUGI

1998-2002

128

128

1216

N/A (2002)

~282

PANAMA

1998

2

256

128?

1216?

Hash Collisions (2001)

282

Phelix

Ennen vuotta 2004

enintään 8 (Wx86)

256 + 128-bittinen nonce

128?

Differentiaali (2006)

237

Pike

1994

0,9 x FISH (Wsoft)

Valtava

N/A (2004)

N/A (2004)

Py

Ennen vuotta 2004

2.6

8-2048?
yleensä 40-256?

64

8320

Kryptoanalyyttinen teoria (2006)

275

Kani

2003-helmikuu

3.7(WP3)-9.7(WARM7)

128

64

512

N/A (2006)

N/A (2006)

RC4

1987

Vaikuttava

8-2048 tavallisesti
40-256

8

2064

Shamir Initial-Bytes Key-Derivation OR KPA KPA

213 OR 233

Salsa20

Ennen vuotta 2004

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

128 + 64-bittinen nonce

512

512 + 384 (avain+IV+indeksi)

Differentiaali (2005)

N/A (2005)

Scream

2002

4 - 5 (Wsoft)

128 + 128-bittinen nonce

32?

64-bittinen kierrosfunktio

SEAL

1997

Erittäin nopea (W32-bit)

32?

LUMI

Ennen vuotta 2003

Erittäin hyvä (W32-bit)

128 TAI 256

32

SOBER-128

2003

jopa 128

Viesti Forge

2−6

SOSEMANUK

Ennen vuotta 2004

Erittäin hyvä (W32-bit)

128

128

Trivium

Ennen vuotta 2004

4 (Wx86) - 8 (WLG)

80

80

288

Brute force -hyökkäys (2006)

2135

Turing

2000-2003

5.5 (Wx86)

160

LIIVI

2005

42 (WASIC) -64 (WFPGA)

Vaihtelee yleensä
80-256

Vaihtelee yleensä
80-256

256 - 800

N/A (2006)

N/A (2006)

WAKE

1993

Nopea

8192

CPA & CCA

Haavoittuva

StreamCipher

CreationDate

Nopeus
(sykliä/tavu)

(bittiä)

Hyökkäys

Tehokas
Avaimen pituus

Aloitusvektori

InternalState

Parhaiten tunnettu

ComputationalComplexity

Aiheeseen liittyvät sivut

  • eSTREAM

Kysymyksiä ja vastauksia

K: Mikä on virran salaus?


V: Virta-salaus on symmetrisen avaimen salaus, jossa selkotekstin bitit yhdistetään pseudosatunnaiseen salausbittien virtaan (avainvirtaan) käyttämällä eksklusiivista tai (xor) -operaatiota.

K: Miten se eroaa lohkosalauksista?


V: Virtasalakirjoitukset toimivat yleensä nopeammin kuin lohkosalakirjoitukset, ja niiden laitteistovaatimukset ovat alhaisemmat. Lohkosalakirjoittajat toimivat suurilla kiinteän pituisilla lohkoilla, kun taas virtasalakirjoittajat salakirjoittavat numeroita yksi kerrallaan ja peräkkäisten numeroiden muunnos vaihtelee salaustilan aikana.

Kysymys: Minkälaisia avaimia käytetään?


V: Virtasalaimet käyttävät paljon pienempiä ja kätevämpiä salausavaimia, esimerkiksi 128-bittisiä avaimia.

K: Miten se luo avainvirran?


V: Avainjono luodaan käytetyn salausavaimen perusteella samalla tavalla kuin one-time pad -salausalgoritmi. Koska avainvirta on kuitenkin pseudosatunnainen eikä aidosti satunnainen, one-time pad -menetelmään liittyvää turvallisuutta ei voida soveltaa.

Kysymys: Miksi samaa alkutilaa ei saa koskaan käyttää kahdesti?


V: Saman alkutilan käyttäminen kahdesti voi johtaa vakaviin tietoturvaongelmiin, sillä hyökkääjien on helpompi purkaa tiedot tietämättä salausavaimesta tai saamatta sitä käyttöönsä.

K: Liittyykö virtasalakirjoitusten käyttöön riskejä?


V: Kyllä, jos niitä käytetään väärin tai ilman asianmukaisia varotoimia, virtauskoodereiden käyttöön liittyy riski, sillä ne voivat olla täysin turvattomia, jos niitä ei käsitellä oikein.

AlegsaOnline.com - 2020 / 2023 - License CC3