Skip to main content

Wat is een stroomcijfer?

Een streamcipher is een type algoritme dat wordt gebruikt bij gegevenscodering waarbij de bron die moet worden gecodeerd, wordt verwerkt tegen een belangrijke reeks die willekeurig lijkt.Dit type cijfer is enigszins flexibel in de zin dat het de codering kan variëren als de tekst wordt verwerkt.Ze worden ook soms een cijfer van de staat genoemd, omdat codering ook afhankelijk is van de huidige status van de operatie.In tegenstelling tot blokcijfers, die werken op brokken gegevens 64 bits tegelijk, kan een stroomcipher op één bit werken.Om deze reden kan een stroom worden verwerkt met hoge snelheden met zeer weinig verwerkingskracht.

De eerste stroomcijfer werd bedacht door Gilbert Vernam in 1917. Vernam hielp later ook een cijfer te creëren die bekend staat als het eenmalige pad, dat is eenVorm van Stream Cipher die een eenmalige sleutel gebruikt om de gegevens te coderen.In een eenmalige pad is de gegenereerde sleutel dezelfde lengte als de gegevens die moeten worden gecodeerd, is volledig willekeurig en wordt nooit meer ergens anders gebruikt, vandaar de naam.

Wanneer verwerkt tegen de te coderen gegevens, meestal aangeduid als platte tekst, is de resulterende cijfertekst onmogelijk te decoderen zonder de sleutel.Het eenmalige pad is moeilijk in de meeste scenario's om mee om te gaan en wordt daarom alleen gebruikt voor zeer exclusieve situaties.Toch wordt een stroomcijfer meestal als nuttig geacht, dus werden de sleutels ingekort en pseudorandom gemaakt, wat betekent dat ze statistisch willekeurig zijn, maar in werkelijkheid dat niet zijn.

Stream Cipher heeft de mogelijkheid om meteen te coderen.Op deze manier is het zelfs eenvoudig voor eenvoudige streamcijfers om te worden uitgevoerd door mensen op pen en papier, terwijl een blokcijfer meestal het gebruik van een computer vereist om te verwerken.De platte tekst stroomt door het coderingsproces samen met de toetsenstroom, de pseudorandom-reeks die de sleutel vormt, waar deze wordt geconverteerd en uit het andere uiteinde komt als cijfertekst.

Meestal gebeurt deze codering via een exclusieve of (xor) bewerkingOp de individuele stukjes terwijl ze door de cijfer gaan.Een eenvoudige XOR -cijfer gebruikt een soort logische disjunctie als basis, wat in wezen zegt dat het resultaat waar kan zijn als een van beide operand waar is, maar niet beide.Als een beetje door het coderingsproces een beetje beweegt, is een nul of een en een gepaarde sleutelstreambit niet overeen, de resulterende uitgang is een.Als het bit en gepaarde sleutelstreambit overeenkomen, waarbij beide een één zijn, of beide een nul zijn, is het resultaat een nul.De gecodeerde stroom van en nullen worden vervolgens aan de andere kant van de transmissie gedecodeerd met behulp van dezelfde toetsenstroom om de bits terug in hun oorspronkelijke platte tekst te converteren.

Er zijn twee soorten streamcijfer.Met behulp van een synchrone methode wordt de toetsenstream gescheiden van de platte tekst of de cijfertekst en vervolgens samengevoegd om de codering of decodering te bieden.Met deze methode moeten zowel het verzenden en ontvangen van de transmissie gesynchroniseerd blijven waar ze op dezelfde sleutel en dezelfde positie in de sleutel werken.Als er een probleem opkomt, moet de decodering opnieuw beginnen, of kunnen er vlaggen zijn met tussenpozen gedurende de cijfertekst die wijzen op nieuwe uitgangspunten.Een zelfsynchroniserende cijfer daarentegen zal de toetsenstroom bijwerken op basis van een aantal eerdere cijfers in de cijfertekst.

Een van de meest gebruikte streamcijfer, RC4 genaamd, is gemaakt door RSA Data Security .Het heeft een licentie voor en gebruikt in een aantal softwareproducten, evenals het Secure Socket Layer (SSL) -protocol dat wordt gebruikt in beveiligde internetcommunicatie en de bekabelde equivalente privacy (WEP) -codering die wordt gebruikt met draadloze apparaten.Een andere vaak gebruikte cijfer staat bekend als ORYX, die gebruik heeft gevonden in cellulaire telefoongegevenstransmissies die moeten worden gecodeerd.IBM reg;heeft ook een stream -coderingsmethode ontwikkeld die bekend staat als SEAL, die gebruik heeft gevonden in codering van harde schijf.