-
BEREICH DER
ERFINDUNG
-
Die
vorliegende Erfindung betrifft im Allgemeinen ein Verfahren und
eine Vorrichtung für
eine sichere digitale chaotische Kommunikation. Spezieller betrifft
sie ein System zum Codieren und Decodieren von Informationen durch
Steuern eines chaotischen Systems.
-
HINTERGRUND
DER ERFINDUNG
-
Sichere
Kommunikationen werden angewendet, um die Echtheit und Vertraulichkeit
von Informationen zu bewahren. Es sind derzeit viele verschiedene
Systeme für
sichere Kommunikationen erhältlich.
Jedoch hat einerseits die Erhöhung
der Rechenleistung die Sicherheit vieler dieser Systeme in Frage
gestellt und andererseits sind sicherere Systeme so kompliziert,
dass die Verarbeitungsgeschwindigkeit zu einem begrenzenden Faktor
bei der Informationensübertragung
wird. Sichere Kommunikation auf der Basis eines chaotischen Systems
ist ein sich rasch entwickelnder Forschungsbereich. Im Allgemeinen
ist ein chaotisches System ein dynamisches System, das keine Periodizität hat und
dessen Endzustand so empfindlich vom genauen Anfangszustand des
Systems abhängt,
dass sein zeitabhängiger
Pfad in der Tat langfristig unvorhersehbar ist, obwohl er deterministisch
ist.
-
Ein
Ansatz für
die Verwendung von chaotischen Systemen zum Codieren von Informationen
erfordert die Übertragung
eines Key zum Decodieren der Informationen. Ein solches Verfahren
für sichere
Kommunikation arbeitet mit einer chaotischen Gleichung zum Erzeugen
von Zufallszahlen (Banco, US-Patent Nr. 5,048,086). Zusammenfassend,
dieser Ansatz konvertiert eine Folge von durch eine chaotische Gleichung produzierten
Zahlen in eine digitale Form, addiert die konvertierten Zahlen zu
der zu codierenden digitalen Meldung und überträgt den kombinierten digitalen
Strom zu einem Empfänger.
Der Empfänger
extrahiert die digitale Meldung aus dem übertragenen digitalen Strom
durch Erzeugen derselben Folge von digitalen Zahlen mittels derselben
chaotischen Gleichung als Key (siehe Weiss, US-Patent Nr. 5,479,512).
Der Nachteil dieses Ansatzes ist die geminderte Sicherheit aufgrund
der Übertragung
des Key.
-
Andere
Ansätze
für die
Verwendung chaotischer Systeme für
sichere Kommunikation erfordern keine Übertragung eines Key. Ein solcher
Ansatz beinhaltet die Synchronisierung von chaotischen Systemen
(Carroll, US-Patent Nr. 5,473,694, und Cuomo, US-Patent Nr. 5,291,555).
Ein Parameter eines chaotischen Signals wird mit einem Informationsträgersignal
moduliert oder ein Informationsträgersignal wird zu einem chaotischen Signal
addiert. Das resultierende chaotische Signal wird unter Anwendung
herkömmlicher Übertragungstechniken
von einem Sender-Codierer zu einem identischen Empfänger-Decoder übertragen.
Der Empfänger-Decoder
wird von dem ursprünglichen
chaotischen Signal ohne notwendigen Key-Austausch synchron gemacht. Es
erfolgt ein Vergleich des chaotischen Informationsträgersignals
mit dem Synchronisationssignal, um die ursprünglichen Informationen zu extrahieren.
Bei diesen Systemen ist es jedoch möglich, beim Abfangen der Übertragung
mit Hilfe von Phasenraum-Rekonstruktion die zu Grunde liegende Dynamik
des Senders-Codierers zu rekonstruieren. In einigen Fällen konnte
gezeigt werden, dass die Fähigkeit
zum Rekonstruieren von Sender-Codierer-Dynamik die Extraktion des Informationsträgersignals
mittels „NLD"-(nichtlineare dynamische)-Vorhersage
oder mit anderen Techniken ermöglicht.
-
Ein
weiterer Ansatz für
sichere Kommunikation ist die „Steuerung" eines chaotischen
Systems durch Anwenden sehr kleiner Störungen auf das System (Hayes
et al.). [S. Hayes, C. Grebogi and E. Ott, Communication with Chaos.
Phys. Rev. Lett. 70(20), 3031–3034
(1993)] beschreiben die Nutzung kleiner Steuerstörungen, um zu bewirken, dass
ein chaotisches Signal einem Orbit folgt, dessen Binärsequenz
die zu übertragenden
Informationen repräsentiert.
So müssen
Zustandsinformationen des Oszillators übertragen werden, damit ein
Empfänger/Decoder
die Symbolsequenz extrahieren kann. Die Wahl des Steuercodes wird
ausführlicher
in der späteren
Publikation von Hayes et al. [S. Hayes, C. Grebogi, E. Ott and A.
Mark, Experimental Control of Chaos for Communication, Phys. Rev.
Lett. 73, 1781 (1994)] beschrieben. Um den Steueransatz zusammenzufassen,
ein Sender-Codierer codiert ein Signal durch Steuern der Folge von
Ausgangspeaks eines chaotischen Oszillators durch die Anwendung
kleiner Amplitudenstörungen
auf den Oszillator. Ein Empfänger-Decoder
extrahiert das Signal durch Beobachten der Folge von Peaks des übertragenen
Signals. Eine Analyse dieses Kommunikationssystems durch Rekonstruieren
der Phasenraum-Dynamik oder durch NLD-Vorhersage erkennt jedoch
das Aufdrücken
von Controls. So ist ein chaotisches System, das ein Signal überträgt, das
zum Rekonstruieren des zu Grunde liegenden chaotischen Systems verwendet
werden kann, nur begrenzt sicher.
-
Es
ist eine Aufgabe der vorliegenden Erfindung, „Control" eines chaotischen Systems für ein sicheres Kommunikationssystem
zu nutzen. Es ist eine weitere Aufgabe, dies mit einem übertragenen
Signal zu tun, das nicht für
die Rekonstruktion des zu Grunde liegenden chaotischen Systems verwendet
werden kann, wodurch Versuche vereitelt werden, die übertragene
Meldung durch Rekonstruktionstechniken oder NLD-Vorhersage zu Tage
zu bringen. Es ist noch eine weitere Aufgabe der vorliegenden Erfindung,
ein Mittel bereitzustellen, mit dem der Sender-Codierer und der
Empfänger-Decoder
eines solchen sicheren Kommunikationssystems synchronisiert werden.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Eine
Aufgabe der vorliegenden Erfindung ist es, ein(e) neue(s) Verfahren
und Vorrichtung für
sichere digitale chaotische Kommunikation bereitzustellen. Es ist
eine andere Aufgabe der vorliegenden Erfindung, ein(e) schnellere(s)
und sicherere(s) Verfahren und Vorrichtung für digitale Kommunikation durch
Steuern eines chaotischen Systems bereitzustellen.
-
Die
vorliegende Erfindung kann entweder in Hardware oder in Software
ausgeführt
werden. Controls werden intermittierend durch einen Sender-Codierer
auf ein chaotisches System angewendet, um eine Folge von 0- und
1-Bits zu erzeugen, die dem Klartext einer digitalen Meldung entspricht.
Dadurch entsteht ein Control/No Control Bitstrom, in dem eine 0
anzeigt, dass kein Control angewandt wurde, und eine 1, dass ein
Control angewandt wurde. Der Control/No Control Bitstrom und ein
vor diesen gesetzter Synchronisationsbitstrom werden mit herkömmlichen Übertragungstechniken
vom Sender-Codierer
zu einem identischen Empfänger-Decoder übertragen.
Ein chaotisches System im Empfänger-Decoder
wird synchron gemacht und dann intermittierenden Controls auf der
Basis des Control/No Control Bitstroms unterworfen, um zu bewirken,
dass die digitale Meldung erzeugt wird.
-
Die
obigen sowie weitere Aufgaben, Merkmale und Vorteile der vorliegenden
Erfindung gehen aus der folgenden ausführlicheren Beschreibung bevorzugter
Ausgestaltungen der Erfindung gemäß Illustration in den Begleitzeichnungen
hervor. Dabei zeigt:
-
1 ein
Blockdiagramm eines digitalen chaotischen Kommunikationssystems
gemäß einer
Ausgestaltung der vorliegenden Erfindung;
-
2 ein
Fließschema,
das die Codier- und Decodierverfahren des in 1 gezeigten
digitalen chaotischen Kommunikationssystems zeigt;
-
3 einen
Plot des Double-Scroll-Oszillators, der von den gegebenen Differentialgleichungen
und Parametern resultiert;
-
4 einen
Plot der symbolischen Dynamikfunktion r(x);
-
5 einen
Plot der Poincare-Map für
den gegebenen Double-Scroll-Oszillator;
-
6 ein
Histogramm des Mapping zwischen 4-Bit-Meldungen und 4-Bit-Übertragungen.
-
AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
-
1 zeigt
ein sicheres digitales chaotisches Kommunikationssystem 10 gemäß einer
Ausgestaltung der vorliegenden Erfindung. Eine Klartextmeldung wird
in einen Sender-Codierer 12 eingegeben, der eine digitale
chaotische Kommunikation über
das Übertragungsmedium 14 codiert
und sendet. Die digitale chaotische Kommunikation wird von einem
Empfänger-Decoder 16 empfangen
und decodiert und die Klartextmeldung wird ausgegeben.
-
2 ist
ein Fließschema
des Verfahrens und der Vorrichtung für die sichere digitale chaotische
Kommunikation der vorliegenden Erfindung. Die Codierung von Informationen
beinhaltet vier Schritte 20, 22, 24 und 26.
Der erste Schritt 20 zum Codieren von Informationen besteht
darin, einen Meldungsbitstrom in den Sender-Codierer 12 einzugeben.
Informationen können
zum Eingeben von einer Reihe verschiedener Quellen empfangen werden,
wie u.a. von Übertragungen;
von einer Reihe verschiedener Ein-/Ausgabegeräte in Verbindung mit dem Sender-Codierer 12,
wie z.B. mit einer Tastatur oder einer Maus; von einem Kartenlese-/-schreibgerät oder von
anderen in der Technik bekannten Informationsquellen.
-
Der
zweite Schritt
22 zum Codieren von Informationen ist, dass
der Sender-Codierer
12 Controls
auf ein erstes chaotisches System anwendet. In einer bevorzugten
Ausgestaltung ist das chaotische System ein Double-Scroll-Oszillator
[S. Hayes, C. Grebogi und E. Ott, Communicating with Chaos, Phys.
Rev. Lett. 70, 3031 (1993)], der durch die folgenden Differentialgleichungen
beschrieben wird:
-
Der
Attraktor, der von einer numerischen Simulation unter Verwendung
der Parameter C1 = 1/9, C2 = 1,
L = 1/7, G = 0,7, m0 = –0,5, m1 = –0,8 und
Bρ =
1 resultiert, hat zwei Keulen, die jeweils einen unstabilen festen
Punkt umgeben, wie 3 zeigt.
-
Aufgrund
der chaotischen Natur der Dynamik dieses Oszillators kann ein Vorteil
aus der empfindlichen Abhängigkeit
von Anfangsbedingungen gezogen werden, indem sorgfältig kleine
Störungen
gewählt
werden, um Bahnen um jede der Schleifen des Attraktors zu leiten.
Auf diese Weise kann ein gewünschter
Bitstrom, der dem Meldungsbitstrom entspricht, durch Lenken der
Bahnen um die geeigneten Keulen des Attraktors erzeugt werden, geeigneterweise
mit 0 und 1 beschriftet.
-
Es
gibt eine Reihe von Mitteln zum Steuern des chaotischen Oszillators,
um die Bits 0 und 1 präziser vorzugeben.
In einer bevorzugten Ausgestaltung wird eine Poincare-Schnittfläche auf
jeder Keule durch Schneiden des Attraktors mit den Halbebenen iL = ±GF,
|vc1| ≤ F
definiert, wobei F = Bρ(m0 – m1)/(G + m0) ist.
-
Wenn
eine Bahn eine dieser Sektionen schneidet, kann das entsprechende
Bit aufgezeichnet werden. Dann wird eine Funktion r(x) definiert,
die jeden Punkt auf beiden Sektionen nimmt und die zukünftige Symbolsequenz
für Bahnen
zurückgibt,
die durch diesen Punkt verlaufen. Wenn l1,
l2, l3, ... die
Keulen repräsentiert, die
auf dem Attraktor angelaufen werden (so dass li entweder
eine 0 oder eine 1 ist) und die zukünftige Evolution eines bestimmten
Punktes x0 derart ist, dass x0 → l1, l2, l3,
..., lN für eine Anzahl von N Schleifen
um den Attraktor ist, dann wird die Funktion r(x) so gewählt, dass
x0 auf eine assoziierte Binärfraktion
gemappt wird, so dass r(x0) = 0, l1, l2, l3,
..., lN ist, wo dies eine binäre Dezimalzahl
(Basis 2) repräsentiert.
Dann ist, wenn r(x) für
jeden Punkt auf dem Querschnitt berechnet wird, die zukünftige Evolution
jedes Punktes auf dem Querschnitt für N Iterationen bekannt. Die
resultierende Funktion ist in 4 dargestellt,
wo r(x) für
12 Schleifen um den Attraktor berechnet wurde.
-
Die
Steuerung der Bahn beginnt, wenn diese durch eine der Sektionen
verläuft,
z.B. x0. Der Wert von r(x0)
ergibt die zukünftige
Symbolsequenz, gefolgt von der aktuellen Bahn für N Schleifen. Wenn die Erzeugung des
gewünschten
Meldungsbitstroms ein anderes Symbol in der N-ten Position der Sequenz
erfordert, dann kann r(x) nach dem nächsten Punkt auf der Sektion
abgesucht werden, der die gewünschte
Symbolsequenz erzeugt. Die Bahn kann bis zu diesem neuen Punkt gestört werden
und geht weiter, bis sie wieder auf eine Fläche trifft. Dieser Vorgang
kann wiederholt werden, bis der gesamte Meldungsbitstrom erzeugt
ist. Es ist zu bemerken, dass diese Ausgestaltung eine „begrenzte
Grammatik" hat,
was bedeutet, dass nicht alle Folgen von Nullen und Einsen direkt
codiert werden können,
weil der chaotische Oszillator immer mehr als einmal um jede Keule
kreist. Demzufolge ist eine Folge von Bits wie 00100 nicht in der
Grammatik, da sie eine einzige Umkreisung der Einserkeule erfordert.
Eine einfache Abhilfe ist, jedes Bit in dem Code zu wiederholen
oder ein 1- oder 0-Bit jeweils an jede zusammenhängende Gruppierung von 1- oder
0-Bits anzuhängen.
Weitere Ausgestaltungen können
eine andere Grammatik haben und es gibt Beispiele, bei denen die
Folge von Nullen und Einsen unbegrenzt ist. Für dieses System ist das tatsächliche übertragene
Signal die Koordinate iL, so dass der Meldungsbitstrom
von den Spitzen und Tälern
in iL gelesen wird (es treten kleine Schleifen/niedrige Spitzen
auf, wenn die Bahn die Keulen des Attraktors wechselt, aber diese
werden ignoriert). Ein wichtiger Punkt ist, dass die Störung auf
der Konstante iL erfolgt, so dass es in
der übertragenen
Bahn keine Diskontinuität
gibt.
-
Der
dritte Schritt 24 zum Codieren von Informationen ist, dass
der Sender-Codierer 12 einen Control/No Control Bitstrom
auf der Basis seiner Anwendung von intermittierenden Controls erzeugt.
Der Control/No Control Bitstrom lässt es zu, dass ein zweites
chaotisches System im Empfänger-Codierer 16 mit
dem ersten chaotischen System im Sender-Codierer synchronisiert
bleibt, ohne dass iL übertragen wird. Dazu wird die
Funktion r(x) benutzt, die unabhängig
ermittelt werden kann, und als bekannte Information für den Sender-Codierer
und Empfänger-Decoder
genommen. Die Funktion r(x) ist eine geheime Information, die sich nicht
auf irgendwelche Informationen bezieht, die vom Sender-Codierer
zum Empfänger-Decoder
geleitet werden sollen. Solange sowohl der Sender-Codierer als auch
der Empfänger-Decoder
Kenntnis von r(x) haben, wenn die beiden Systeme anfangs synchronisiert
werden, braucht für
eine Erhaltung der Synchronität
lediglich der Sender-Codierer dem Empfänger-Decoder mitzuteilen, wann
er eine Control angewendet hat, unter der Annahme, dass die Control
die Bahn des chaotischen Systems zum nächsten Ort verlegt, der die
gewünschte Symbolfolge
ergibt.
-
Die
Berechnung von r(x) in der bevorzugten Ausgestaltung erfolgte diskret
durch Unterteilen der einzelnen Querschnitte in 2001 Partitionen
(„Bins") und die Berechnung der
zukünftigen
Evolution des Mittelpunkts in der Partition für bis zu 12 Schleifen um die
Keulen. Zum Beispiel, Controls wurden so angewendet, dass Auswirkungen
einer Störung
auf eine Bahn nach nur 5 Schleifen um den Attraktor offensichtlich
würden. Zusätzlich zur
Aufzeichnung von r(x) wurde eine Matrix M konstruiert, die die Koordinaten
für die
Mittelpunkte in den Bins enthält,
sowie Befehle in Bezug auf die Controls an diesen Punkten. Diese
Befehle teilen einfach mit, wie weit das System zu stören ist,
wenn eine Control angewendet werden muss. Zum Beispiel, an einem Schnittpunkt
der Bahn mit einem Querschnitt erfolgt, wenn r(x0)
anzeigt, dass die Bahn die Sequenz 10001 verfolgt, und die Sequenz
10000 gewünscht
wird, eine Suche nach der nächsten
Bin zu x0, die diese Sequenz ergibt, und
diese Information wird in M gesetzt. (Wenn die nächste Bin nicht eindeutig ist,
dann muss es eine Vereinbarung darüber geben, welche Bin benutzt
wird, z.B. die Bin, die sich am weitesten von der Mitte der Schleife
entfernt befindet.) Da der neue Startpunkt nach einer Störung eine
zukünftige
Evolutionssequenz hat, die sich von der von x0 verfolgten
Sequenz um höchstens
das letzte Bit unterscheidet, brauchen an jedem Schnittpunkt nur
zwei Optionen berücksichtigt
zu werden, nämlich
Control oder No Control. Folglich kann der Satz der angewendeten
Controls, wenn das erste chaotische System des Senders-Codierers
zum Verfolgen einer bestimmten Meldung gestört wird, in eine andere digitale
Sequenz übersetzt
werden, und die Map zwischen einer Folge von Meldungsbits und der
assoziierten digitalen Sequenz von Controls ändert sich in Abhängigkeit
von der Historie des ersten chaotischen Systems des Sender-Codierers
und dem Meldungsbitstrom.
-
Da
der Sender-Codierer und der Empfänger-Decoder
Kopien von r(x) und der Matrix M haben und ein Protokoll erstellt
wurde, so dass der Empfänger-Decoder
weiß,
wo er mit der Anwendung der Controls beginnen soll, braucht für die Kommunikation
eines Meldungsbitstroms vom Sender-Codierer lediglich die Sequenz von
Controls in digitaler Form zum Empfänger-Decoder übertragen
zu werden, der dem Empfänger-Decoder mitteilt,
wann die Bahn gestört
werden soll. Die Matrix M enthält
die Informationen darüber,
welche Bin den neuen Startpunkt für die gestörte Bahn enthalten sollte,
so dass der Empfänger-Decoder,
wenn er zum Stören des
Orbit angewiesen wird, sofort weiß, wo und wie er die gewünschte Störung erzielt.
In einer analogen Hardware-Ausführung der
bevorzugten Ausgestaltung werden die Störungen mit Hilfe von Spannungsänderungen oder
Stromspitzen angewendet; in einer Hardware-Ausführung auf Mapping-Basis sind
die Störungen
in einer Lookup-Tabelle enthalten und würden zu einem Variablenaustausch
in der Mapping-Funktion führen.
In einer Software-Ausführung der
bevorzugten Ausgestaltung würde
die Control-Matrix M zusammen mit der die chaotische Dynamik berechnenden
Software gespeichert, so dass die Information von M gelesen würde, wenn eine
Störung
erforderlich ist.
-
Da
der Sender-Codierer intermittierende Controls auf das chaotische
System anwendet, um die gewünschte
Bahn zu verfolgen, wird an jedem Schnittpunkt notiert, ob das System
gestört
werden muss oder nicht. Eine 1 bedeutet, dass eine Control zum Stören des
Systems angewendet wurde, eine 0 bedeutet, dass die Bahn ungestört durch
die Sektion gelassen wurde. Dieser Control/No Control Bitstrom bildet
jetzt das zu übertragende
Signal. Das zu übertragende
Signal ist somit ein digitaler Strom, der den zusätzlichen
Vorteil haben müsste,
dass er eine robustere Kommunikationstechnik durch die Anwendung
von aktueller Hardware- und Fehlerkorrekturtechnologie erzeugt.
Der Empfänger-Decoder
hat ein zweites chaotisches System, das mit dem ersten chaotischen
System identisch ist, zusammen mit Kopien von M und r(x), so dass
der Empfänger-Decoder lediglich
einen Startpunkt und den Control/No Control Bitstrom benötigt. Da
die Bahn des zweiten chaotischen Systems des Empfängers-Decoders
durch eine vorgeschriebene Bin geht oder, wie nachfolgend ausführlicher
beschrieben wird, nachdem sie auf einen periodischen Orbit gebracht
wurde, werden Controls auf der Basis des Control/No Control Bitstroms
angewendet. Das zweite chaotische System im Empfänger-Decoder wird dann so gesteuert, dass
es derselben Dynamik wie das erste chaotische System im Sender-Codierer
folgt, und der Meldungsbitstrom kann einfach durch Beobachten der
Sequenz von Keulen des Attraktors gelesen werden, die vom zweiten
chaotischen System im Empfänger-Decoder
angelaufen werden.
-
Das
folgende Beispiel zeigt einen gegebenen Meldungsbitstrom. Unter
dem Meldungsbitstrom befindet sich ein von der bevorzugten Ausgestaltung
der vorliegenden Erfindung erzeugter Control/No Control Bitstrom,
der zum Empfänger-Decoder übertragen
wurde, gefolgt vom zurückgewonnenen
Meldungsbitstrom am Empfänger.
Meldung: | 0011001111000110011110001111100... |
Gesendet: | 1010101000100001010011001001010... |
Zurückgewonnen: | 0011001111000110011110001111100... |
-
Die
Meldungsrückgewinnung
ist exakt und der übertragene
Control/No Control Bitstrom hat keine offensichtliche Beziehung
zum Meldungsbitstrom.
-
Eine
weitere Verbesserung beinhaltet die Verwendung von Microcontrols.
Jedes Mal, wenn eine Bahn des ersten chaotischen Systems des Senders-Codierers
oder des zweiten chaotischen Systems des Empfängers-Decoders einen Querschnitt
durchläuft,
wird die Simulation um einen Zeitschritt zurückgesetzt und die Rollen von
Zeit und Raum werden im Runge-Kutta-Solver umgekehrt, so dass die
Bahn ohne Interpolation exakt auf den Querschnitt integriert werden
kann. Dann wird, an jedem Schnittpunkt, an dem keine Control angewendet
wird, die Bahn zurückgesetzt,
so dass sie jeweils am Mittelpunkt der Bin beginnt, in der sie sich
befindet. Dieser Rücksetzvorgang
kann als das Aufdrücken
von Microcontrols angesehen werden. Er beseitigt eventuelle Ansammlungen
von Rundungsfehlern und minimiert die Auswirkungen einer empfindlichen
Abhängigkeit
von Anfangszuständen,
so dass die Kommunikationstechnik effektiv robuster wird. Sie hat
auch den Effekt, dass die Dynamik des Senders-Codierers auf eine
finite Teilmenge des vollen chaotischen Attraktors beschränkt wird,
obwohl die Dynamik weiter den vollen Phasenraum anläuft. Diese
Beschränkungen
können durch
Berechnen von r(x) und M mit höherer
Präzision
am Anfang gelockert werden.
-
Eine
weitere Ausgestaltung der vorliegenden Erfindung verwendet eine
näherungsweise
eindimensionale Poincare-Map. Die Poincare-Sektion hat zwei Zweige,
einen auf jeder Keule des Attraktors. Die Partitionierung der Oberfläche und
die Verwendung von Microcontrols ermöglichen eine einfache Berechnung
einer Map, die die gesamte Symboldynamik des völlig mikrogesteuerten Systems
aufweist. Die Beurteilung dieser Map ist weitaus einfacher und schneller
als das Integrieren zwischen Schnittpunkten mit der Oberfläche der Sektion.
Um die Map zu finden, kann man den Mittelpunkt in jeder Bin als
Anfangszustand nehmen (da dies die Punkte sind, an denen die Microcontrols
Bahnen „zurücksetzen"), bis zum nächsten Schnittpunkt
mit einem Zweig der Abschnittsoberfläche zeitlich vorwärtsintegrieren
und den Zweig und die Bin notieren, in der die Bahn gelandet ist.
Für einen
gegebenen Satz von Integrationsparametern (Zeitschritt, Verfahren
usw.) und für eine
gegebene Partition der Sektionsoberfläche wird die Bahn von der Mitte
jeder Bin zu ihrem nächsten Schnittpunkt
mit der Oberfläche
nicht variieren. Daher gibt die Map das Verhalten des mikrogesteuerten
Systems für
die gegebene Integrationsmethode exakt wieder.
-
Um
diese Map zu implementieren, werden zwei weitere Spalten in die
Befehlsmatrix M gesetzt: eine enthält die Reihenzahl in M, die
dem nächsten
Schnittpunkt für
alle 2001 Bins entspricht, die andere enthält die nächste Keule unter der Map.
Simulierte(r) Datenübertragung
und -empfang unter Verwendung dieser neuen Matrix sind im Wesentlichen
wie bei Sendung und Empfang mit Integration. Für eine bestimmte Bin auf der Sektion
und für
ein bestimmtes Meldungsbit verwendet der Sender-Codierer weiter
die Funktion r(x) zum Vergleichen der N Bits der Symboldynamik in
der Zukunft. Wenn sich das N-te Bit in der zukünftigen Dynamik für diese
Bin vom aktuellen Meldungsbit unterscheidet, wird mit Hilfe von
r(x) die nächste
Bin gesucht, die die gewünschte
Sequenz erzeugt, und eine 1 wird gesendet. Ansonsten wird eine 0
gesendet. Dann wird die Map zum Suchen des Ortes des nächsten Schnittpunkts
mit der Oberfläche
verwendet und der Prozess wird mit dem nächsten Meldungsbit wiederholt.
Die Verwendung dieser Map eliminiert zeitaufwändige numerische Integration
und ermöglicht
eine schnellere und weiter gehende Verarbeitung.
-
Die
obige Map unterscheidet sich von einer herkömmlichen Poincare-Map in einigen
Aspekten. Erstens, während
die Poincare-Sektion zweidimensional ist, nähert sie sich einem Paar Linien,
die von den unstabilen festen Punkten ausgehen, angepasst mit einer
Kleinste-Quadrate-Methode. Immer wenn eine Bahn die Sektion schneidet,
indem nur die Distanz vom entsprechenden festen Punkt betrachtet
wird, wird der Schnittpunkt vor dem Fortfahren im Wesentlichen um
den festen Punkt auf der Linie gedreht. So wird das dreidimensionale
dynamische System auf eine eindimensionale Map reduziert. Zweitens,
der Punkt wird auf die Mitte seiner aktuellen Bin zurückgesetzt,
um die Microcontrols zu simulieren. Theoretisch würde diese
zweite Näherung
unnötig,
wenn man die maximale Länge
der Intervalle in der Partition auf null gehen lässt. Ein Plot der oben abgeleiteten
Map ist in 5 dargestellt. Die vornehmlich
unimodale Form ist nicht überraschend,
da unimodale Maps chaotische Eigenschaften aufweisen.
-
Die
zuvor erörterte
Reduktion des digitalen chaotischen Kommunikationssystems auf ein
System, das eine Poincare-Map verwendet, erlaubt eine Verallgemeinerung
des Systems auf eine beliebige chaotische eindimensionale Map. Es
ist lediglich eine Sache des Definierens von „Keulen", welche Sektion der Domain ein Umschalten
von Bits, ein Aufzeichnen der Symboldynamik in r(x) und ein Ermitteln
von geeigneten Controls wie zuvor impliziert. Zum Beispiel, man
könnte
die Logistik-Map xn = axn–1(1 – xn–1)
nehmen und etwas willkürlich
sagen, dass für
jedes xn ≥ xlobe, wo 0 < xlobe < 1
ist, das aktuelle Bit bk 1 – bk–1,
sein wird; ansonsten ist bk = bk–1.
Dies ergibt die Symboldynamik, die zum Aufbauen eines Systems notwendig
ist, das auf wenigstens zwei Weisen verbessert werden kann. Erstens,
es können
Maps gewählt
werden, die nur wenig oder keine Grammatikbeschränkung haben, so dass sich ein
Justieren des Meldungsbitstroms, so dass er die Dynamik des Systems
erfüllt,
erübrigen
würde.
Zweitens, es ist evtl. möglich,
die Maps fein abzustimmen, um das System statistisch zu optimieren
(ein Wegfall der Grammatikbeschränkungen
trägt auf
vielerlei Weise zur Verbesserung der Statistik bei).
-
Um
die Beschränkung
zu elimineren, dass Bits wenigstens paarweise auftreten müssen, ist
es nötig, dass
es die Map zulässt,
dass Bahnen mit zwei oder mehr Iterationen in einer Reihe in der „Umschalt"-Region bleiben.
Zum Beispiel, es kann die zweite Wiederholung der Logistik-Map verwendet
werden, xn = a2xn–1(1 – xn–1)(1 – axn–1(1 – xn–1))
mit a = 3,99. Um die Symmetrie zu wahren, ist es logisch, xlobe = 0,5 zu wählen. Alle kurzen N-Bit-Wörter sind
in der natürlichen
Evolution dieser Map möglich,
wenigstens für
N < 4, so dass
es mit diesem System keine Grammatikbeschränkungen gibt. Daher ist keine
Vorverarbeitung eines Meldungsbitstroms nötig.
-
Eine
weitere Verbesserung in der vorliegenden Erfindung, wie oben beschrieben,
beinhaltet das Kaskadieren von Sender-Codierer-Stufen und Empfänger-Decoder-Stufen.
Zunächst
wird ein Meldungsbitstrom durch einen Sender-Codierer geleitet,
um einen Control/No Control Bitstrom zu erzeugen. Dieser kann dann in
einen Sender-Codierer einer zweiten Ebene gespeist werden, um den
Bitstrom weiter zu transformieren, und so weiter durch eine Kaskade
von Sendern-Codierern. Der endgültige
Ausgangsbitstrom wird dann zu einer Empfänger-Decoder-Kaskade übertragen.
Am Empfängerende
wird der empfangene Bitstrom in den Empfänger-Decoder der tiefsten Ebene
gesendet und der Ausgang wird durch den Empfänger-Decoder der nächsten Ebene
geleitet, so dass er eine Ebene höher in der Empfängerkaskade
geht. Nach dem Leiten des empfangenen Bitstroms durch dieselbe Anzahl
von Ebenen wie in der Sender-Codierer-Kaskade wird der ursprüngliche Meldungsbitstrom
zurückgewonnen.
Das Double-Scroll-System hat eine begrenzte Grammatik; demzufolge werden
zwischen beliebigen zwei Ebenen in der Kaskade die Bitströme vorverarbeitet,
um die einzelnen Einsen oder Nullen zu bearbeiten, bevor sie zur
nächsten
Ebene in der Kaskade gehen. Mit anderen Systemen ist eine Vorverarbeitung
möglicherweise
unnötig.
-
Der
Prozess des Kaskadierens von chaotischen Sendern-Codierern und Empfängern-Decodern
wird anhand der Ergebnisse in der folgenden Tabelle illustriert,
die zwei Ebenen in der Kaskade zeigt. Es gibt zwei Zwischenschritte
der Vorverarbeitung am Sender-Codierer-Ende, wo zusätzliche
Einsen und Nullen an zusammenhängende
Sektionen von Einsen und Nullen im Bitstrom angehängt werden,
die in jede Ebene der Kaskade gespeist werden. Am Empfänger-Decoder-Ende
muss die umgekehrte Verarbeitung angewendet werden, wo ein Bit von
jeder zusammenhängenden
Gruppe von Einsen und Nullen im Bitstrom abgelöst werden muss:
Ursprüngliche
Meldung: | 00111011001100001111101011100101110011110110010000... |
Vorverarbeitete
Meldung: | 0001111001110001110000011111100110011110001100111... |
Zwischenausgang: | 00000011010010010000000100001101010100010000101001... |
Vorverarbeiteter
Zwischenausgang: | 00000001110011000110001100000000110000011100110011... |
Übertragener
Bitstrom: | 00010011001010100101000010010000101000010010101010... |
Empfangene
Ebene 1: | 00000001110011000110001100000000110000011100110011... |
Zwischenausgang: | 00000011010010010000000100001101010100010000101001... |
Empfangene
Ebene 2: | 00011110011100011100000111111001100111100011001111... |
Zurückgewonnene
Meldung: | 00111011001100001111101011100101110011110110010000... |
-
Die
Meldungsrückgewinnung
ist exakt und der Übertragungsbitstrom
trägt keine
offensichtliche Korrelation mit dem Meldungsbitstrom.
-
Der
nächste
Schritt 26 in der bevorzugten Ausgestaltung der vorliegenden
Erfindung ist die Addition des Senders-Codierers eines Synchronisationsbitstroms
zum Control/No Control Bitstrom, so dass ein Übertragungsbitstrom entsteht.
Der Synchronisationsbitstrom lässt
es zu, dass das erste chaotische System im Sender-Codierer und das
zweite chaotische System im Empfänger-Decoder
anfangs synchronisiert werden. Es ist möglich, eine Sequenz von Controls
zum zweiten chaotischen System im Empfänger-Decoder zu senden, der
ihn auf einen periodischen Orbit bringt. Auf dem periodischen Orbit
können
die Meldungsbits in die Dynamik des Senders-Codierers integriert
werden, wobei die resultierenden übertragenen Bits bewirken,
dass das zweite chaotische System des Empfängers-Decoders den periodischen
Orbit verlässt,
so dass der Empfänger-Decoder
auf den Beginn der Meldung aufmerksam gemacht wird.
-
Auf
einer Grundebene gibt es, wenn Microcontrols in dem digitalen Kommunikationssystem
verwendet werden, nur eine begrenzte Anzahl von Orbits auf dem Attraktor,
daher würde
die Periodizität
eines chaotischen Systems unter einer sich wiederholenden Sequenz
von Controls schließlich
garantiert. Was wichtiger ist, das zweite chaotische System im Empfänger-Decoder
kann auf einen periodischen Orbit gebracht werden, indem ihm ein
Wiederholungscode gesendet wird. Unterschiedliche Wiederholungscodes
führen
zu unterschiedlichen periodischen Orbits. Der erreichte periodische
Orbit ist nur von dem wiederholten Code-Segment und nicht vom Anfangszustand
des zweiten chaotischen Systems im Empfänger-Decoder abhängig (obwohl die
Zeit zum Erreichen des periodischen Orbit je nach dem Anfangszustand variieren
kann). Demzufolge ist es möglich,
eine Initialisierungscontrolsequenz zum Empfänger-Decoder zu senden, die
das zweite chaotische System im Empfänger-Decoder und das erste
chaotische System im Sender-Codierer auf denselben periodischen
Orbit bringt.
-
Es
gibt zahlreiche Control-Sequenzen, die, wenn sie wiederholt werden,
zu einem eindeutigen periodischen Orbit für alle Anfangszustände führen, so
dass es eine Eins-zu-eins-Assoziation
zwischen einer Sequenz und dem Orbit gibt. Für einige Control-Sequenzen ändern sich
jedoch die Orbits selbst mit der Änderung des Anfangszustands
des chaotischen Systems. Demzufolge können die wiederholten Control-Sequenzen
in zwei Klassen unterteilt werden, nämlich initialisierend und nicht
initialisierend. Die Länge
jedes periodischen Orbit ist ein ganzzahliges Vielfaches der Länge der
wiederholten Control-Sequenz.
Dies ist natürlich,
da die Periodizität
nur dann erhalten wird, wenn sowohl die aktuelle Position auf dem
Querschnitt als auch die aktuelle Position in der Control-Sequenz dieselbe
ist wie zu einem früheren
Zeitpunkt. Um zu garantieren, dass das erste chaotische System im
Sender-Codierer und das zweite chaotische System im Empfänger-Decoder synchronisiert
werden, reicht es aus, dass die Periode des Orbit genau die Länge des
kleinsten wiederholten Segments der initialisierenden Control-Sequenz
hat. Ansonsten könnten
sich, da die Control-Sequenz die einzige Verbindung zwischen dem
Sender-Codierer
und dem Empfänger-Decoder
ist, das erste chaotische System im Sender-Codierer und das zweite chaotische System
im Empfänger-Decoder
auf demselben periodischen Orbit befinden, wenn auch phasenverschoben.
Demzufolge würden
das erste chaotische System und das zweite chaotische System nicht
wirklich synchronisiert.
-
Schritt 30 im
Fließschema
von 2 ist die Übertragung
des Übertragungsbitstroms
mit herkömmlichen Übertragungstechnologien.
Die Schritte 40, 42 und 44, die den Decodiervorgang
umfassen, sind wie oben beschrieben, grundsätzlich umgekehrt zum Codiervorgang
der Schritte 22, 24 und 26. Schritt 50 ist
der Ausgang des Meldungsbitstroms.
-
Das
Verfahren und die Vorrichtung der vorliegenden Erfindung können gänzlich in
Software ausgeführt werden.
Die chaotischen Systeme im Sender-Codierer und im Empfänger-Decoder
bei einer solchen Implementation werden durch einen Satz von Differentialgleichungen
definiert, die die chaotische Dynamik bestimmen, z.B. die oben beschriebenen
Double-Scroll-Gleichungen. Sender-Codierer und Empfänger-Decoder
verwenden denselben Algorithmus zum Simulieren der Evolution der
Differentialgleichungen, z.B. den Runge-Kutta-Algorithmus der vierten
Ordnung. Sender- Codierer
und Empfänger-Decoder
enthalten auch Kopieduplikate einer Datei, die alle Steuerinformationen
enthält,
die zum Bewahren der Synchronisation nach dem Initialisieren des
Systems nötig
sind. Am Sender-Codierer-Ende wird eine Meldung mit der in der Software
simulierten chaotischen Dynamik codiert, was in einem digitalen
Controlstring resultiert, der zum Empfänger-Decoder gesendet wird.
Das Leiten des Controlstring durch dieselbe Software (in umgekehrter
Reihenfolge) decodiert die Meldung so, dass der Empfänger-Decoder
die Klartextmeldung ausgeben kann.
-
In
einer zweiten Software-Ausführung
der vorliegenden Erfindung können
Mappings anstatt Differentialgleichungen zum Definieren der chaotischen
Systeme verwendet werden. In diesem Fall werden die chaotischen
Systeme im Sender-Codierer und im Empfänger-Decoder so definiert,
dass sie einen Eingangswert nehmen und einen Ausgangswert erzeugen.
Der Sender-Codierer und Empfänger-Decoder
enthalten wiederum Kopieduplikate einer Datei, die alle Steuerinformationen
enthält,
die zum Erhalten der Synchronisation nach dem Initialisieren des
Systems notwendig sind. Am Sender-Codierer-Ende wird eine Meldung
mit der chaotischen Dynamik der Mapping-Funktion codiert, was in einer digitalen
Steuerfolge resultiert, die zum Empfänger-Decoder gesendet wird.
Das Leiten des Controlstring durch dieselbe Software (in umgekehrter
Reihenfolge) decodiert die Meldung so, dass der Empfänger-Decoder
die Klartextmeldung ausgeben kann.
-
Das
Verfahren und die Vorrichtung der vorliegenden Erfindung können auch
in Hardware ausgeführt werden.
Die chaotischen Systeme im Sender-Codierer und dem Empfänger-Decoder
werden weiterhin durch einen Satz von Differentialgleichungen definiert,
aber diese Gleichungen werden dann zum Entwickeln einer elektrischen
Schaltung benutzt, die dieselbe chaotische Dynamik erzeugt. Der
Vorgang des Umwandelns einer Differentialgleichung in eine äquivalente
Schaltung ist hinlänglich
bekannt und kann mit Operationsverstärkern und Vervielfachern sowie
mit anderen der Fachperson bekannten Geräten erfolgen, mit den richtigen
Feedbacks konfiguriert. Die Steuerinformationen werden in einem
Speichergerät
gespeichert und Controls werden durch Erhöhen der Spannung oder Induzieren
kleiner Stromspitzen in der Schaltung angewendet. Die Steuerinformationen
werden wiederum als digitaler Controlstring zum Empfänger-Decoder
gesendet, wo dieselben Controls auf eine identische Schaltung angewendet
werden, so dass die Meldung decodiert und die Klartextmeldung ausgegeben
werden kann.
-
In
einer zweiten Hardware-Ausführung
der vorliegenden Erfindung wird eine Mapping-Funktion in eine Lookup-Tabelle
umgewandelt, die auf einem digitalen Speicherchip gespeichert werden
kann, zusammen mit einer die Steuerinformationen enthaltenden Tabelle.
Eine Meldung wird mit Hilfe der Lookup-Tabelle codiert, um die chaotische
Dynamik zu erzeugen, und der resultierende Controlstring wird zum
Empfänger-Decoder übertragen.
Das Decodieren erfolgt durch Umkehren des Vorgangs, so dass die
Controls auf die Mapping-Funktion in der Lookup-Tabelle angewandt
werden, um die chaotische Dynamik und die ursprüngliche Klartextmeldung zurückzugewinnen.
-
Das
Verfahren und die Vorrichtung der vorliegenden Erfindung können auch
in Lasern implementiert werden. Bei dieser Implementation wird ein
Satz von Differentialgleichungen mittels optischer Geräte approximiert.
Nach der Entwicklung des näherungsweisen
Systems definiert es die chaotischen Systeme im Sender-Codierer
und im Empfänger-Decoder
und dann werden die Control-Flächen,
Partitionen und Microcontrols für
die vom Lasersystem realisierte chaotische Dynamik definiert. Der
Laser wird in einen chaotischen Oszillationsmodus gebracht und Controls
werden z.B. mit der OPF-(Occasional
Proportional Feedback)-Technik entwickelt [E.R. Hunt Phys. Rev.
Lett. 67, 1953 (1991)]. Die Steuerinformationen werden in einem
Speichergerät
gespeichert, das Informationen enthält, die die benötigten Controls
für die
vollen Controls und die Microcontrols wie oben beschrieben definieren.
Die Microcontrols werden z.B. mit Hilfe der OPF-Controls angewendet,
um die chaotische Dynamik in Richtung auf die Mitte der Partitionen
auf den Steueroberflächen
zu treiben. Wenn die Meldung verlangt, dass das System ein volles
Control zum Verschieben in eine nahe gelegene Partition erhält, dann
wäre das
OPF-Control größer. Auf
diese Weise könnten
sowohl die Microcontrols als auch die vollen Controls in einer lasergestützten Implementation
angewendet werden. Die Steuerinformationen werden wiederum als digitaler
Control-Strom zum Empfänger-Decoder übertragen,
wo dieselben Controls auf ein identisches lasergestütztes System
angewendet werden, so dass die Meldung decodiert und die Klartextmeldung
ausgegeben werden kann.
-
Es
ist zu bemerken, dass das Codieren in den Schritten 22, 24 und 26 zwischen
einer Sequenz von Meldungsbits und den entsprechenden Übertragungsbits
Viele-zu-eins und Eins-zu-viele ist. Mit anderen Worten, eine bestimmte
Sequenz von Meldungsbits kann auf viele Weisen codiert werden; ebenso
kann eine bestimmte Sequenz von Übertragungsbits
viele verschiedene Sequenzen von Meldungsbits repräsentieren.
Es ist lediglich die Dynamik des ersten chaotischen Systems im Sender-Codierer,
die die Unterscheidung der richtigen Bedeutung zulässt, und
die Codierung ist gänzlich
von der Historie sowohl des chaotischen Systems als auch der Meldung
abhängig. 6 ist
ein Histogramm des Mapping zwischen 4-Bit-Meldungen und 4-Bit-Übertragungen.
Das Histogramm zeigt die Häufigkeit
des Auftretens jeder 4-Bit-Übertragung
in Anbetracht ihrer entsprechenden 4-Bit-Meldung an. Dies zeigt,
dass die vorliegende Erfindung etwa analog zu einem Key-gestützten Codiersystem
ist, bei dem sich der Key bei jeder Iteration ändert, aber die Änderungen keinem
vorbestimmten Muster folgen, sondern eher in Abhängigkeit von der Meldung und
der Historie der Dynamik erfolgen.
-
Es
ist auch zu bemerken, dass Berechnungen der Kreuzkorrelation zwischen
dem Meldungsbitstrom und dem Übertragungsbitstrom
zeigt, dass es im Wesentlichen keine Korrelation gibt. Auf der Basis
dieser und anderer ähnlicher
Ergebnisse erscheint die Übertragungszeitserie
von der Meldungszeitserie unabhängig
zu sein und die Übertragungszeitserie
würde auf
der Ebene der Autokorrelationsfunktion zufällig aussehen, obwohl andere
Tests möglicherweise
eine nichtzufällige
Struktur für
bestimmte Ausgestaltungen zu Tage bringen könnten.
-
Es
wurde auch versucht, einen Weg zu finden, um den Übertragungsbitstrom
zu nehmen und eine Art von dynamischem Modell zu konstruieren. Dazu
wurden Sequenzen von Bits vom Übertragungsbitstrom
als digitale ganze Zahlen interpretiert. So würde beispielsweise eine Sequenz
von Bits wie 1100 als die Dezimalzahl 12 interpretiert. Durch Betrachten
von Sequenzen von Bits können
statistische und dynamische Tests für Determinismus betrachtet
werden. Dazu wurden Sequenzen von 4, 8 und 16 Bits, die aus dem
gesendeten Signal genommen wurden, betrachtet. Es wurde überlegt,
ob die aus den disjunkten Zeitserien genommenen rekonstruierten
Datenpunkte alle möglichen
Positionen im Phasenraum füllen.
Die Ergebnisse für
unten beschriebene zweidimensionale Rekonstruktionen scheinen auch
für drei
Dimensionen zuzutreffen. Eine Berechnung von rekonstruierten Datenpunkten
der Form xi = (si,
si+1), wobei si die
dezimale Darstellung des i-ten disjunkten 16-Bit-Blocks ist, zeigt,
dass die meisten Gitterpunkte für
16-Bit-Sequenzen
abgedeckt werden. Demzufolge scheint es nicht möglich zu sein, Rekonstruktionen
zum Ermitteln einer getrennten Teilmenge von rekonstruierten Punkten
zu finden, die zum Ermitteln des Zustands des ersten chaotischen
Systems im Sender-Codierer
verwendet werden können.
-
Es
wurde auch überlegt,
ob es ein einheitliches Muster für
die dynamische Evolution der rekonstruierten Punkte gab. Es wurden
Phasenraum-Rekonstruktionen erzeugt, um nach einem einheitlichen
Fließmuster zu
suchen, d.h. nach einer Regelmäßigkeit
in den geplotteten Punkten oder dem dynamischen Verhalten wie x1 → x2 → x3 ... zu suchen. Wenn irgendein vorhersehbares
dynamisches Verhalten offenbart würde, dann könnte es möglich sein, etwas über die
chaotischen Systeme in dem Sender-Codierer und dem Empfänger-Decoder
zu ermitteln. Die Fließmuster
erschienen jedoch als zufällige
Linien, die die Gitterpunkte verbinden, so dass es keine dynamischen
Informationen gibt, die von den übertragenen
Daten genommen werden könnten,
und eine NLD-Vorhersage war vollkommen unwirksam.
-
Somit
gibt es, zusammenfassend, da der Übertragungsbitstrom lediglich
eine digitale Sequenz ist, keine Information, die zum Erzeugen einer
Zeitverzögerungs-Phasenraum-Rekonstruktion
im gewöhnlichen
Sinne benutzt werden könnte.
Demzufolge sind die Methoden, die zum Knacken von chaotischen Kommunikationsansätzen angewendet
wurden, für
dieses Problem nicht mehr anwendbar, weil es keinen offensichtlichen Weg
zum Extrahieren von geometrischen Informationen aus dem übertragenen
Signal gibt. Selbst nach diesen vorläufigen Tests scheint es, dass
dieses binäre
chaotische Kommunikationssystem von einer NLD-Perspektive aus gesehen
weitaus schwieriger zu analysieren ist als frühere chaotische Kommunikationstechniken,
die eine chaotische Wellenform übertrugen.
-
Eine
interessante Perspektive des binären
chaotischen Kommunikationssystems kann durch Betrachten des ersten
chaotischen Systems im Sender-Codierer als Key-Erzeugungsgerät erhalten werden. In der Tat hat
das System, solange die Microcontrols ungleich null sind, nur eine
finite Anzahl möglicher
Bahnen, so dass es fair ist, dies als Key-Erzeugungsansatz zu betrachten.
Von diesem Standpunt her gesehen ist der interessante Aspekt dieses
Ansatzes, dass sich der „Key" bei jeder Iteration ändern würde, aber
die Änderungen
würden
keinem vorbestimmten Funktionsmuster folgen und wären in der
Tat von der vorherigen Historie des Chaos und der Meldung abhängig. Dies
würde die
Natur eines Brute-Force-Attack auf die Übertragung verändern, da
es nur wenig Sinn machen würde,
alle möglichen
Keys auszuprobieren, wenn sich der Key bei jeder Iteration ändert.
-
Eine
wichtige Betrachtung beim Ermitteln des Sicherheitspotentials eines
Kommunikationsansatzes ist, dass das Kommunikationsverfahren gewöhnlich bekannt
ist, so dass die Sicherheit in so etwas wie Private-Keys erfolgen
muss. Für
das hier erörterte
digitale chaotische Kommunikationssystem würde dies implizieren, dass
die chaotischen Systeme bekannt wären (obwohl man darüber streiten
kann, ob die abfangende Partei alle Betriebsparameter des Schaltkomplexes
wissen müsste).
Wenn die chaotischen Systeme im Sender-Codierer und im Empfänger-Decoder
bekannt sind, dann liegt die Sicherheit bei diesem Ansatz in der
Privatfunktion r(x), die mit einer beliebigen Zahl von Schleifen
um den Attraktor sowie den in M gespeicherten Störungsregeln berechnet werden
könnte.
Ein Brute-Force-Ansatz zum Knacken der Übertragung würde darin bestehen,
einen Satz von Funktionen ri(x) zu berechnen,
wobei i die Anzahl der Schleifen repräsentiert, die bei der Berechnung
verwendet wurden. Dann könnte
die abfangende Partei versuchen, jede potentielle Key-Funktion nacheinander
auszuprobieren, bis die Meldung decodiert ist. Ziel des Systemdesigners
muss es natürlich sein
zu versuchen, dies zu einer schwierigen Berechnung zu machen, um
dadurch ein gewisses Maß an
rechnerischer Sicherheit zu erzielen.
-
Es
sind viele Anwendungen der vorliegenden Erfindung denkbar, bei denen
die Echtheit oder Vertraulichkeit (oder beide) einer Meldung gewahrt
werden müssen.
Es folgen einige Beispiele für
die zahlreichen Anwendungen.
-
In
einer Anwendung, in der es wichtig ist, Kommunikationen zu broadcasten,
die für
ein Fahrzeug spezifisch sind, wie z.B. in der Flugverkehrskontrolle,
lässt es
die derzeitige Erfindung zu, dass jedem Fahrzeug ein anderes chaotisches
System gegeben wird. Nach dem Codieren einer Meldung durch eine
zentrale Broadcasting-Stelle unter Verwendung des für einen
bestimmten Benutzer geeigneten chaotischen Systems kann die Meldung
nur von diesem Benutzer decodiert werden. Auf eine ähnliche,
aber weniger sichere Weise kann ein einzelnes chaotisches System
verwendet werden, bei dem jedes Fahrzeug einen anderen Initialisierungszustand
erhält.
Nur das Fahrzeug mit dem richtigen Initialisierungszustand kann
eine Meldung ordnungsgemäß decodieren.
-
In
einer Anwendung, in der eine zentrale Broadcasting-Stelle viele
Benutzer bedient, wie z.B. bei einem Zellulartelefonnetz, erhält jeder
Benutzer ein eindeutiges chaotisches System zum Verschlüsseln aller seiner
Meldungen. Wenn ein Benutzer eine Meldung zu einem anderen Benutzer
aussendet, dann geht diese durch die zentrale Stelle, wo sie decodiert
und vor dem Weitersenden neu codiert wird. Auf diese Weise werden
alle Kommunikationen vertraulich gehalten.
-
Zudem
wäre es
möglich,
wenn ein Benutzer oder eine Benutzergruppe „Smartcards" erhält, die
einen die vorliegende Erfindung ausgestaltenden Chip enthält, dass
ein zentraler Server Initialisierungscodes zu einer Smartcard sendet,
die zur Entwicklung von bestimmten periodischen Orbits führt. Wenn
jeder Initialisierungscode als Anfrage angesehen wird und die resultierende
Periode des Orbits die Antwort ist, dann kann der zentrale Server
einen Benutzer abfragen, bis genügend
Antworten vorhanden sind, damit der Benutzer von allen anderen Benutzern
unterschieden werden kann (der andere chaotische Systeme hätte und
daher andere Antworten geben würde).
Was wichtiger ist, da aus einem großen Raum von Initialisierungscodes
ausgewählt werden
kann, könnte
der zentrale Server unterschiedliche Abfragen bei jedem Zugriff
benutzen, so dass es unmöglich
wäre, dass
Dritte die Antworten von einer Session abfangen und sie für eine neue
Session benutzen könnten.
-
Die
Erfindung wurde mit Bezug auf verschiedene bevorzugte Ausgestaltungen,
Implementationen und Anwendungen oben gezeigt und beschrieben. Die
Erfindung ist jedoch nicht auf die oben beschriebenen Ausgestaltungen,
Implementationen oder Anwendungen begrenzt und Modifikationen hieran
liegen im Rahmen der Erfindung.