Lohkosalauksen toimintatila

Authenticated encryption with additional data (AEAD) -tilat Muokkaa

Pääartikkeli: Todennettu salaus

Esimerkiksi on suunniteltu useita toimintatapoja, joissa salaus ja todentaminen yhdistetään yhdeksi kryptografiseksi primitiiviksi. Esimerkkejä tällaisista tiloista ovat laajennettu salauslohkoketju (XCBC), eheysajatteleva salauslohkoketju (IACBC), eheysajatteleva rinnakkaistoimintatila (IAPM), OCB, EAX, CWC, CCM ja GCM. Tunnistetut salausmuodot luokitellaan yksisuuntaisiin ja kaksisuuntaisiin salausmuotoihin. Joitakin yhden läpiviennin autentikoituja salausalgoritmeja, kuten OCB-tilaa, rasittavat patentit, kun taas toiset on erityisesti suunniteltu ja julkaistu siten, että tällaiset rasitukset on voitu välttää.

Lisäksi jotkin tilat mahdollistavat myös salaamattoman liitetyn datan autentikoinnin, ja näitä kutsutaan AEAD-järjestelmiksi (authenticated encryption with associated data). Esimerkiksi EAX-tila on kaksivaiheinen AEAD-järjestelmä, kun taas OCB-tila on yksivaiheinen.

Galois/counter (GCM)Edit

GCM

Galois/counter

Kryptaus rinnakkaistettavissa

Kyllä

.

Salauksen purku rinnakkaistettavissa

Kyllä

Sattumanvarainen lukukäyttö

Kyllä

Galois/counter -tilassa (GCM) yhdistyvät hyvin-tunnetun salausmenetelmän laskurimoodin ja uuden todentamismenetelmän Galois-moodin. Keskeinen ominaisuus on todennuksessa käytettävän Galois-kentän kertolaskun helppous rinnakkaislaskennassa. Tämä ominaisuus mahdollistaa suuremman läpimenon kuin salausalgoritmit.

GCM on määritelty lohkosalauksille, joiden lohkokoko on 128 bittiä. Galois message authentication code (GMAC) on GCM:n pelkkä autentikointimuunnos, joka voi muodostaa inkrementaalisen viestin autentikointikoodin. Sekä GCM että GMAC voivat hyväksyä mielivaltaisen pituisia alustusvektoreita. GCM:ssä voidaan hyödyntää rinnakkaiskäsittelyä täysimääräisesti, ja GCM:n toteuttamisessa voidaan hyödyntää tehokkaasti käsky- tai laitteistoputkea. CBC-toimintatapa aiheuttaa putkistopysähdyksiä, jotka haittaavat sen tehokkuutta ja suorituskykyä.

Kuten CTR:ssä, lohkot numeroidaan juoksevasti, minkä jälkeen tämä lohkonumero yhdistetään IV:hen ja salataan lohkosalakirjoitin E:llä, yleensä AES:llä. Tämän salauksen tulos XORoidaan sitten selkotekstin kanssa, jolloin saadaan salattu teksti. Kuten kaikki laskentatilat, tämäkin on pohjimmiltaan virtasalaus, joten on tärkeää, että jokaiselle salattavalle virralle käytetään eri IV:tä.

Salaustekstilohkoja pidetään polynomin kertoimina, jotka sitten arvioidaan avaimesta riippuvassa pisteessä H käyttäen äärellisen kentän aritmetiikkaa. Tämän jälkeen tulos salataan, jolloin saadaan todentamistunniste, jota voidaan käyttää tietojen eheyden tarkistamiseen. Salattu teksti sisältää sitten IV:n, salaustekstin ja todennustunnisteen.

Counter with cipher block chaining message authentication code (CCM)Edit

Counter with cipher block chaining message authentication code (counter with CBC-MAC; CCM) on todennettu salausalgoritmi, joka on suunniteltu tarjoamaan sekä todennuksen että luottamuksellisuuden. CCM-tila on määritelty vain lohkosalakirjoituksille, joiden lohkon pituus on 128 bittiä.

Synteettinen alustusvektori (SIV)Edit

Synteettinen alustusvektori (SIV) on nonce-väärinkäytön kestävä lohkosalakirjoitustila.

SIV syntetisoi sisäisen IV:n käyttämällä pseudosatunnaisfunktiota S2V. S2V on CMAC:iin perustuva avaimellinen hash, ja funktion syötteenä on:

  • Lisäksi todennettua dataa (tuetaan nolla, yksi tai monta AAD-kenttää)
  • Plaintext
  • Todennusavain (K1).

