4.3.1 Rückgekoppelte Schieberegister
Ein rückgekoppeltes Schieberegister (FSR) der Länge
besteht aus
Zuständen
, die jeweils ein Bit speichern können und jeweils einen Ein- und einen Ausgang haben. Mittels eines Taktgebers werden die Daten im Schieberegister bewegt. Während einer Zeiteinheit werden folgende Operationen durchgeführt:
- Der Inhalt des Zustandes 0 wird als nächstes Ausgabebit verwendet
- Der Inhalt des Zustandes
wird an den Zustand
weitergeschoben,
/li>
- Der neue Inhalt von Zustand
ist das „Feedback-Bit”, das mit Hilfe der Rückkopplungsfunktion erzeugt wird.
Schematischer Aufbau eines rückgekoppelten Schieberegisters:
Rekursionsgleichung:
Sei
der Zustand eines linear rückgekoppelten Schieberegisters. Die Ausgangsfolge lässt sich für
mit der folgenden Rekursionsgleichung berechnen:
Lineare Rückkopplungsfunktion:
Wenn sich das Feedback-Bit linear aus den anderen Bits zusammensetzt, sprechen wir von einer linearen Rückkopplungsfunktion:
Begleitmatrix:
Sei
der Statusvektor eines linear rückgekoppelten Schieberegisters zum Zeitpunkt
. Mit der Begleitmatrix lässt sich der Status für den Zeitpunkt
berechnen:
4.3.2 Beispiel für Rückgekoppeltes Schieberegister
Dieses Register kann wie folgt mit Flipflops geschaltet werden:
Rekursionsgleichung:
Begleitmatrix:
Anfangszustand:
Es wird diese Folge erzeugt:
Die Periode ist 15. Wir wollen nun einen Folgezustand mit Hilfe der Begleitmatrix berechnen:
Feststellungen:
- Zustand
erzeugt Nullfolge - LFSR (linear feedback shift register) der Länge
hat eine maximale Periodenlänge von
,da der Zustand der Nullfolge nicht auftreten darf.
4.3.3 Charakteristisches Polynom
Sei
die Begleitmatrix eines linear rückgekoppelten Schieberegisters der Länge
. Die Determinante
wird als charakteristisches Polynom des Schieberegisters bezeichnet:
wobei
gemäß Definition gilt und
angenommen wird.
Rückkoppelungspolynom ist reziprokes Polynom:
: charakteristisches Polynom
Sei
ein irreduzibles Polynom (keine Faktorisierung des Polynoms möglich). Die kleinste natürliche Zahl
, für die
gilt, heißt Exponent von
.
Sei
ein irreduzibles Polynom vom Grad
und mit Exponent
. Wenn
gilt, dann nennt man das Polynom
primitiv.
Ein linear rückgekoppeltes Schieberegister (LFSR) der Länge
erzeugt genau dann die maximale Periode, wenn das charakteristische Polynom primitiv ist.
4.3.4 Weitere Beispiele, Korrelationsangriff
Filtergenerator:
Kombination mehrerer LFSR:
Der Filtergenerator und die Kombination mehrerer LFSR sind anfällig für sogenannte Korrelationsangriffe. Dabei wird zunächst eine Wahrheitstabelle aufgestellt:
In etwa 75% der Fälle entspricht
der Ausgabe
. Wir raten also so lange Anfangssequenzen für
, bis wir einen Zustand finden, der zu 75% mit der Ausgabe übereinstimmt. Anschließend verfahren wir analog mit
und
.
Im Fall des abgebildeten Systems würde ein Brute-Force Angriff hier
Versuche brauchen. Mit dem Korrelationsangriff braucht man nur
Versuche.
Shrinking Generator:
Der geheime Schlüssel wird in
und
geladen.
erzeugt dabei die Pseudozufallsfolge,
selektiert, indem ausgewählt wird, ob das aktuelle Bit von
verwendet oder verworfen wird.
Stromchiffre A5/1:
Diese Chiffre wird für GSM benutzt. Sie ist nicht besonders sicher, wie man auf dieser Seite nachlesen kann:
http://events.ccc.de/congress/2009/Fahrplan/events/3654.en.html
Es folgt eine Übersicht über A5/1. Besonderheit ist die Mehrheitsfunktion, die regelt, ob die aktuellen Bits genutzt oder verworfen werden.


