Jeg prøver at lære mere om GCM-tilstand, og hvordan den adskiller sig mellem CBC. Jeg ved allerede, at GCM leverer en MAC, der bruges til meddelelsesgodkendelse. Ud fra det, jeg har læst, og fra de kodestykker, jeg har set, gør GCM en eksklusiv eller meget lig CBC, men jeg er ikke sikker på, hvad den eksklusive eller er imod. I CBC-tilstand er den eksklusive-eller almindelig tekst mod den tidligere ciphertext-blok, bortset fra den første blok, der bruger en tilfældig IV. Gør GCM det samme, eller gør det eksklusivt – eller imod noget andet? Hvis ja, kan nogen kort forklare, hvordan GCM bruger IV, og hvordan eksklusiv-eller gøres.

Kommentarer

  • Hvis du ser bort fra godkendelse, GCM opfører sig som CTR-tilstand, ikke som CBC-tilstand. Slå dem op på wikipedia.
  • Bare fordi det ikke er ' t defineret på denne side … GCM = Galois / Counter Mode og CBC = Cipher Block Chains … andre definitioner inkluderer MAC (Message Authentication Code), IV (Initialisation Vector) og CTR (CounTeR Mode).

Svar

GCM og CBC-tilstande fungerer internt ganske forskelligt; de involverer begge en blokciffer og en eksklusiv-eller, men de bruger dem på forskellige måder.

I CBC-tilstand krypterer du en datablok ved at tage den aktuelle almindelige tekstblok og eksklusiv-oring med den med forrige ciphertext-blok (eller IV), og derefter sende resultatet heraf gennem blokcipher; output fra blokciffrering er ciphertext-blok.

GCM-tilstand giver både privatliv (kryptering) og integritet. For at give kryptering opretholder GCM en tæller; for hver datablok sender den den aktuelle værdi af tælleren gennem blokciffreringen. Derefter tager det output fra blokciferen, og det er eksklusivt eller det er med almindelig tekst for at danne ciphertext.

Bemærk to nøgleforskelle:

  • Hvad der er eksklusiv eller redigeret i CBC-tilstand er almindelig tekst eksklusiv eller redigeret med data, som angriberen kender (IV eller en tidligere ciphertext-blok); derfor giver det i sig selv ikke nogen iboende sikkerhed (i stedet gør vi det for at minimere chancen for, at vi sender den samme blok to gange gennem blokciffreringen). I GCM-tilstand er almindelig tekst eksklusiv eller “ed med output fra blokcipher; det er iboende i sikkerhedsmodellen, at angriberen ikke kan gætte denne output (medmindre han allerede kender plaintext og ciphertext).

  • Hvad der sendes gennem blokchiferen; i CBC-tilstand sendes almindelig tekst gennem blokciffreringen (efter at den er “randomiseret” med en eksklusiv-eller); i GCM-tilstand afhænger hvad der sendes gennem blokcifferen faktisk ikke af, hvilke data der er krypteret, men i stedet kun i intern tilstand.

Hvad angår hvordan GCM bruger en IV (jeg betragter personligt “nonce” som et bedre udtryk for hvad GCM bruger, fordi det udtrykker idé om, at med GCM kan du ikke bruge den samme nonce til den samme nøgle to gange), det bruges, til at initialisere tælleren.

Kommentarer

  • Meget interessant … Hvis jeg forstår det rigtigt, siger du, at i GCM-tilstand er ciphertext for en blok eksklusiv-eller ' ed mod den almindelige tekst, der lige blev sat gennem chifferet og den blok sendes derefter. Hvis dette er sandt, hvordan dekrypteres den blok? Er ' ikke krypteringsteksten fra AES (for eksempel) kryptering krævet for at dekryptere dataene? Hvordan opnås der også, hvis o der opnås riginal krypteret tekst, så kan den bruges til eksklusiv-eller den sendte krypteringstekst, der ville returnere almindelig tekst og ikke behøver yderligere dekryptering … Jeg ' mangler noget .. .
  • Nej, i GCM tager vi en tæller, sender den gennem blokkodningen og derefter eksklusiv – eller den med almindelig tekst for at danne krypteringsteksten. På dekrypteringssiden opretholder vi den samme tæller, sender den gennem blokchiferen og derefter eksklusiv – eller den med ciphertext for at danne almindelig tekst.
  • @poncho Så i GCM har vi ikke brug for “Dekryptering” del af blokciffer? Fordi vi bruger “kryptering” på begge sider.
  • Hvis du bruger den samme nonce to gange med den samme nøgle, åbner du dig selv op for … hvilket angreb?
  • @RobertSiemer: to angreb: a) angriberen får en betydelig mængde information af de to meddelelser krypteret med den samme nonce (muligvis nok til at udlede begge indhold), og b) angrebet får information, der gør det muligt for ham at ændre meddelelser uden at blive opdaget

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *