Cryptology Academy · Oppitunti

CTR-tila ja lohkosalaimen toiminta suoratoistosalaimena

Käyttäkää laskurimoodia lohkosalaimen muuntamiseen avainvirtageneraattoriksi.

Oppitunti 3/413 vaihetta

CTR-tila ja lohkosalaimen toiminta suoratoistosalaimena on ilmainen Cryptology Academy-oppitunti CoddyKitissä. Tämä on oppitunti 3/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Cryptology Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Cryptology Academy-kurssilla on yhteensä 4 oppituntia.

Tervetuloa

Counter (CTR) -tila muuntaa minkä tahansa lohkosalauksen virtasalaukseksi. Se voidaan suorittaa rinnakkain, se ei vaadi täyttöä ja se muodostaa AES-GCM:n perustan. Opitaan se perusteellisesti.

CTR-tilan periaate

Avainvirta tuotetaan salaamalla peräkkäisiä laskuriarvoja: Keystream[i] = AES(K, Nonce || Counter_i) Ciphertext = Plaintext XOR Keystream Laskuria kasvatetaan jokaiselle lohkolle. Salauksen purku tapahtuu samalla tavalla kuin salaus.

CTR vs. CBC

CBC: peräkkäinen salaus (kukin lohko riippuu edellisestä). CTR: täysin rinnakkaistettava (kukin lohko on itsenäinen). Yhden gigatavun tiedostossa CTR voi käyttää kaikkia suorittimen ytimiä, CBC ei.

Täydennystä ei tarvita

CTR tuottaa minkä tahansa pituisen näennäissatunnaisen bittijonon. Selväkielinen teksti yhdistetään siihen tavu kerrallaan XOR-operaatiolla. 100 tavun viesti käyttää 100 tavua bittijonoa, joten täydennystä ei tarvita. Tämä sopii erinomaisesti suoratoistodatalle.

Noncen ja laskurin rakenne

Yleinen jako 128-bittiselle AES-lohkolle: - 64-bittinen satunnainen nonce (ainutkertainen viestiä kohden) - 64-bittinen laskuri (kasvaa jokaisen lohkon jälkeen) Toinen vaihtoehto on 96-bittinen nonce ja 32-bittinen laskuri (GCM-standardi). Noncen ainutkertaisuus on ratkaisevan tärkeää — (nonce, avain) -paria ei saa koskaan käyttää uudelleen.

CTR:n noncen uudelleenkäyttöhyökkäys

Sama (avain, nonce) tuottaa CTR-tilassa saman bittijonon. Kun kaksi eri viestiä salataan: C1 XOR C2 = P1 XOR P2. Tämä on sama kuin monta kertaa käytettävän kerta-avaimen hyökkäys. Seurauksena on katastrofaalinen tietovuoto.

CTR:n satunnaiskäyttö

CTR mahdollistaa satunnaiskäytön: lohkon 1000 purkamiseksi lasketaan suoraan AES(K, Nonce || 1000). Aiempiin lohkoihin ei tarvitse soveltaa salauksen purkua. Tämä sopii erinomaisesti tietokantoihin ja levyn salaukseen (yhdistettynä muihin tiloihin).

CTR Pythonissa

from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes import os nonce = os.urandom(16) # Used as counter start cipher = Cipher(algorithms.AES(key), modes.CTR(nonce)) enc = cipher.encryptor() ciphertext = enc.update(plaintext) + enc.finalize()

CTR ja virheiden leviäminen

CTR-tilassa yksi vioittunut salatekstin bitti kääntää täsmälleen yhden selväkielisen tekstin bitin. Virheet eivät leviä muihin lohkoihin, toisin kuin CBC-tilassa, jossa lohkon vioittuminen sotkee seuraavan lohkon. Tämä sopii hyvin häiriöalttiisiin kanaviin.

SIV-tila suojaa noncen väärinkäytöltä

AES-SIV (Synthetic IV) kestää noncen väärinkäyttöä: vaikka nonce käytettäisiin uudelleen, paljastuu vain selväkielisten tekstien samanlaisuus, eivät kokonaiset selväkieliset tekstit. Sitä käytetään tilanteissa, joissa noncen ainutkertaisuutta on vaikea taata.

CTR:stä GCM:ään

AES-GCM = AES-CTR + GHASH-todennus. Laskuritila hoitaa salauksen. GHASH laskee todennustunnisteen käyttämällä Galois'n kunnan kertolaskua. Yhdessä nämä muodostavat todennetun salauksen.

Pikatarkistus

Mikä on CTR-tilan tärkein etu CBC-tilaan verrattuna suurten tietomäärien salauksessa?

Kertaus

CTR-tila on nyt hallussa! Seuraavaksi yhdistämme sen todennukseen AES-GCM:ssä ja toteutamme todennetun salauksen.
Aloita maksutta

Opi Cryptology Academy tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
67
Oppitunnit
261

Usein kysytyt kysymykset

Onko oppitunti ”CTR-tila ja lohkosalaimen toiminta suoratoistosalaimena” ilmainen?

Kyllä – oppitunnin ”CTR-tila ja lohkosalaimen toiminta suoratoistosalaimena” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Cryptology Academy-kurssin, päivitä CoddyKit PROhon. Cryptology Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”CTR-tila ja lohkosalaimen toiminta suoratoistosalaimena”?

Käyttäkää laskurimoodia lohkosalaimen muuntamiseen avainvirtageneraattoriksi. Harjoittelet Cryptology Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Cryptology Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Cryptology Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.

Kuinka kauan ”CTR-tila ja lohkosalaimen toiminta suoratoistosalaimena”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Cryptology Academy-oppitunnilla?

Kyllä. Jokainen Cryptology Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Lohkosalainmenetelmien perusteet ja täyttö
  2. ECB ja CBC: kuviot ja IV-arvot
  3. CTR-tila ja lohkosalaimen toiminta suoratoistosalaimena
  4. GCM ja todennettu salaus
← Takaisin: Cryptology Academy