Teknologian jakaminen

[Salaus] Virtasalauksen peruskäsitteet

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Ennen kuin otamme käyttöön stream-salaukset, meidän on ensin ymmärrettävä perusedellytystietopiste-XOR-toiminto.

1. Yksinomainen TAI-toiminto (XOR)

Toimintasäännöt: Sama kuin 0, erilainen kuin 1

Ominaisuudet: Yksi bitti XOR-korjataan kahdesti ja voidaan palauttaa alkuperäiseen bittiin.

Pelkkä teksti: 1100

Avain: 0101 (salattu)

Salausteksti: 1001

Avain: 0101 (salauksen purku)

Pelkkä teksti: 1100

etu:Tämä palautuvuus mahdollistaa XOR-operaation käytön sekä salaus- että salauksenpurkumuunnoksissa.

puute:Jos hyökkääjä voi arvata tai kaapata avaimen, se voidaan helposti purkaa XOR:n avulla.

Syy siihen, miksi XOR-toimintoa voidaan käyttää samanaikaisesti salaukseen ja salauksen purkamiseen, on sen käännettävyys, mutta tämä on myös sen puute Turvallisuus perustuu täysin avainten piilottamiseen.

2. Kerta-algoritmi (OTP)

(1) Määritelmä

One-Time Pad (OTP) on stream-salausalgoritmi, jota pidetään yhtenä teoriassa turvallisimmista salausmenetelmistä edellyttäen, että sen toteutus noudattaa tarkasti useita keskeisiä periaatteita:

1.  Avaimen on oltava yhtä pitkä kuin pelkkä teksti: Tämä tarkoittaa, että jokainen salaus käyttää avainta, joka on täsmälleen yhtä pitkä kuin salattava viesti.

2.  Avaimen on oltava todella satunnainen: Avaimen jokainen bitti tulee luoda satunnaisesti, ilman kaavaa tai ennustettavuutta.

3.  Avainta saa käyttää vain kerran: Samaa avainta ei saa käyttää useiden viestien salaamiseen, muuten salatekstien välisestä korrelaatiosta voidaan päätellä viestin sisältö.

4.  Avain on pidettävä salassa: Avainten jakelun ja tallennuksen on oltava erittäin turvallista, jotta kolmannet osapuolet eivät pääse niihin käsiksi.

(2) Edut ja haitat

etu:

  • Avain luodaan satunnaisesti ja sitä käytetään vain kerran
  • Ehdottoman turvallinen
  • Salaus ja salauksen purku ovat lisätoimintoja, jotka ovat tehokkaampia.

puute:

  • Avaimen pituus on vähintään yhtä pitkä kuin pelkkä teksti, mikä tekee avainten jakamisesta vaikeaa ja epäkäytännöllistä.

3. Virtasalauksen määritelmä

Kun ihmiset tutkivat kertakäyttöisiä salausalgoritmeja, he yrittävät ratkaista avainten hallinnan ja pituuden ongelmia. Jos oli tapa luoda kaikki avaimet selkeän tekstin salaamiseen antamalla vain pieni osa avaimesta, virtasalaukset kehitettiin tämän idean perusteella.

(1) Perusidea virtasalauksesta

         Virtasalauksessa pientä avainta (kutsutaan usein siemen- tai alustusvektoriksi) käytetään näennäissatunnaisten lukujen generaattorin (PRNG) kautta luomaan näennäissatunnainen avainvirta, joka on samanpituinen kuin selväteksti. Tämä avainvirta XOR-koodataan sitten tavallisen tekstin kanssa salatekstin tuottamiseksi. Samoin salauksen purkuprosessi on XOR-salatekstin XOR-toiminto samalla avainvirralla selkeän tekstin palauttamiseksi.

avain kluoda avainvirran z=z_0z_1z_2...Ja vertaa pelkkää tekstiä olevia merkkijonoja seuraavien sääntöjen avulla x=x_0x_1x_2...Salaus:
y=y_0y_1y_2...=Ez_0(x_0)Ez_1(x_1)Ez_2(x_2)...

Lineaarista palautesiirtorekisteriä käytetään yleensä pseudosatunnaisten avainten muodostamiseen. Periaatteesta ei tässä keskustella.

(2) Algoritmiprosessi

Salaus- ja salauksenpurkuprosessi voidaan kuvata seuraavasti:

  • Avainvirran luominen: Sekä salaus- että salauksenpurkuosapuolet käyttävät samaa avainta ja alustusvektoria (IV) pseudosatunnaislukugeneraattorin (PRNG) alustamiseen. PRNG luo sarjan näennäissatunnaisia ​​bittejä sisäisen tilansa perusteella muodostaakseen avainvirran.
  • Salausprosessi: Lähettäjä suorittaa bittikohtaisen poissulkevan TAI (XOR) -operaation luodulle avainvirralle ja tavalliselle tekstille salatekstin saamiseksi. XOR-operaation luonteesta johtuen sama operaatio on käännettävissä eri biteillä.
  • Salauksen purkuprosessi: Vastaanotin alustaa PRNG:n uudelleen samalla avaimella ja IV:llä ja luo saman avainvirran kuin salattuna. Vastaanotin suorittaa sitten XOR-operaation salatekstille ja avainvirralle palauttaakseen alkuperäisen selkeän tekstin.

(3) Stream-salauksen suunnitteluperiaatteet

Virtasalausten suunnitteluperiaatteet todella keskittyvät luomaan avainvirtageneraattori, joka voi tuottaa avainvirran tietyillä suojausominaisuuksilla. Avainvirtasekvenssillä tulee olla seuraavat ominaisuudet:

  1. valtava sykli : Avainvirran jakson tulee olla riittävän pitkä, jotta estetään avainvirran saman segmentin uudelleenkäyttö, mikä paljastaisi salatussa datassa olevia malleja ja antaisi kryptaanalyytikoille mahdollisuuden suorittaa hyökkäyksiä vertaamalla eri viestien yhtäläisyyksiä ja eroja. Teoreettisesti n-bittiselle avainavaruudelle ihanteellisen syklin pituuden tulisi olla 2n-1. Käytännössä pidemmät ajanjaksot tarkoittavat sitä, että avainvirta toistetaan harvemmin, mikä lisää kryptojärjestelmän turvallisuutta.

  2. hyvät tilastolliset ominaisuudet : Avainvirran tulee näyttää todella satunnaiselta bittisarjalta, mikä tarkoittaa, että sen tulee täyttää erilaiset tilastolliset testit, kuten 0:n ja 1:n tasainen jakautuminen, kahden tai useamman peräkkäisen bitin riippumattomuus, eikä ennustettuja kuvioita tai jaksollisuuksia. Hyvät tilastolliset ominaisuudet auttavat varmistamaan avainvirran arvaamattomuuden, mikä on tärkeä osa tietovirran salausturvaa.

  3. Lineaarisen analyysin vastustuskyky : Virtasalauksen tulee kestää lineaarista analyysiä, jossa kryptanalyytikko yrittää palauttaa avaimen tai selkeän tekstin löytämällä lineaarisen korrelaation avainvirran ja selkeän tekstin tai salatekstin välillä. Tämä edellyttää yleensä, että avainvirtageneraattorin lähtö on epälineaarinen tai ainakin sisältää tarpeeksi epälineaarisia komponentteja, jotta yksinkertaiset lineaariset järjestelmän ratkaisumenetelmät eivät päättele avainvirtaa tai itse avainta.