Stream Cipher vs Block Cipher | State Cipher vs Block Cipher
I kryptografi er Stream-kryptering og Blokk-kryptering to krypterings- / dekrypteringsalgoritmer som tilhører familien av symmetriske nøkkelkoder. Vanligvis tar en kryptering en ren tekst som inndata og produserer en krypteringstekst som utdata. Blokk krypterer krypterer bit med fast lengde på bitene ved hjelp av en uforanderlig transformasjon. Strømkoder krypterer strømmer av biter med varierende lengde og bruker varierende transformasjon på hver bit.
Hva er en Stream Cipher?
Strømkoder tilhører familien av symmetriske nøkkelkoder. Strømkoder kombinerer ren tekstbiter med en pseudorandom krypteringsstrøm med bruk av XOR (eksklusiv-eller) -operasjon. Strømkoder krypterer sifre i ren tekst en om gangen med varierende transformasjoner for påfølgende sifre. Fordi krypteringen av hvert siffer avhenger av den nåværende tilstanden til krypteringsmotoren, er strømkryptere også kjent som tilstandskoder. Vanligvis brukes enkeltbiter / biter som enkle sifre. For å unngå sikkerhetsproblemer, bør det sørges for at samme starttilstand ikke brukes mer enn en gang. Mest brukte strømkryptering er RC4.
Hva er en Block Cipher?
En blokkryptering er en annen symmetrisk nøkkelkryptering. Blokkkoder fungerer på blokker (grupper av biter) med fast lengde. Blokkekoder bruker en fast (unvarierende) transformasjon for alle sifre i blokken. For eksempel når en x-bit blokk ren tekst (sammen med en hemmelig nøkkel) er gitt som inndata til blokk-krypteringsmotoren, produserer den den tilsvarende x-bit-blokk med krypteringstekst. Den faktiske transformasjonen er avhengig av den hemmelige nøkkelen. På samme måte gjenoppretter dekrypteringsalgoritmen den opprinnelige x-bit-blokken med ren tekst ved bruk av x-bit-blokken med krypteringstekst og den hemmelige nøkkelen ovenfor som inngang. I tilfelle inngangsmeldingen er for lang sammenlignet med størrelsen på blokken, blir den brutt ned til blokker, og disse blokkene blir (individuelt) kryptert med samme nøkkel. Men fordi den samme nøkkelen brukes,hver gjentatte sekvens i ren tekst blir den samme gjentatte sekvensen i krypteringsteksten, og dette kan forårsake sikkerhetsproblemer. Populære blokkrypter er DES (Data Encryption Standard) og AES (Advanced Encryption Standard).
Hva er forskjellen mellom en Stream Cipher og en Block Cipher?
Selv om både strømkoder og blokkrypter tilhører familien av symmetriske krypteringskoder, er det noen viktige forskjeller. Blokk krypterer krypterer bitene med fast lengde, mens strømkryptere kombinerer tekst med bittekst med en pseudorandom krypteringsbitstrøm ved bruk av XOR-operasjon. Selv om blokkryptering bruker den samme transformasjonen, bruker strømkoder forskjellige transformasjoner basert på motorens tilstand. Strømmekoder utføres vanligvis raskere enn blokkryptering. Når det gjelder maskinvarekompleksitet, er strømkoder relativt mindre komplekse. Strømkoder er den typiske preferansen fremfor blokkryptering når ren tekst er tilgjengelig i varierende mengder (for eksempel en sikker wifi-forbindelse), fordi blokkryptering ikke kan fungere direkte på blokker kortere enn blokkstørrelsen. Men noen ganger,forskjellen mellom strømkoder og blokkryptering er ikke veldig tydelig. Årsaken er at når du bruker visse driftsmåter, kan en blokkryptering brukes til å fungere som en strømkryptering ved å la den kryptere den minste dataenheten som er tilgjengelig.