SIV salaa S2V-ulostulon ja selkotekstin AES-CTR:llä salausavaimella (K2).

SIV voi tukea ulkoista nonce-pohjaista autentikoitua salausta, jolloin yhtä autentikoidun datan kenttää hyödynnetään tähän tarkoitukseen. RFC5297 määrittelee, että yhteentoimivuuden vuoksi viimeistä todennettua tietokenttää tulisi käyttää ulkoisena nonce-kenttänä.

Kahden avaimen, todennusavaimen K1 ja salausavaimen K2, käytön vuoksi SIV AEAD-muunnosten nimitysjärjestelmät voivat aiheuttaa sekaannusta; esimerkiksi AEAD_AES_SIV_CMAC_256 viittaa AES-SIV:iin, jossa on kaksi AES-128-avainta eikä AES-256.

AES-GCM-SIVEdit

AES-GCM-SIV on Advanced Encryption Standardin toimintatapa, joka tarjoaa samanlaisen suorituskyvyn kuin Galois/counter-tila sekä väärinkäytönkestävyyden, jos kryptografista noncea käytetään uudelleen. Rakenne on määritelty RFC 8452:ssa.

AES-GCM-SIV syntetisoi sisäisen IV:n. Se johtaa ylimääräisen todennetun datan ja selkotekstin hashin käyttäen POLYVAL-Galois’n hash-funktiota. Tämän jälkeen hash salataan AES-avaimella, ja sitä käytetään todennustunnisteena ja AES-CTR-alkuistamisvektorina.

AES-GCM-SIV on parannus hyvin samannimiseen algoritmiin GCM-SIV, jossa on muutamia hyvin pieniä muutoksia (esim. miten AES-CTR alustetaan), mutta jotka tuottavat käytännön hyötyjä sen turvallisuuteen ”Tämä lisäys mahdollistaa jopa 250 viestin salaamisen samalla avaimella, verrattuna GCM-SIV:n sallimaan merkittävään rajoitukseen, jonka mukaan GCM-SIV:llä voitiin salata vain 232 viestiä.”

Vain luottamuksellisuus -tilatMuutos

Monia toimintatapoja on määritelty. Jotkin näistä on kuvattu alla. Salakirjoitustilojen tarkoituksena on peittää salatussa datassa esiintyvät kuviot, kuten EKP:n heikkouden kuvauksessa havainnollistetaan.

Erilaiset salakirjoitustilat peittävät kuviot kaskadoimalla salakirjoituslohkon tai muiden globaalisti determinististen muuttujien ulostuloja seuraavaan salakirjoituslohkoon. Seuraavassa taulukossa on yhteenveto lueteltujen salakirjoitustilojen tuloista:

Tilojen yhteenveto
Tila Muodot Salausteksti
Elektroninen salakirjoituskirja (ECB) Yi = F(PlainTexti, Key) Yi
Cipher block chaining (CBC) Yi = PlainTexti XOR Ciphertexti-1 F(Y, Key); Ciphertext0 = IV
Propagating CBC (PCBC) Yi = PlainTexti XOR (Ciphertexti-1 XOR PlainTexti-1) F(Y, Key); Ciphertext0 = IV
Cipher feedback (CFB) Yi = Ciphertexti-1 Plaintext XOR F(Y, Key); Salausteksti0 = IV
Salaustekstin palaute (OFB) Yi = F(Yi-1, avain); Y0 = F(IV, Key) Plaintext XOR Yi
Laskuri (CTR) Yi = F(IV + g(i), Key); IV = token() Plaintext XOR Yi

Note: g(i) on mikä tahansa deterministinen funktio, usein identiteettifunktio.

Elektroninen koodikirja (ECB)Edit

ECB

Elektroninen koodikirja

Kryptaus rinnakkaistettavissa

Kyllä

Kryptaus rinnakkaistettavissa

.

Kyllä

Sattumanvarainen lukukäyttö

Kyllä

Salaustiloista yksinkertaisin on elektroninen koodikirja (electronic codebook, ECB) (nimetty perinteisten fyysisten koodikirjojen mukaan). Viesti jaetaan lohkoihin, ja jokainen lohko salataan erikseen.

Tämän menetelmän haittapuolena on diffuusion puute. Koska EKP salaa identtiset selkotekstilohkot identtisiksi salatekstilohkoiksi, se ei piilota datakuvioita hyvin.EKP:tä ei suositella käytettäväksi salausprotokollissa.

Erin silmiinpistävä esimerkki siitä, missä määrin EKP:llä voidaan jättää selkotekstin datakuvioita salatekstiin, on nähtävissä, kun EKP-tilaa käytetään sellaisen bittikarttakuvan salaamiseen, jossa käytetään laajoja yhtenäisen värisiä alueita. Vaikka jokaisen yksittäisen pikselin väri salataan, kokonaiskuva voidaan silti havaita, koska alkuperäisen kuvan samansävyisten pikselien kuvio säilyy salatussa versiossa.

Alkuperäinen kuva

Salattu käyttäen ECB-tilaa

Muut tilat kuin ECB johtavat pseudosattumanvaraisuuteen

Kolmannessa kuvassa on esitetty, millaiselta kuva saattaisi näyttää CBC:llä salattuna, CTR:llä tai jollakin muulla turvallisemmalla moodilla – erotettavissa satunnaisesta kohinasta. Huomaa, että kolmannen kuvan satunnainen ulkonäkö ei takaa, että kuva on salattu turvallisesti; on kehitetty monia turvattomia salausmenetelmiä, jotka tuottavat yhtä ”satunnaiselta” näyttävän tuloksen.

ECB-tila voi myös tehdä pöytäkirjoista, joissa ei ole eheyssuojausta, vieläkin alttiimpia toistohyökkäyksille, koska jokainen lohko puretaan täsmälleen samalla tavalla.

Salakirjoituslohkojen ketjutus (CBC)Muokkaa

CBC

Salakirjoituslohkojen ketjutus

Kryptaus rinnakkaistettavissa

.

Ei

Salauksen purku rinnakkaistettavissa

Kyllä

Sattumanvarainen lukuoikeus

Kyllä

Ehrsam, Meyer, Smith ja Tuchman keksivät CBC-toimintatavan (cipher block chaining) vuonna 1976. CBC-tilassa jokainen selkotekstilohko XORoidaan edellisen salatekstilohkon kanssa ennen salausta. Näin jokainen salatun tekstin lohko riippuu kaikista siihen asti käsitellyistä selkotekstilohkoista. Jotta jokainen viesti olisi yksilöllinen, ensimmäisessä lohkossa on käytettävä alustusvektoria.

Jos ensimmäisellä lohkolla on indeksi 1, CBC-salauksen matemaattinen kaava on

C i = E K ( P i ⊕ C i ⊕ C i – 1 ) , {\displaystyle C_{i}=E_{K}(P_{i}\oplus C_{i-1}),}

C 0 = I V , {\displaystyle C_{0}=IV,}

kun taas matemaattinen kaava CBC-purkua varten on

P i = D K ( C i ) ⊕ C i – 1 , {\displaystyle P_{i}=D_{K}(C_{i})\oplus C_{i-1},}

C 0 = I V . {\displaystyle C_{0}=IV.}

ExampleEdit

CBC on ollut yleisimmin käytetty toimintatapa. Sen suurimmat haitat ovat, että salaus on peräkkäistä (eli sitä ei voi rinnakkaistaa) ja että viesti on täytettävä salauslohkon koon moninkertaiseksi. Yksi tapa käsitellä viimeksi mainittua ongelmaa on salakirjoitustekstin varastaminen. Huomaa, että yhden bitin muutos selkotekstissä tai alustusvektorissa (IV) vaikuttaa kaikkiin seuraaviin salatekstilohkoihin.

Väärällä IV:llä purkaminen aiheuttaa sen, että ensimmäinen selkotekstilohko on korruptoitunut, mutta seuraavat selkotekstilohkot ovat oikein. Tämä johtuu siitä, että kukin lohko XORoidaan edellisen lohkon salaustekstin, ei selkotekstin, kanssa, joten edellistä lohkoa ei tarvitse purkaa ennen kuin sitä käytetään IV:nä nykyisen lohkon salauksen purkamiseen. Tämä tarkoittaa, että selkotekstilohko voidaan palauttaa kahdesta vierekkäisestä salatekstilohkosta. Näin ollen salauksen purku voidaan rinnakkaistaa. Huomaa, että yhden bitin muutos salatekstissä aiheuttaa vastaavan selkotekstilohkon täydellisen turmeltumisen ja kääntää vastaavan bitin seuraavassa selkotekstilohkossa, mutta muut lohkot säilyvät ehjinä. Tätä erityispiirrettä hyödynnetään erilaisissa padding oracle -hyökkäyksissä, kuten POODLE.

