Naar inhoud springen

Stroomvercijfering

Uit Wikipedia, de vrije encyclopedie

Stroomvercijfering is een manier van vercijferen in de symmetrische cryptografie waarbij de klare tekst bit-voor-bit of woord-voor-woord in cijfertekst wordt omgezet. Dit in tegenstelling tot blokvercijfering, waarbij de klare tekst bloksgewijs in cijfertekst wordt omgezet. Een systeem voor stroomvercijfering heeft een interne toestand die beïnvloedt hoe de klare tekst wordt omgezet in cijfertekst. De begintoestand van het systeem wordt bepaald door de sleutel. Voor elk element, bit, byte of letter, uit de klare tekst, produceert het systeem een element in cijfertekst en verandert het tevens de interne toestand.

Bij synchrone stroomvercijfering is de opeenvolging van interne toestanden niet afhankelijk van de te versleutelen gegevens. Elke nieuwe toestand wordt volledig bepaald door de direct voorafgaande toestand. Veel synchrone systemen voor stroomvercijfering hebben een toevalsgenerator als kern. Gegeven de sleutel, produceert deze een eindeloze rij van schijnbaar willekeurige getallen. De cijfertekst wordt dan gevormd door de klare tekst te combineren met de uitvoer van de toevalsgenerator, bijvoorbeeld door middel van een XOR bewerking. Decryptie is mogelijk door opnieuw dezelfde rij willekeurige getallen te gebruiken en daarmee op de cijfertekst de omgekeerde bewerking uit te voeren.

Bij zelfsynchroniserende stroomvercijfering is het niet noodzakelijk om precies aan het begin van de cijfertekst met het ontsleutelen te beginnen. Wanneer midden in de cijfertekst begonnen wordt met het ontsleutelen, zal de opeenvolging van toestanden bij het ontsleutelen vanzelf in de pas gaan lopen met de toestanden van het versleutelen. Deze zelfsynchronisatie werkt natuurlijk alleen als beide systemen dezelfde sleutel gebruiken. Zelfsynchronisatie is uitsluitend mogelijk als de toestandsovergangen in het systeem mede afhankelijk zijn van de elementen in de cijfertekst. Het systeem kan dan zodanig worden ontworpen dat de toestand op elk punt in de tekst uitsluitend door de sleutel wordt bepaald en een gekozen aantal van de meest recente elementen uit de cijfertekst. Voordelen van zelfsynchronisatie zijn dat het niet nodig is om te weten op welk punt een versleuteld bericht begint en dat het ontsleutelen zich automatisch herstelt wanneer een onbekende hoeveelheid cijfertekst wordt overgeslagen.

Enkele voorbeelden van codes die op de stroomvercijfering zijn gebaseerd zijn: