Scrambler (Telekommunikation)
Ein Scrambler (deutsch Verwürfler) verwendet linear rückgekoppelte Schieberegister (LFSR) oder fixe Tabellen, um ein Digitalsignal nach einem relativ einfachen Algorithmus umkehrbar umzustellen. Erreicht wird dabei eine Änderung der Bitreihenfolge bzw. die Generierung einer neuen Bitfolge, um beispielsweise eine bestimmte Anforderung an den Übertragungskanal zu erreichen, über welchen die binäre Datenfolge übertragen werden soll. Allgemein gesprochen wird das Digitalsignal in ein Pseudozufalls-Signal mit demselben Informationsgehalt und derselben Bitrate verwandelt. Ein Scrambler basierend auf fixen Tabellen bzw. LFSR stellt wegen der einfachen und bekannten Verfahren keine brauchbare Verschlüsselung von Daten dar.
Anwendung
Ziel des Verfahrens ist unter anderem eine Anpassung der Nutzdatenfolge an die Übertragungseigenschaften eines Übertragungskanals zwecks Datenübertragung. Beispielsweise können bestimmte Übertragungskanäle wie ein Funkkanal keine gleichanteilbehafteten Bitfolgen übertragen. Mit Hilfe eines entsprechenden Scramblers können Gleichanteile aus der Sendefolge beseitigt werden. Das Ausgangssignal des Scramblers besitzt ein kontinuierlicheres Spektrum als das Eingangssignal und damit werden Energiespitzen, die Störungen in benachbarten Signalen herbeiführen können, vermieden. Zum Beispiel wird ein Scrambler bei den Datenübertragungsverfahren ADSL und bei ISDN verwendet. Auch Video- oder Audiodaten werden zur Kanalcodierung gescrambelt, ein Beispiel ist das Serial Digital Interface, welches digitale Videodaten ohne Kompression überträgt.
Realisierung
Ein Scrambler wird durch linear rückgekoppelte Schieberegister (LFSR) realisiert. Dabei wird meistens die pro Schieberegisterlänge maximal mögliche Codelänge verwendet. Es wird zwischen folgenden Strukturen unterschieden:
Synchrone (additive) Scrambler
Synchrone oder auch additive Scrambler benötigen einen definierten Startwert ungleich 0 im LFS-Register, und der Empfänger muss durch geeignete Maßnahmen, wie beispielsweise einem speziellen Sync-Wort, die genaue Codephasenlage des Senders mitgeteilt bekommen. Ist dem Empfänger die korrekte Codephasenlage nicht bekannt, kann er das gescrambelte Datensignal nicht richtig dekodieren.
Der Vorteil von synchronen Scramblern ist die Unabhängigkeit des LFSR vom Nutzdatenstrom. Außerdem werden mögliche Bitfehler der übertragenen Nutzdatenfolge bei dem Vorgang des descramblen nicht dupliziert. Nachteilig ist die zusätzliche Logik, welche für das Erkennen des Sync-Wortes notwendig ist, und die geringfügig größere Übertragungskapazität (engl. overhead) am Übertragungskanal zur regelmäßigen Übertragung dieses Sync-Wortes.
Die Struktur von Scrambler im Sender und Descrambler im Empfänger ist bei diesem Typ identisch.
Selbstsynchronisierende (multiplikative) Scrambler
Selbstsynchronisierende oder auch multiplikative Scrambler benötigen keinen definierten Startwert und auch kein Sync-Wort, um die Codephase des Empfängers mit der Codephase des Senders abzugleichen. Auch kann der Startwert des LFSR beliebig sein, auch alle Register auf logisch 0 oder logisch 1 zu setzen, ist zulässig. Erreicht wird die Funktion der Selbstsynchronität dadurch, dass die Nutzdatenfolge direkt auf den Inhalt des LFSR einwirkt.
Nachteilig ist die Abhängigkeit des Scramblers von der Nutzdatenfolge. So können bestimmte Nutzdatenfolgen den Scrambler vollständig "auslöschen". Das heißt, der Scrambler erzeugt dann in Folge bis zur nächsten Nutzdatenbitänderung nur noch statisch eine logische 1 oder 0. Darüber hinaus pflanzen sich Übertragungsfehler bei selbstsynchronisierenden Scramblern fort: Ein einzelner Bitfehler am Empfänger wird bei diesem Typ von Scrambler je nach Typ des Schieberegisters mindestens verdoppelt. Dieser Umstand ist bei der Wahl entsprechender fehlererkennender und -korrigierender Leitungskodes zu beachten.
Nebenstehend sind der selbstsynchronisierende Scrambler und Descrambler dargestellt, wie sie bei der Modem-Norm V.34 verwendet werden. Erkennbar ist, dass beim Descrambler die empfangende Nutzdatenfolge direkt in das LFSR geladen wird – Bitfehler pflanzen sich damit über mehrere Stellen hinweg fort, maximal bis zur Länge des LFSR. Daher ist man zur Minimierung der Fehlerfortpflanzung bei der Anwendung von selbstsynchronisierenden Scramblern bestrebt, nichtprimitive Generatorpolynome für das LFSR mit möglichst wenig Rückkopplungsstellen einzusetzen.