Explicit initialization vectors hyödyntää tätä ominaisuutta lisäämällä yhden satunnaisen lohkon selkotekstiin. Salaus tapahtuu normaalisti, paitsi että IV:tä ei tarvitse välittää salauksen purkurutiinille. Riippumatta siitä, mitä IV:tä salauksen purku käyttää, vain satunnaislohko ”turmeltuu”. Se voidaan turvallisesti hävittää, ja loput salauksen purkamisen tuloksista ovat alkuperäistä selkotekstiä.

Propagating cipher block chaining (PCBC)Edit

PCBC

Propagating cipher block chaining

Kryptaus rinnakkaistettavissa

.

Ei

Salauksen purku rinnakkaistettavissa

Ei

Sattumanvarainen lukupääsy

Ei

Laajeneva salakirjoituslohkoketjuuntuminen tai selkotekstin salakirjoitus-lohkoketjutustila suunniteltiin siten, että salakirjoitustekstin pienet muutokset leviävät loputtomiin salakirjoitusta purettaessa, sekä salattaessa. PCBC-tilassa jokainen selkotekstilohko XORoidaan sekä edellisen selkotekstilohkon että edellisen salakirjoituslohkon kanssa ennen salausta. Kuten CBC-tilassa, ensimmäisessä lohkossa käytetään alustusvektoria.

Salaus- ja purkualgoritmit ovat seuraavat:

C i = E K ( P i ⊕ P i – 1 ⊕ C i – 1 ) , P 0 ⊕ C 0 = I V , {\displaystyle C_{i}=E_{K}(P_{i}\oplus P_{i-1}\oplus C_{i-1}),P_{0}\oplus C_{0}=IV,}

P i = D K ( C i ) ⊕ P i – 1 ⊕ C i – 1 , P 0 ⊕ C 0 = I V . {\displaystyle P_{i}=D_{K}(C_{i})\oplus P_{i-1}\oplus C_{i-1},P_{0}\oplus C_{0}=IV.}

PCBC:tä käytetään erityisesti Kerberos v4:ssä ja WASTE:ssa, mutta muuten se ei ole yleinen. PCBC-tilassa salatussa viestissä, jos kaksi vierekkäistä salatekstilohkoa vaihdetaan, tämä ei vaikuta seuraavien lohkojen salauksen purkamiseen. Tästä syystä PCBC:tä ei käytetä Kerberos v5:ssä.

Salauksen palaute (CFB) Muokkaa

Full-lohko CFBEdit

CFB

Salauksen palaute

Salaus rinnakkaistettavissa

Ei

Salauksen purku rinnakkaistettavissa

Kyllä

Sattumanvarainen lukukäyttö

Kyllä

Salauksen takaisinkytkentä (CFB), käyttää yksinkertaisimmillaan koko lohkosalakirjoituksen ulostuloa. Tässä muunnelmassa se on hyvin samankaltainen kuin CBC, tekee lohkosalakirjoituksesta itsesynkronoituvan virtasalakirjoituksen. CFB-purku tässä muunnelmassa on lähes identtinen CBC-salauksen kanssa, joka suoritetaan käänteisesti:

C i = { IV , i = 0 E K ( C i – 1 ) ⊕ P i , muuten P i = E K ( C i – 1 ) ⊕ C i , {\displaystyle {\begin{aligned}C_{i}&={\begin{cases}{\text{IV}},&i=0\\E_{K}(C_{i-1})\oplus P_{i},&{\text{otherwise}}\end{cases}}\\P_{i}&=E_{K}(C_{i-1})\oplus C_{i},\end{aligned}}}

CFB-1, CFB-8, CFB-64, CFB-128 jne Muokkaa

NIST SP800-38A määrittelee CFB:n bitinleveydellä. CFB-tila vaatii myös kokonaislukuparametrin, jota merkitään s, siten, että 1 ≤ s ≤ b. Alla olevassa CFB-tilan määrittelyssä jokainen selkotekstisegmentti (Pj) ja salatekstisegmentti (Cj) koostuu s bitistä. Joskus s:n arvo sisällytetään tilan nimeen, esimerkiksi 1-bittinen CFB-tila, 8-bittinen CFB-tila, 64-bittinen CFB-tila tai 128-bittinen CFB-tila.

Nämä tilat katkaisevat taustalla olevan lohkosalakirjoituksen tulosteen.

I 0 = IV . {\displaystyle I_{0}={\text{IV}}.}

I i = ( ( ( I i – 1 ≪ s ) + C i ) mod 2 b , {\displaystyle I_{i}={\big (}(I_{i-1}\ll s)+C_{i}{\big )}{\bmod {2}}}^{b},}

C i = MSB s ( E K ( I i – 1 ) ) ) ⊕ P i , {\displaystyle C_{i}=\operaattorinimi {MSB} _{s}{\big (}E_{K}(I_{i-1}){\big )}\oplus P_{i},}

P i = MSB s ( E K ( I i – 1 ) ) ) ⊕ C i , {\displaystyle P_{i}=\operaattorin nimi {MSB} _{s}{\big (}E_{K}(I_{i-1}){\big )}\oplus C_{i},}

CFB-1:n katsotaan olevan itsestään synkronoituva ja vastustuskykyinen salakirjoitustekstin katoamiselle; ”Kun käytetään 1-bittistä CFB-tilaa, niin synkronointi palautuu automaattisesti b + 1 asentoon lisätyn tai poistetun bitin jälkeen. Muilla s:n arvoilla CFB-tilassa ja muissa tämän suosituksen luottamuksellisuustiloissa synkronointi on palautettava ulkoisesti.” (NIST SP800-38A). Eli 1 bitin menetys 128 bitin laajuisessa lohkosalakirjoituksessa, kuten AES:ssä, tekee 129 epäkelpoista bittiä ennen kelvollisten bittien lähettämistä.

CFB voi myös itse synkronoida itsensä joissakin muissa kuin määritellyissä erikoistapauksissa. Esimerkiksi yhden bitin muutos CFB-128:ssa, jonka taustalla on 128-bittinen lohkosalaus, synkronoituu uudelleen kahden lohkon jälkeen. (CFB-128 jne. ei kuitenkaan käsittele bittien häviämistä hienovaraisesti; yhden bitin häviäminen aiheuttaa sen, että salauksen purkaja menettää linjauksen salaajan kanssa)

CFB verrattuna muihin moodeihinEdit

CBC-moodin tapaan selkotekstin muutokset leviävät ikuisesti salaustekstiin, eikä salausta voi rinnakkaistaa. Kuten CBC-tilassa, myös salauksen purku voidaan rinnakkaistaa.

CFB:llä, OFB:llä ja CTR:llä on kaksi yhteistä etua CBC-tilaan nähden: lohkosalakirjoitusta käytetään aina vain salaussuunnassa, eikä viestiä tarvitse pehmustaa salakirjoituslohkon koon moninkertaiseksi (tosin salakirjoitustekstin varastamista voidaan käyttää myös CBC-tilassa pehmustuksen tekemiseen tarpeettomaksi).

Lähtöpalaute (OFB)Muokkaa

OFB

Lähtöpalaute

Kryptaus rinnakkaistettavissa

Ei

Kryptaus. parallelizable

No

Random read access

No

The output feedback (OFB) mode makes a block cipher into a synchronous stream cipher. Se tuottaa avainvirtalohkoja, jotka sitten XOR-järjestetään selkotekstilohkojen kanssa salaustekstin saamiseksi. Aivan kuten muissakin virtasalakirjoituksissa, salakirjoitustekstin bitin kääntäminen tuottaa käännetyn bitin samassa paikassa olevaan selkotekstiin. Tämän ominaisuuden ansiosta monet virheenkorjauskoodit toimivat normaalisti myös silloin, kun niitä käytetään ennen salausta.

XOR-operaation symmetrisyyden vuoksi salaus ja salauksen purku ovat täsmälleen samanlaisia:

C j = P j ⊕ O j,}

P j = C j ⊕ O j,}

P j = C j ⊕ O j,}

P j = C j ⊕ O j,}

O j = E K ( I j ) , {\displaystyle O_{j}=E_{K}(I_{j}),}

I j = O j – 1 , {\displaystyle I_{j}=O_{j-1},}

I 0 = IV . {\displaystyle I_{0}={\text{IV}}.}

Jokainen ulostulon takaisinkytkentäinen lohkosalakirjoitusoperaatio riippuu kaikista edellisistä, joten sitä ei voi suorittaa rinnakkain. Koska selkotekstiä tai salakirjoitustekstiä käytetään kuitenkin vain viimeisessä XOR-operaatiossa, lohkosalausoperaatiot voidaan suorittaa etukäteen, jolloin viimeinen vaihe voidaan suorittaa rinnakkain, kun selkoteksti tai salakirjoitusteksti on käytettävissä.

On mahdollista saada OFB-tilassa oleva avainvirta käyttämällä CBC-tilaa, jossa syötteenä on vakiojono nollia. Tämä voi olla hyödyllistä, koska se mahdollistaa nopeiden CBC-moodin laitteistototeutusten käytön OFB-moodin salauksessa.

Käyttämällä OFB-moodia, jossa palautteena on osittainen lohko kuten CFB-moodissa, keskimääräinen syklin pituus lyhenee vähintään 232-kertaiseksi. Daviesin ja Parkinin ehdottama matemaattinen malli, joka on vahvistettu kokeellisilla tuloksilla, osoitti, että vain täydellä takaisinkytkennällä voidaan saavuttaa keskimääräinen syklin pituus, joka on lähellä saavutettavissa olevaa maksimipituutta. Tästä syystä lyhennetyn takaisinkytkennän tuki poistettiin OFB:n eritelmästä.

Laskuri (CTR)Muokkaa

CTR

Laskuri

Kryptaus rinnakkaistettavissa

.

Kyllä

Salauksen purku rinnakkaistettavissa

Kyllä

Satunnainen lukuoikeus

Kyllä

Huom: CTR-tila (CM) tunnetaan myös nimillä kokonaislukulaskuritila (ICM) ja segmentoitu kokonaislukulaskuritila (SIC).

Kuten OFB, laskuritila muuttaa lohkosalakirjoituksen virtasalakirjoitukseksi. Se luo seuraavan avainvirtalohkon salakirjoittamalla peräkkäisiä ”laskurin” arvoja. Laskuri voi olla mikä tahansa funktio, joka tuottaa sarjan, joka ei taatusti toistu pitkään aikaan, vaikkakin varsinainen yksi kerrallaan kasvava laskuri on yksinkertaisin ja suosituin. Yksinkertaisen deterministisen syöttöfunktion käyttö oli aiemmin kiistanalaista; kriitikot väittivät, että ”salausjärjestelmän altistaminen tarkoituksellisesti tunnetulle systemaattiselle syötteelle on tarpeeton riski”. Nykyään CTR-toiminto on kuitenkin laajalti hyväksytty, ja mahdollisia ongelmia pidetään taustalla olevan lohkosalakirjoituksen heikkoutena, jonka odotetaan olevan turvallinen riippumatta sen syötteen systemaattisesta vääristymästä. CTR-tila on CBC:n ohella yksi kahdesta Niels Fergusonin ja Bruce Schneierin suosittelemasta lohkosalakirjoitustilasta.

CTR-tilan esittivät Whitfield Diffie ja Martin Hellman vuonna 1979.

CTR-tila on ominaisuuksiltaan samankaltainen kuin OFB-tila, mutta se sallii myös satunnaiskäytön ominaisuuden salauksen purkamisen aikana. CTR-tila soveltuu hyvin käytettäväksi moniprosessorikoneessa, jossa lohkoja voidaan salata rinnakkain. Lisäksi se ei kärsi lyhyen syklin ongelmasta, joka voi vaikuttaa OFB:hen.

Jos IV/nonce on satunnainen, ne voidaan yhdistää laskurin kanssa millä tahansa invertoitavalla operaatiolla (ketjuttaminen, yhteenlasku tai XOR), jolloin saadaan varsinainen ainutkertainen laskurilohko salausta varten. Jos kyseessä on muu kuin satunnainen nonce (kuten pakettilaskuri), nonce ja laskuri on yhdistettävä (esim. tallentamalla nonce 128-bittisen laskurilohkon ylempiin 64 bittiin ja laskuri alempiin 64 bittiin). Pelkkä nonceen ja laskurin lisääminen tai XOR-toiminto yhdeksi arvoksi rikkoisi monissa tapauksissa turvallisuuden valittuun valetekstiin perustuvassa hyökkäyksessä, koska hyökkääjä voi manipuloida koko IV-laskuriparia törmäyksen aiheuttamiseksi. Kun hyökkääjä hallitsee IV-laskuriparia ja selkotekstiä, salatekstin ja tunnetun selkotekstin XOR-toiminto antaisi arvon, joka XOR-toiminnolla saman IV-laskuriparin jakavan toisen lohkon salatekstin kanssa purkaisi kyseisen lohkon salauksen.

Huomaa, että tässä kaaviossa nonce vastaa muissa kaavioissa käytettyä initiaatiovektoria (IV). Jos offset/sijaintitieto on kuitenkin vioittunut, tällaista tietoa on mahdotonta palauttaa osittain, koska se on riippuvainen tavun offsetista.

Vastaa

Sähköpostiosoitettasi ei julkaista.