-
Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft ein Verschlüsselungssystem. Insbesondere
betrifft die vorliegende Erfindung ein System zur Verschlüsselung von
Klartextnachrichten und zur Entschlüsselung von chiffrierten Mitteilungen.
-
Hintergrund
der Erfindung
-
In
der modernen Welt werden Mitteilungen zwischen Teilnehmern in einer
Vielzahl unterschiedlicher Arten unter Verwendung von unterschiedlichen Kommunikationsmedien
ausgetauscht. Die elektronische Kommunikation wird als eine effiziente
Art, Informationen zu übertragen
immer populärer,
und insbesondere breitet sich die elektronische Mail aufgrund der
Unverzüglichkeit
des Mediums aus.
-
Unglücklicher
Weise begleiten insbesondere auf dem Gebiet der Geheimhaltung Nachteile
die Vorteile, die von der elektronischen Kommunikation zur Verfügung gestellt
werden. Elektronische Mitteilungen können von nicht vorgesehenen
Empfängern abgefangen
werden. Funkübertragungen,
wie die sprachliche Kommunikation über Mobiltelefone, sind besonders
empfindlich für
ein solches Abfangen.
-
Das
Problem der Geheimhaltung der elektronischen Kommunikation ist angegangen
worden, und es sind Lösungen
des Problems bereitgestellt worden. Eine Art der Lösung verwendet
eine Verschlüsselung,
um Geheimhaltung für
elektronische Kommunikation bereitzustellen. Verschlüsselung
schließt das
Verschlüsseln
oder Kodieren einer übertragenen oder
gespeicherten Nachricht ein, das von dem Entschlüsseln oder Dekodieren einer
empfangenen oder geladenen Nachricht gefolgt ist. Die Nachricht
liegt typischerweise in Form eines digitalen Signals oder eines
digitalisierten analogen Signals vor. Wenn die Kommunikation während der Übertragung
abgefangen wird oder aus einem Speicher von einer nicht autorisierten
Person geladen wird, ist die Nachricht für den Eindringling wertlos,
der nicht über
die Mittel zum Entschlüsseln
der verschlüsselten
Nachricht verfügt.
-
In
einem System, das eine Verschlüsselung verwendet,
enthält
die verschlüsselnde
Seite der Kommunikation eine Kodiervorrichtung oder eine Verschlüsselungseinrichtung.
Die Kodiervorrichtung nimmt die Klartextnachricht (unverschlüsselte Nachricht)
und einen Verschlüsselungsschlüssel an
und verschlüsselt
die Klartextnachricht mit dem Schlüssel gemäß einer Verschlüsselungsrelation,
die für
die Klartextnachricht und den Schlüssel vorbestimmt ist. Das heißt, dass
die Nachricht mithilfe des Schlüssels in
einer vorbestimmten Weise, die von der Text/Schlüssel-Relation gegeben ist,
manipuliert wird, um eine chiffrierte (verschlüsselte) Nachricht zu erzeugen.
-
Ähnlich enthält die entschlüsselnde
Seite der Kommunikation eine Dekodiervorrichtung oder eine Entschlüsselungseinrichtung.
Die Dekodiervorrichtung nimmt die chiffrierte Nachricht und einen
Verschlüsselungsschlüssel an
und entschlüsselt
die chiffrierte Nachricht mit dem Schlüssel gemäß einer Entschlüsselungsrelation,
die für
die chiffrierte Nachricht und den Schlüssel vorbestimmt ist. Das heißt, dass die
Nachricht mithilfe des Schlüssels
in einer vorbestimmten Weise, die von der Text/Schlüssel-Relation gegeben
ist, manipuliert wird, um eine neue Klartextnachricht zu erzeugen,
die der originalen Klartextnachricht entspricht.
-
Die
Art, in der der Schlüssel
und die Relation in dem Kommunikationsverfahren verwendet werden,
und die Art, in der die Schlüssel
verwaltet werden, definieren ein Verschlüsselungsschema. Heutzutage
sind viele herkömmliche
Verschlüsselungsschemata
in Gebrauch. Zum Beispiel ist das wahrscheinlich populärste von
diesen ein Public-Key-Verschlüsselungsschema.
Gemäß einem
Schema dieser Art sind die verwendeten Schlüssel Kombinationen einer Public-Key-Komponente,
die für
jeden oder eine große
Gruppe von Personen erhältlich
ist, und einer Private-Key-Komponente, die für die jeweilige Kommunikation
spezifisch ist.
-
Ein
wichtiges Bedenken bei der Beurteilung, ob ein bestimmtes Verschlüsselungsschema
für die Anwendung
angemessen ist, ist der Schwierigkeitsgrad, der notwendig ist, die
Verschlüsselung
zu überwinden,
das heißt,
die Mühe,
die für
eine nicht autorisierte Person erforderlich ist, die verschlüsselte Nachricht
zu entschlüsseln.
Es gibt eine Vielzahl von Wegen, auf denen eine nicht autorisierte
Person versuchen kann, die Verschlüsselung eines Systems zu überwinden.
Drei der populärsten
Angriffe auf Verschlüsselungssysteme
sind Schlüssel-Ausschöpfungs-Angriffe
(Versuch und Irrtum), differentielle Kryptoanalyse und algebraische
Angriffe. Kompliziertere Text/Schlüssel-Relationen und längere Schlüssel zu
wählen,
stellen zwei Wege dar, ein Verschlüsselungssystem weniger anfällig für Angriffe
zu machen, resultieren jedoch in einem aufwändigeren System, das mit einer
niedrigeren Geschwindigkeit arbeitet. Somit müssen, solange nicht ein raffiniertes Verschlüsselungsschema
ausgedacht wird, Kompromisse gemacht werden, wenn über das
Niveau der Geheimhaltung, das bereitzustellen ist, entschieden wird.
-
Wenn
einmal ein Schema für
das Ausführen der
Verschlüsselung
als den Bedingungen der besonderen Anwendung angemessen ausgewählt ist, ist
normalerweise die Text/Schlüssel-Relation
der bestimmende Faktor dafür,
wie erfolgreich die Verschlüsselung
darin sein wird, Angriffe abzuwehren. Dieses wiederum wirkt sich
auf das Vertrauen aus, das die Teilnehmer einer Kommunikation darauf
haben, dass ihre Kommunikation privat bleibt.
-
Die
US-A-4316055 offenbart ein Dualfunktions-Verschlüsselungssystem, das in der
Lage ist, entweder in einem Strom- oder Block-Chiffriermodus zu
arbeiten.
-
Zusammenfassung der Erfindung
-
Es
ist daher ein Ziel der vorliegenden Erfindung, ein Verfahren und
eine Vorrichtung zum Schutz der Geheimhaltung einer elektronischen
Kommunikation zur Verfügung
zu stellen.
-
Es
ist ein weiteres Ziel der vorliegenden Erfindung, ein Verfahren
und eine Vorrichtung zum Kodieren und Dekodieren digitaler Daten
zur Verfügung zu
stellen.
-
Eine
Ausführungsform
der vorliegenden Erfindung schließt ein Kommunikationssystem
ein, welches einen Ursprungsraum, einen Kommunikationskanal und
einen Bestimmungsraum, der über
den Kommunikationskanal mit dem Ursprungsraum assoziiert ist, enthält. Der
Ursprungsraum schließt
eine Verschlüsselungseinrichtung
zum Erzeugen eines Ausgangssymbols Ot auf
der Grundlage eines Eingangssymbols It und
Mittel zum Empfangen eines Verschlüsselungsschlüssels, einer
Verschlüsselung-Text/Schlüssel-Relation und des
Eingangssymbols ein. Der Bestimmungsraum schließt eine Entschlüsselungseinrichtung
zum Erzeugen eines entschlüsselten
Symbols I't auf der Grundlage des über den Kommunikationskanal
von dem Ursprungsraum empfangenen Ausgangssymbols und Mittel zum Empfangen
eines Entschlüsselungsschlüssels und einer
Entschlüsselung-Text/Schlüssel-Relation
ein. Die Verschlüsselung-Text/Schlüssel-Relation steuert die
Verschlüsselungseinrichtung
so, dass Ot = αN(t)
+ πN[αN-t(t) + πN-1[αN-2(t) + .. + π2[α1(t)
+ π1[It + α0(t)]]
.. ]], mod W, wobei αN, αN-1, .., α1 α0 N+1 additive Transformationen sind, die
durch den Verschlüsselungsschlüssel definiert
sind, wobei πN, πN-1, .., π2, π0 N Permutationen sind, die durch den Verschlüsselungsschlüssel definiert
sind, und wobei W die Anzahl der Möglichkeiten für jede Permutation
darstellt, die durch den Verschlüsselungsschlüssel definiert
ist. Die Entschlüsselung-Text/Schlüssel-Relation
steuert die Entschlüsselungseinrichtung
so, dass I't = π1 -1[π2 -1[π3 -1 .. [πN-1 -1[πN -1[Ot – α'N(t)] – α'N-1 (t)] – .. – α'3(t)] – α'2(t)] – α'1(t)] – α'0(t),
mod W, wobei die πi -1 durch den Entschlüsselungsschlüssel als
die Inversen der Permutationen πi definiert sind, wobei α'N, α'N-1,
.., α'1, α'0 N+1
additive Transformationen sind, die durch den Entschlüsselungsschlüssel definiert sind,
und wobei W die Anzahl der Möglichkeiten
für jede
inverse Permutation darstellt, die durch den Entschlüsselungsschlüssel definiert
ist.
-
Gemäß einem
Aspekt dieser Ausführungsform
enthält
die Verschlüsselungseinrichtung
des weiteren W Nachschlagetabellen für das Speichern jeder der möglichen
W Mengen von Permutationen. Gemäß einem
anderen Aspekt dieser Ausführungsform
enthält
die Verschlüsselungseinrichtung
des weiteren M<W
Nachschlagetabellen für
das Speichern von M verfügbaren
Mengen der möglichen
W Mengen von Permutationen. Gemäß einem
anderen Aspekt dieser Ausführungsform
enthält
die Verschlüsselungseinrichtung
des weiteren N<M<W Nachschlagetabellen
für das
Speichern von N Mengen von Permutationen, die von M verfügbaren Mengen
der möglichen
W Mengen von Permutationen vorausgewählt sind. Gemäß einem
anderen Aspekt dieser Ausführungsform
ist α(t)
eine Sprungfunktion. Gemäß einem
weiteren Aspekt dieser Ausführungsform
inkrementiert αx(t), X = {0, 1, 2, .., N-1, N} die Folge
der πx für
jeden Wert von t, der einem ganzzahligen Vielfachen von R gleich
ist, wobei R eine Primzahl ist. Gemäß einem anderen Aspekt dieser
Ausführungsform
dekrementiert αx(t), X = {0, 1, 2, .., N-1, N} die Folge
der πx für
jeden Wert von t, der einem ganzzahligen Vielfachen von R gleich
ist, wobei R eine Primzahl ist. Gemäß einem anderen Aspekt dieser
Ausführungsform
inkrementiert αx(t), X = {0, 1, 2, .., N-1, N} die Folge
der πx für
jeden Wert von t, außer wenn
t gleich einem ganzzahligen Vielfachen von R ist, wobei R eine Primzahl
ist. Gemäß einem
anderen Aspekt dieser Ausführungsform
dekrementiert αx(t), X = {0, 1, 2, .., N-1, N} die Folge
der πx für
jeden Wert von t, außer
wenn t gleich einem ganzzahligen Vielfachen von R ist, wobei R eine
Primzahl ist. Gemäß einem
weiteren Aspekt dieser Ausführungsform
entspricht I't dem It.
-
Eine
andere Ausführungsform
der vorliegenden Erfindung schließt ein Kommunikationssystem ein,
das einen Ursprungsraum, einen Kommunikationskanal und einen Bestimmungsraum,
der über
den Kommunikationskanal mit dem Ursprungsraum assoziiert ist, enthält. Der
Ursprungsraum schließt
eine Empfangseinrichtung zum Empfangen eines Eingangssymbols It, eines Verschlüsselungsschlüssels und
einer Verschlüsselung-Text/Schlüssel-Relation und
eine durch die Verschlüsselung-Text/Schlüssel-Relation
steuerbare Verschlüsselungseinrichtung zum
Erzeugen eines Ausgangssymbols Ot auf der Grundlage
des Eingangssymbols ein, so dass Ot = αN(t)
+ πN[αN-1(t) + πN-1[αN-2(t) + .. + π2[α1(t)
+ π1[It + α0(t)]]
.. ]], mod W, wobei αN, αN-1, .., α1 α0 N+1 additive Transformationen sind, die
durch den Verschlüsselungsschlüssel definiert
sind, wobei πN, πN-1, .., π2, π0 N Permutationen sind, die durch den Verschlüsselungsschlüssel definiert
sind, und wobei W die Anzahl der Möglichkeiten für jede Permutation
darstellt, die durch den Verschlüsselungsschlüssel definiert
ist. Der Bestimmungsraum schließt
eine Empfangseinrichtung zum Empfangen eines Entschlüsselungsschlüssels und
einer Entschlüsselung-Text/Schlüssel-Relation
und eine Entschlüsselungseinrichtung, die
zum Erzeugen eines entschlüsselten
Symbols I't auf der Grundlage des über den Kommunikationskanal
von dem Ursprungsraum empfangenen Ausgangssymbols steuerbar ist,
ein, so dass I't = π1 -1 [π2 -1[π3 -1 .. [πN-1 -1[πN -1[Ot – α'N(t)] – α'N-1(t)] – .. – α'3(t)] – α'2(t)] – α'1(t)] – α'0(t),
mod W, wobei die πi -1 durch den Entschlüsselungsschlüssel als
die Inversen der Permutationen πi definiert sind, wobei α'N, α'N-1,
.., α'1, α'0 N+1
additive Transformationen sind, die durch den Entschlüsselungsschlüssel definiert
sind, und wobei W die Anzahl der Möglichkeiten für jede inverse
Permutation darstellt, die durch den Entschlüsselungsschlüssel definiert
ist.
-
Gemäß einem
Aspekt dieser Ausführungsform
enthält
die Verschlüsselungseinrichtung
des weiteren W Nachschlagetabellen für das Speichern jeder der möglichen
W Mengen von Permutationen. Gemäß einem
anderen Aspekt dieser Ausführungsform
enthält
die Verschlüsselungseinrichtung
des weiteren M<W
Nachschlagetabellen für
das Speichern von M verfügbaren
Mengen der möglichen
W Mengen von Permutationen. Gemäß einem
anderen Aspekt dieser Ausführungsform
enthält
die Verschlüsselungseinrichtung
des weiteren N<M<W Nachschlagetabellen
für das
Speichern von N Mengen von Permutationen, die von M verfügbaren Mengen
der möglichen
W Mengen von Permutationen vorausgewählt sind. Gemäß einem
anderen Aspekt dieser Ausführungsform
ist α(t)
eine Sprungfunktion. Gemäß einem
weiteren Aspekt dieser Ausführungsform
inkrementiert αx(t), X = {0, 1, 2, .., N-1, N} die Folge
der πx für
jeden Wert von t, der einem ganzzahligen Vielfachen von R gleich
ist, wobei R eine Primzahl ist. Gemäß einem ande ren Aspekt dieser
Ausführungsform
dekrementiert αx(t), X = {0, 1, 2, .., N-1, N} die Folge
der πx für
jeden Wert von t, der einem ganzzahligen Vielfachen von R gleich
ist, wobei R eine Primzahl ist. Gemäß einem anderen Aspekt dieser
Ausführungsform
inkrementiert αx(t), X = {0, 1, 2, .., N – 1, N}
die Folge der πx für
jeden Wert von t, außer
wenn t gleich einem ganzzahligen Vielfachen von R ist, wobei R eine
Primzahl ist. Gemäß einem
anderen Aspekt dieser Ausführungsform
dekrementiert αx(t), X = {0, 1, 2, .., N-1, N} die Folge
der πx für
jeden Wert von t, außer
wenn t gleich einem ganzzahligen Vielfachen von R ist, wobei R eine
Primzahl ist. Gemäß einem
weiteren Aspekt dieser Ausführungsform entspricht
I't dem
It.
-
Eine
weitere Ausführungsform
der vorliegenden Erfindung schließt ein Kommunikationssystem ein,
das einen ersten Computer, einen Kommunikationskanal und einen zweiten
Computer enthält,
der über
den Kommunikationskanal mit dem ersten Computer verbunden ist. Der
erste Computer enthält
einen Symboleingangsport zum Empfangen eines Eingangssymbols It, einen Verschlüsselungsschlüsseleingangsport
zum Empfangen eines Verschlüsselungsschlüssels, einen
ersten Speicher zum Speichern einer Verschlüsselung-Text/Schlüssel-Relation und
einen ersten Mikroprozessor zum Erzeugen eines Ausgangssymbols Ot auf der Grundlage des Eingangssymbols,
so durch die Verschlüsselung-Text/Schlüssel-Relation
gesteuert, dass Ot = αN(t)
+ [πN[αN-1(t)+ πN-1[αN-2(t) + .. + π2[α1(t)
+ π1[It + α0(t)]]
.. ]], mod W, wobei αN, αN-1, .., α1 α0 N+1 additive Transformationen sind, die
durch den Verschlüsselungsschlüssel definiert
sind, wobei πN, πN-1, .., π2, π0 N Permutationen sind, die durch den Verschlüsselungsschlüssel definiert
sind, und wobei W die Anzahl der Möglichkeiten für jede Permutation
darstellt, die durch den Verschlüsselungsschlüssel definiert
ist. Der zweite Computer enthält
einen Entschlüsselungsschlüsseleingangsport
zum Empfangen eines Entschlüsselungsschlüssels, einen
zweiten Speicher zum Speichern einer Entschlüsselung-Text/Schlüssel-Relation
und einen zweiten Mikroprozessor zum Erzeugen eines entschlüsselten
Symbols I't auf der Grundlage des über den Kommunikationskanal
von dem Ursprungsraum empfangenen Ausgangssymbols, so durch die
Entschlüsselung-Text/Schlüssel-Relation
gesteuert, dass I't = π1 -1[π2 -1[π3 -1 .. [πN-1 -1[πN -1[Ot – α'N(t)] – α'N-1(t)] – .. – α'3(t)] – α'2(t)] – α'1(t)] – α'0(t),
mod W, wobei die πi -1 durch den Entschlüsselungsschlüssel als
die Inversen der Permutationen πi definiert sind, wobei α'N, α'N-1,
.., α'1, α'0 N+1
additive Transformationen sind, die durch den Entschlüsselungsschlüssel definiert
sind, und wobei W die Anzahl der Möglichkeiten für jede inverse
Permutation darstellt, die durch den Entschlüsselungsschlüssel definiert
ist.
-
Gemäß einem
Aspekt dieser Ausführungsform
enthält
der erste Computer des weiteren W Nachschlagetabellen für das Speichern
jeder der möglichen
W Mengen von Permutationen. Gemäß einem
anderen Aspekt dieser Ausführungsform
enthält der
erste Computer des weiteren M<W
Nachschlagetabellen für
das Speichern von M verfügbaren
Mengen der möglichen
W Mengen von Permutationen. Gemäß einem
anderen Aspekt dieser Ausführungsform
enthält
der erste Computer des weiteren N<M<W Nachschlagetabellen
für das
Speichern von N Mengen von Permutationen, die von M verfügbaren Mengen
der möglichen
W Mengen von Permutationen vorausgewählt sind. Gemäß einem
weiteren Aspekt dieser Ausführungsform
ist α(t)
eine Sprungfunktion. Gemäß einem
anderen Aspekt dieser Ausführungsform
inkrementiert αx(t), X = {0, 1, 2, .., N-1, N} die Folge
der πx für
jeden Wert von t, der einem ganzzahligen Vielfachen von R gleich
ist, wobei R eine Primzahl ist. Gemäß einem anderen Aspekt dieser
Ausführungsform
dekrementiert αx(t), X = {0, 1, 2, .., N-1, N} die Folge
der πx für
jeden Wert von t, der einem ganzzahligen Vielfachen von R gleich
ist, wobei R eine Primzahl ist. Gemäß einem anderen Aspekt dieser
Ausführungsform
inkrementiert αx(t), X = {0, 1, 2, .., N-1, N} die Folge
der πx für
jeden Wert von t, außer
wenn t gleich einem ganzzahligen Vielfachen von R ist, wobei R eine
Primzahl ist. Gemäß einem anderen
Aspekt dieser Ausführungsform
dekrementiert αx(t), X = {0, 1, 2, .., N-1, N} die Folge
der πx für jeden
Wert von t, außer
wenn t gleich einem ganzzahligen Vielfachen von R ist, wobei R eine
Primzahl ist. Gemäß einem
weiteren Aspekt dieser Ausführungsform
entspricht I't dem It.
-
Die
vorliegende Erfindung stellt ebenso ein Verfahren zur Kommunikation
zwischen einem Ursprungsraum und einem Bestimmungsraum zur Verfügung. Das
Verfahren enthält
das Empfangen eines Eingangssymbols It in
dem Ursprungsraum und das Erzeugen eines Ausgangssymbols Ot auf der Grundlage des Eingangssymbols so,
dass Ot = αN(t)
+ πN[αN-1(t) + πN-1[αN-2(t) + .. + π2[α1(t)
+ π1[It + α0(t)]]
.. ]], mod W, wobei αN, αN-1, .., α1 α0 N+1 vorbestimmte additive Transformationen
sind, wobei πN, πN-1, .., π2, π0 N vorbestimmte Permutationen sind, und
wobei W die Anzahl der Möglichkeiten
für jede
Permutation darstellt. Das Ausgangssymbol wird sodann in dem Bestimmungsraum
empfangen, und es wird ein entschlüsseltes Symbol I't auf
der Grundlage des empfangenen Ausgangssymbols erzeugt, so dass I't = π1 -1[π2 -1[π3 -1 ..[πN-1 -1[πN -1[Ot – α'N(t)] – α'N(t)] – .. – α'3(t)] – α'2(t)] – α'1(t)] – α'0(t),
mod W, wobei die πi -1 die Inversen
der vorbestimmten Permutationen πi sind, wobei α'N, α'N-1,
.., α'1, α'0 N+1
vorbestimmte additive Transformationen sind, und wobei W die Anzahl
der Möglichkeiten
für jede
inverse Permutation darstellt.
-
Gemäß einem
weiteren Aspekt des Verfahrens werden die möglichen W Mengen von Permutationen
aus W Nachschlagetabelten erhalten, bevor das Ausgangssymbol erzeugt
wird. Gemäß einem weiteren
Aspekt des Verfahrens werden aus M<W Nachschlagetabellen
M verfügbare
Mengen der möglichen
W Mengen von Permutationen erhalten, bevor das Ausgangssymbol erzeugt
wird. Gemäß einem
weiteren Aspekt des Verfahrens werden aus N<M<W
Nachschlagetabellen N Mengen von Permutationen erhalten, die von
M verfügbaren
Mengen der möglichen
W Mengen von Permutationen vorausgewählt sind, bevor das Ausgangssymbol
erzeugt wird. Gemäß einem
weiteren Aspekt des Verfahrens ist α(t) eine Sprungfunktion. Gemäß einem
weiteren Aspekt des Verfahrens wird αx(t),
X = {0, 1, 2, .., N-1, N} benutzt, die Folge der πx für jeden
Wert von t, der einem ganzzahligen Vielfachen von R gleich ist,
wobei R eine Primzahl ist, zu inkrementieren. Gemäß einem weiteren
Aspekt des Verfahrens wird αx(t), X = {0, 1, 2, .., N-1, N} benutzt,
die Folge der πx für
jeden Wert von t, der einem ganzzahligen Vielfachen von R gleich
ist, wobei R eine Primzahl ist, zu dekrementieren. Gemäß einem
weiteren Aspekt des Verfahrens wird αx(t),
X = {0, 1, 2, .., N-1, N} benutzt, die Folge der πx für jeden
Wert von t, außer
wenn t gleich einem ganzzahligen Vielfachen von R ist, wobei R eine Primzahl
ist, zu inkrementieren. Gemäß einem
anderen Aspekt des Verfahrens wird αx(t),
X = {0, 1, 2, .., N-1, N} benutzt, um die Folge der πx für jeden
Wert von t, außer
wenn t gleich einem ganzzahligen Vielfachen von R ist, wobei R eine
Primzahl ist, zu dekrementieren. Gemäß einem weiteren Aspekt dieser Ausführungsform
entspricht I't dem It.
-
Eine
andere Ausführungsform
der vorliegenden Erfindung schließt ein Magnetspeichermedium, das
eine Schnittstelle aufweist, und einen Controller zum Steuern eines
Mikroprozessors über
die Schnittstelle ein, um ein Ausgangssymbol Ot so
zu erzeugen, dass Ot = αN(t)
+ πN[αN-1(t) + πN-1[αN-2(t) + .. + π2[α1(t)
+ π1[It + α0(t)]]
.. ]], mod W, wobei It ein Eingangssymbol
ist, αN, αN-1, .., α1 α0 N+1
additive Transformationen sind, die durch einen Schlüssel definiert sind, πN, πN-1,
.., π2, π0 N Permutationen sind, die durch den Schlüssel definiert
sind, und W die Anzahl der Möglichkeiten
für jede
Permutation darstellt, die durch den Schlüssel definiert ist.
-
Gemäß einem
weiteren Aspekt dieser Ausführungsform
ist α(t)
eine Sprungfunktion. Gemäß einem
weiteren Aspekt dieser Ausführungsform
inkrementiert αx(t), X = {0, 1, 2, .., N-1, N} die Folge
der πx für
jeden Wert von t, der einem ganzzahligen Vielfachen von R gleich
ist, wobei R eine Primzahl ist. Gemäß einem anderen Aspekt dieser
Ausführungsform dekrementiert αx(t),
X = {0, 1, 2, .., N-1, N} die Folge der πx für jeden Wert
von t, der einem ganzzahligen Vielfachen von R gleich ist, wobei
R eine Primzahl ist. Gemäß einem
anderen Aspekt dieser Ausführungsform
inkrementiert αx(t), X = {0, 1, 2, .., N-1, N} die Folge
der πx für
jeden Wert von t, außer
wenn t gleich einem ganzzahligen Vielfachen von R ist, wobei R eine
Primzahl ist. Gemäß einem
anderen Aspekt dieser Ausführungsform
dekrementiert αx(t), X = {0, 1, 2, .., N-1, N} die Folge
der πx für
jeden Wert von t, außer wenn
t gleich einem ganzzahligen Vielfachen von R ist, wobei R eine Primzahl
ist.
-
Eine
andere Ausführungsform
der vorliegenden Erfindung schließt ein Magnetspeichermedium, das
eine Schnittstelle aufweist, und einen Controller zum Steuern eines
Mikroprozessors über
die Schnittstelle ein, um ein erzeugtes Symbol I't so zu erzeugen,
dass I't = π1 -1[π2 -1[π3 -1 ..[πN-1 -1[πN -1[Ot – αN(t)]– αN-1(t)] – .. – α3(t)] – α2(t)] – α1(t)] – α0(t),
mod W, wobei Ot ein empfangenes Symbol ist, αN, αN-1,
.., α1 α0 N+1 additive Transformationen sind, die
durch einen Schlüssel
definiert sind, π1 -1, π2 -1, π3 -1.., πN-1 -1, πN -1 N inverse Permutationen
sind, die durch den Schlüssel definiert
sind, und W die Anzahl der Möglichkeiten
für jede
Permutation darstellt, die durch den Schlüssel definiert ist.
-
Gemäß einem
weiteren Aspekt dieser Ausführungsform
ist α(t)
eine Sprungfunktion. Gemäß einem
weiteren Aspekt dieser Ausführungsform
inkrementiert αx(t), X = {0, 1, 2, .., N-1, N} die Folge
der πx für
jeden Wert von t, der einem ganzzahligen Vielfachen von R gleich
ist, wobei R eine Primzahl ist. Gemäß einem anderen Aspekt dieser
Ausführungsform dekrementiert αx(t),
X = {0, 1, 2, .., N-1, N} die Folge der πx für jeden
Wert von t, der einem ganzzahligen Vielfachen von R gleich ist,
wobei R eine Primzahl ist. Gemäß einem
anderen Aspekt dieser Ausführungsform
inkrementiert αx(t), X = {0, 1, 2, .., N-1, N} die Folge
der πx für
jeden Wert von t, außer
wenn t gleich einem ganzzahligen Vielfachen von R ist, wobei R eine
Primzahl ist. Gemäß einem
anderen Aspekt dieser Ausführungsform
dekrementiert αx(t), X = {0, 1, 2, .., N-1, N} die Folge
der πx für
jeden Wert von t, außer wenn
t gleich einem ganzzahligen Vielfachen von R ist, wobei R eine Primzahl
ist.
-
Kurze Beschreibung
der Zeichnungen
-
Diese
und andere Ziele, Merkmale und Vorteile der vorliegenden Erfindung
werden durch die folgende ausführliche
Beschreibung deutlich, die bevorzugte, jedoch nicht einschränkende,
Ausführungsformen
enthält.
Die Beschreibung erfolgt mit Bezug auf die begleitenden Zeichnungen,
in denen
-
1 ein
Blockdiagramm eines Kommunikationsereignisses, das durch eine Verschlüsselung gekennzeichnet
ist, zeigt;
-
2 ein
Blockdiagramm ist, das die Implementation der Text/Schlüssel-Relation
der vorliegenden Erfindung zeigt.
-
Ausführliche
Beschreibung der Erfindung
-
Bezugnehmend
auf 1 weist eine Kommunikation einen Ursprungsraum 2 und
einen Bestimmungsraum 4 auf. Der Ursprungsraum 2 definiert den
Ort und die Zeit, an welchem und zu welcher die Kommunikation ihren
Ursprung hat. Der Bestimmungsraum 4 definiert den Ort und
die Zeit, an welchem und zu welcher die Kommunikation dekodiert wird
oder es beabsichtigt ist, dass sie dekodiert wird. Der Ursprungsraum 2 und
der Bestimmungsraum 4 können
räumlich
voneinander getrennt sein. Altemativ können sie an demselben Ort aber
in der Zeit unterschiedlich sein. Die Ort- und Zeitentsprechung zwischen
dem Ursprungsraum 2 und dem Bestimmungsraum 4 hängt von
der Art der jeweiligen Kommunikation ab. Der Ursprungsraum 2 und
der Bestimmungsraum 4 sind durch einen Kommunikationskanal 6 miteinander
assoziiert. Dieser Kommunikationskanal 6 kann einen physikalischen
Raum, wie leere Luft in dem Fall eines Mobiltelefonanrufs, überbrücken. Altemativ
kann der Kommunikationskanal 6 ein zeitweiliger Speicher
für die
Kommunikation sein, während
zwischen dem Ursprungsraum 2 und dem Bestimmungsraum 4 Zeit
vergeht, wie wenn eine Nachricht in dem Speicher eines Computers
von einem ersten Benutzer für
einen zweiten Benutzer zum Lesen auf demselben Computer zu einer
späteren Zeit
hinterlassen wird. Der Kommunikationskanal 6 kann ebenso
eine Kombination dieser beiden sein, wie Telefonkabel und Speicher
in dem Fall einer Übertragung
einer elektronischen Mail.
-
In
dem Ursprungsraum 2 wird die originale Klartextnachricht 8 empfangen
und gemäß der Text/Schlüssel-Relation 14 unter
Verwendung eines bereitgestellten Verschlüsselungsschlüssels 10 verschlüsselt, um
eine chiffrierte Nachricht 16 zu erzeugen. Die chiffrierte
Nachricht 16 wird in dem Bestimmungsraum 4 über den
Kommunikationskanal 6 empfangen. Eine autorisierte Person,
die einen geeigneten Entschlüsselungsschlüssel 20 besitzt,
kann dann den Entschlüsselungsschlüssel 20 dem
Bestimmungsraum 4 zur Verfügung stellen, wo er gemäß der Entschlüsselung-Text/Schlüssel-Relation
22 auf die chiffrierte Nachricht 16 angewendet wird, um eine
neue Klartextnachricht 24 zu erzeugen, die der originalen
Klartextnachricht 8 entspricht.
-
Der
Ursprungsraum 2 und der Bestimmungsraum 4 können z.
B. Computer oder sogar derselbe Computer sein. Ein beispielhafter
Computer kann eine bestimmte Menge an Speicherplatz in der Form eines
Speichers zum Speichern der Text/Schlüssel-Relation aufweisen. Ein
Mikroprozessor oder ähnlicher
Controller kann zusammen mit einer Steuerstruktur und einem Direktzugriffsspeicher
(RAM) zum Speichern des originalen Klartexts und der von dem Benutzer
zur Verfügung
gestellten Schlüssel
in jedem Raum enthalten sein und kann die Funktionen der Verschlüsselungs-/Entschlüsselungseinrichtung ausführen. Eine
Eingabeeinrichtung 26, 28, wie eine Tastatur,
ein Diskettenlaufwerk, eine CD-ROM-Laufwerk, ein biometrischer Leser
oder eine Einrichtung zum Lesen der modalen Funktionen der Quelle
eines sichtbaren Lichtsignals können
ebenfalls vorgesehen werden, um den Schlüssel und die Klartextnachricht von
dem Ursprungsbenutzer und den Schlüssel von dem Bestimmungsbenutzer
anzunehmen. In dem Bestimmungsraum 4 kann ebenso eine Ausgabeeinrichtung 30,
wie ein Monitor, ein Diskettenlaufwerk oder ein Lautsprecher, bereitgestellt
werden, um die neue Klartextnachricht dem Bestimmungsbenutzer zu
präsentieren.
Die Text/Schlüssel-Relation
kann auf einer Diskette oder einer anderen permanenten oder flüchtigen
tragbaren Speichereinrichtung anstelle in der Hardwarespeichereinrichtung
des Computers gespeichert sein, um zu ermöglichen, dass verschieden Text/Schlüssel-Relationen
von verschiedenen Benutzern oder in verschiedenen Situationen verwendet
werden.
-
Die
Text/Schlüssel-Relation
der vorliegenden Erfindung basiert auf dem verflochtenen Verhältnis einer
Menge von M Permutationen zusammen mit N + 1 additiven Transformationen.
In Fällen,
in denen eine Eingangsmitteilung in Blöcken verschlüsselt wird,
wird die Eingangsklartextnachricht It, die
aus t Blöcken
zusammengesetzt ist, gemäß der Relation verschlüsselt, um
die chiffrierte Ausgangsnachricht Ot zu
erzeugen. Die Permutationen, Anfangswerte der additiven Transformationen
und andere Parameter der Text/Schlüssel-Relation werden durch
den Schlüssel
bestimmt.
-
Wie
in 2 gezeigt, erzeugt eine Abbildung gemäß der Text/Schlüssel-Relation
der Erfindung aus einem Eingangssymbol It ein
Ausgangssymbol Ot wie folgt:
Ot = Ft(It)
= αN(t) + πN[αN-1(t) + πN-1[αN-2(t) + .. + π2[α1(t) + π1[It + α0(t)]] .. ]], mod W, wobei αN, αN-1,
.., α1 α0 die N+1 additiven Transformationen, πN, πN-1,
.., π2, π0 die N Permutationen sind und W die Anzahl
der Möglichkeiten
für jede
Permutation darstellt. Das heißt, dass
das Eingangssymbol It modulo-W zu α0(t)
addiert wird, und das Ergebnis in der Permutationstabelle π1 nachgeschlagen
wird. Die Ausgabe des Nachschlagens in π1 wird
modulo-W zu α1(t) addiert und so weiter. Diese Abbildung
des Eingangssymbols It zum Schritt t wird
verwendet, um das Ausgangssymbol Ot zu erzeugen.
-
Die
entsprechende Entschlüsselungsoperation
Ft -1 erfordert,
dass das Eingangssymbol It zum Schritt t
aus dem Ausgangssymbol Ot abgeleitet wird. Dieses
wird gemäß dem folgenden
erreicht:
It = Ft -1(Ot) = π1 -1[π2 -1[π3 -1 ..[πN-1 -1[πN -1[Ot – αN(t)]– αN-1(t)] – α3(t)] – α2(t)] – α1(t)] – α0(t),
mod W, wobei die πi -1 die Inversen
der Permutationen πi sind.
-
Das
heißt,
dass αN(t) von dem Ausgangssymbol Ot modulo-W
subtrahiert wird, und das Resultat in der Permutationstabelle πN -1 nachgeschlagen wird. Das Ergebnis des
Nachschlagens, αN-1(t), wird von dem Resultat modulo-W subtrahiert
und in πN-1 -1 nachgeschlagen
und so weiter.
-
Die
Permutationen π1, π2, .., πN-1, πN werden über
den Raum 0 – W
genommen, woraus W! Möglichkeiten
für π resultieren.
Aus praktischen Gründen kann
eine kleinere Zahl M der W! möglichen
Tabellen für π einem Benutzer
zur Verfügung
gestellt werden, und es kann die kleinere Zahl N für die bestimmte Verschlüsselungsperiode
gewählt
werden, wobei die bestimmten N Tabellen auf der Grundlage von Informationen
in dem Schlüssel
bestimmt werden. Wenn die N Permutationen gewählt sind, werden die Startpunkte
für das
erste Anwenden jeder Permutation durch Informationen in dem Schlüssel bereitgestellt.
-
Die
additiven Transformationen α0, α1, .., αN-1 αN sind Werte, die bestimmen, wie die Permutationen abgeschritten
werden, bevor der nächste
Permutationswert nachgeschlagen wird. Die Inkrementfunktion, die
von den additiven Transformationen zur Verfügung gestellt wird, kann zähler- oder
wertabhängig sein.
Eine zählerabhängige additive
Transformation könnte
z. B. zu einem Inkrementieren der Folge der folgenden Permutationstabelle
um einen Platz alle R mal durch das Verschlüsselungsverfahren hindurch führen, wobei
R vorzugsweise eine große
Primzahl ist. Eine andere zählerabhängige additive
Transformation könnte
zu einem Inkrementieren der Folge der folgenden Permutations tabelle
um einen Platz alle J mal durch das Verschlüsselungsverfahren führen, wobei
J vorzugsweise eine andere große
Primzahl ist. Eine weitere andere zählerabhängige additive Transformation
könnte
zu einem Stocken führen, das
heißt,
zu einem Inkrementieren der Folge der folgenden Permutationstabelle
um einen Platz jedes Mal durch das Verschlüsselungsverfahren hindurch, mit
der Ausnahme von jedem L-ten Mal, wobei L vorzugsweise eine andere
große
Primzahl ist. Eine wertabhängige
additive Transformation kann die Folge der folgenden Permutationstabelle
gemäß dem Wert einer
vorherigen Ausgabe, z. B. der Ausgabe der vorherigen Permutationstabelle
oder eines vorherigen Symbols, inkrementieren. Dieser Wert kann
nicht nur verwendet werden, um zu bestimmen, ob die folgende Folge
inkrementiert wird, sondern ebenso um das Maß zu bestimmen, um das sie
inkrementiert wird.
-
Als
ein nicht einschränkendes
Beispiel wird eine bestimmte Text/Schlüssel-Relation, die acht Permutationen
und neun additive Transformationen aufweist, beschrieben. Die acht
Permutationen Π = π1, π2, π3, π4, π5, π6, π7, π8 werden
z. B. für
die Symbole 0, 1, 2, .., 255 eines Blocks von 256 Symbolen der originalen
Klartextnachricht durchgeführt.
In diesem Beispiel werden die acht Permutationen von einem gespeicherten
Satz von 25 Permutationen gewählt,
und werden z. B. durch die acht Symbole in dem Verschlüsselungsschlüssel bestimmt.
Die neun additiven Transformationen, die in Schritt t der Relation
verwendet werden, sind bezeichnet mit A(t) = α0(t), α1(t), α2(t), α3(t), α4(t), α5(t), α6(t), α7(t), α8(t).
Der Anfangswert an t = 0, A(0) wird z. B. durch neun Symbole in
dem Verschlüsselungsschlüssel bestimmt. Am
Ende jeder Anwendung der Text/Schlüssel-Relation werden in diesem Beispiel die
additiven Transformationen, A(t), deterministisch verändert, die
gewählten
acht Permutationen verbleiben jedoch, bis der Schlüssel geändert wird.
Das Verfahren für
das Ändern
der A(t) variiert für
verschiedene Arten der Text/Schlüssel-Relation.
-
Ein
beispielhaftes Verfahren zum Ändern
der A(t) wird unten als Teil eines Blockchiffriermodus beschrieben.
S(t) = S4(t), S3(t),
S2(t), S1(t) stellt
eine 4-symbolige Klartexteingabe zur Zeit t dar, die zu verschlüsseln ist.
Der Anfangswert des Klartexts zur Zeit i = 0, S(0), ist das 4-symbolige
Eingabewort
I(0) = I4(0), I3(0), I2(0), I1(0); d.n. Sj(0)
= Ij(0), j = 1, .., 4.
-
Für i = 0,
.., 15 (in diesem Beispiel werden 16 Runden von Verschlüsselung
für jeden
Datenblock durchgeführt)
können
die S(t+1) aus dem Zustand S(t) zum Beispiel wie folgt berechnet
werden:
S4(t+1) = Ft(S1(t)),
S3(t+1)
= S4(t+1),
S2(t+1)
= S3(t+1),
S1(t+1)
= Ft(S1(t)) + S2(t),
wobei Ft die
t-te F-Funktion ist, die durch Π definiert ist.
A(t) = α0, α1, α2, α3, α4, α5, α6, α7, α8 und wird wie folgt erzeugt:
Für gegebenes Π, A(0) und
X(4), X(3), X(2), X(1), die verwendet werden, um A(t), t = 1, 2,
3, .., 16 zu erzeugen, werden aus dem Schlüssel 36 4-symbolige
Ausgabewörter
der Blockchiffrierung berechnet. Während des gesamten Verfahrens
wird die Einstellung A(0) aus dem Schlüssel in der Text/Schlüssel-Relation
verwendet und ändert
sich nicht.
-
Dieses
erzeugt insgesamt 144 Symbole, die dann in 16 9-symbolige Folgen
A(1), .., A(16) wie folgt unterteilt werden:
A(1) = die ersten
neun Ausgabesymbole
A(2) = die zweiten neun Ausgabesymbole
..
A(16)
= die letzten neun Ausgabesymbole
-
Diese
Berechnung von A(1), A(2), .., A(16) ist vorzugsweise zu der Zeit
fertig gestellt, zu der der Schlüssel
geladen wird. Dieses wird ausgeführt,
um die Verarbeitung der Kommunikation viel schneller zu machen und
um die Speicheranforderungen zu minimieren.
-
Die
Ausgabe des chiffrierten Texts zu der Zeit t = 16, S(16), ist die
Ausgabe O(0), der Blockchiffriertransformation des Eingabeworts
I(0); das heißt S(16)
= S4(16), S3(16),
S2(16), S1(16) =
O(0) = O4(0), O3(0),
O2(0), O1(0).
-
Die
Folgen A(1), A(2), .., A(16) bilden die Menge der Summanden, die
verwendet werden, um die sechzehn Permutationen zum Verschlüsseln in dem
Blockchiffriermodus zu definieren. Um die Ausgabe zu entschlüsseln werden
die inversen Permutationen und die Summanden in umgekehrter Reihenfolge
verwendet, das heißt,
A(16), A(15), .., A(1).
-
Die
Sicherheit des Blockchiffriermodus basiert auf der Sicherheit der
Text/Schlüssel-Relation und die
kryptoanalytischen widerstehenden Mischungseigenschaften einer iterierten
nichtlinearen Rückkopplungsfunktion.
Die Text/Schlüssel-Relation. ist
eine Symbolpermutation, die aus dem Produkt von N zufällig gewählten Permutationen
besteht, die aus einer Menge von M Permutationen ausgewählt werden,
die wiederum aus der Gesamtmenge von W! Permutationen über W Elemente
ausgewählt
werden. Die N Permutationen ändern
sich gemäß einer deterministischen,
jedoch unbekannten, Regel mit jeder Anwendung der Funktion. Somit
würde,
selbst wenn dieselben Symbole der Text/Schlüssel-Relation in zwei verschiedenen
Runden innerhalb der Verarbeitung eines einzigen Blocks präsentiert
würden,
die Permutation, die auf das Symbol angewendet wird, nur mit einer
Wahrscheinlichkeit von 1/W dieselbe sein. Dieses maximiert die Unsicherheit über die
Gesamtzahl der Runden der Blockchiffrierung.
-
Die
Verwendung der Text/Schlüssel-Relation in
diesem System ist besonders schwer anzugreifen. Die Eingaben weisen
zufällige
Komponenten auf und sind in der Länge beschränkt. Die Ausgaben sind auf eine
Untermenge von Bits aus der resultierenden Ausgabe mit fester Länge beschränkt. Somit
hat man keine passenden Eingabe-Ausgabe-Wörter,
die normalerweise notwendig sind, um eine Relation, die so komplex
ist, wie der Chiffrierblock der vorliegenden Erfindung, zu analysieren.
Des weiteren ist, da der Schlüssel
periodisch, zum Beispiel aller 30 Minuten oder so, geändert werden
kann, die Anzahl der Eingaben, die unter Verwendung eines einzigen
Schlüssels
verarbeitet werden, beschränkt.
Somit macht die unvollständige
Natur des beobachtbaren funktionalen Verhältnisses verbunden mit der
relativ niedrigen Anzahl an funktionalen Werten die Krypotanalyse
der Blockchiffrierung der vorliegenden Erfindung sehr schwierig.
-
Die
Anzahl der Runden (zum Beispiel 16) der Verarbeitung in dem Blockchiffrierungsmodus
kann gewählt
werden, um das nichtlineare Mischen der Inhalte der Register zu maximieren.
Dieses gewährleistet,
dass die Daten in jedem der Register sehr häufig gemäß der Text/Schlüssel-Relation
verarbeitet werden. Zum Beispiel wird das Symbol, das zunächst in der
Stufe 1 ist, gemäß der Text/Schlüssel-Relation
in jeder der 16 Runden der Verarbeitung manipuliert, während das
Symbol, das zunächst
in der Stufe 4 des Registers ist, und gemäß der Text/Schlüssel-Relation
das als letztes zu verarbeitende ist, 12 Mal verarbeitet wird. Somit
stellen die Inhalte jeder Stufe des Blockchiffrierungsregisters
eine stark verknüpfte nichtlineare
Funktion dar, die die Ausgabe mit der Eingabe in Beziehung setzt.
-
Die
Konfiguration der Rückkopplung
resultiert in zumindest zwei vorteilhafte Effekte. Erstens verringert
das lineare Element jegliche Nichtzufälligkeit, die vorhanden sein
mag. Zweitens führt
die Lokalisierung der Rückkopplung
schnell Unterschiede in den nichtlinearen Shift-Registern ein und
behält
sie dort, nachdem sie einmal auftreten, mit einer Wahrscheinlichkeit
gleich derjenigen, die man gemäß dem Zufall
erwartet. Sobald ein unterschiedliches Symbol zur Verarbeitung in
Stufe 1 präsentiert
wird, platziert die Text/Schlüssel-Relation
in der Stufe 4 des Registers in dem nächsten Schritt mit Gewissheit
einen Unterschied und setzt ebenso zufällig einen Unterschied in Stufe 1 des
Registers. Somit hat ein einziger Unterschied in Stufe 1 des
Registers den Effekt, sich selbst mit hoher Wahrscheinlichkeit in
dem nächsten
Schritt der Blochchiffrierverarbeitung zu multiplizieren. Bei der
Addition gibt es immer die Möglichkeit
der Aufhebung, jedoch ist in der gewählten Blockchiffrierkonfiguration
die Wahrscheinlichkeit, dass dieses passiert, nicht größer als
gemäß dem Zufall.
Man betrachte eine Anfangskonfiguration des Registers der Form DSSS,
das heißt
zwei verschiedene Zeiten, zu denen die Anfangszustände der Stufe 4 des
Registers Symbole enthält,
die unterschiedlich sind, wohingegen die anderen drei Stufen des
Registers dieselben Inhalte enthalten. Diese Konfiguration weist
die maximale Verzögerung
auf, bevor die Text/Schlüssel-Relation
angewendet wird. Dann ist, da jeder Schritt der Text/Schlüssel-Relation eine
Permutation ist, bei Schritt 6 der Blockchiffrierverarbeitung
die Inhalt des Registers mit einer Wahrscheinlichkeit p = 1 DDDD.
Bei Schritt 10 der Verarbeitung ist der Inhalt des Registers
mit einer Wahrscheinlichkeit von lediglich (½)32 SSSS,
was man als gemäß dem Zufall
erwarten würde.
Es bleiben jedoch an diesem Punkt noch 6 Schritte auszuführen, bevor eine
Ausgabe erzeugt wird. Jede andere Anfangseingabekonfiguration wird
sogar früher
in der Verarbeitung Unterschiede einführen. Somit ist diese Konstruktion
gegenüber
differentiellen Kryptoanalysetechniken widerstandfähig.
-
Wenn
zum Beispiel insgesamt W = 256! Permutationen von 256 Elementen
vorliegen, von denen die M = 25 Basispermutationen des Systems ausgewählt werden,
beträgt
die Zahl der Mengen von 25 Basispermutationen ungefähr W25 / M!, was enorm ist. Selbst wenn wir jedoch
die Menge von Permutationen als bekannt annehmen, ist die Anzahl
der Schlüssel
immer noch sehr groß.
Wenn 8 Permutationen aus den 25 Permutationen mit Ersetzung gewählt werden,
beträgt
die Zahl möglicher
Mengen von Permutationen ungefähr
258 = 1011. Nun
werden die 16 linearen Summanden, die für die Blockchiffrierung notwendig
sind, durch die Blockchiffrierung erzeugt, die einen unbekannten
32-Bit-Anfangszustand des
Registers mit einem festen unbekannten Summanden, der als 72-Bit-Folge definiert
ist, verarbeitet. Dieses stellt weitere 2104 =
1031 Möglichkeiten
zur Verfügung.
Der gesamte Schlüsselraum
für eine
bekannte Menge von 25 Permutationen ist von der Ordnung 1042. Dieses stellt einen Schlüsselraum
dar, der hinreichend groß ist,
um einen ausschöpfende Schlüsselsuche
bis gut in das nächste
Jahrhundert auszuschließen
und ebenso anderen abkürzenden kryptoanalytischen
Angriffen zu widerstehen, falls es solche geben sollte.
-
Zusätzlich zu
der Auswahl der Basismenge der 256 Elemente, aus denen die Schlüsselvariable gewählt wird,
gibt es eine Anzahl an Varianten der Blockchiffrierung, die Eindeutigkeit
für Authentifizierungszwecke
bereitstellen. Jede dieser Varianten weist einen Leistungseffekt
und eine Sicherheitseffekt auf. Zum Beispiel kann die Länge des
nichtlinearen Registers geändert
werden, um längeren
oder kürzeren
Herausforderungen angepasst zu sein. Die nichtlineare Rückkopplung
zu dem Register kann geändert
werden, oder es kann die Anzahl der Runden der Inkrementierung des
Registers geändert
werden, um Variabilität
zu erhalten. Die Techniken für
das Erzeugen des Satzes von Summanden während der Blockchiffrierverarbeitung
kann geändert
werden, so dass sie ohne Bezug auf den Blockchiffriermodus selbst
sind.
-
Um
einen Eindruck von der Stärke
des Blockchiffriermodus der Text/Schlüssel-Relation der vorliegenden
Erfindung zu geben, werden drei der populärsten Angriffsverfahren, die
in der kryptoanalytischen Literatur der Welt zu finden sind, diskutiert. Diese
Verfahren sind: Schlüssel-Ausschöpfungs- oder
Versuch-und-Irrtum-Angriff, differentielle Kryptoanalyse und algebraischer
Angriff.
-
Ein
Schlüssel-Ausschöpfungs-Angriff
ist ein Brute-Force-Verfahren, in dem jede mögliche Kombination von Bits
als ein möglicher
Schlüssel
erzeugt wird und in einem Versuch auf das System angewendet wird,
zufällig
den gültigen
Schlüssel
zu erzeugen. Für
die acht Permutationen Π = π1, π2, π3, π4, π5, π6, π7, π8 gibt
es 25 × 24 × 23 × 22 × 21 × 20 × 19 × 18 = 43.609.104.000
= 1010,64 Wahlmöglichkeiten und es gibt 2569 = 1021,67 Wahlmöglichkeiten
für die
neun Symbole A(0) für
die anfängliche
additive Transformation. Schließlich
gibt es 2564 = 109,63 Wahlmöglichkeiten
für die
anfängliche
Schlüsselfüllung, X(1), X(2),
X(3), X(4), die verwendet wird, um die A(t), t = 1, 2, 3, .., 16
zu entwickeln.
-
Somit
ist die Schlüsselmannigfaltigkeit
oder die Kardinalzahl des Schlüsselraumes
1010,64+ 21,67 + 9,63 = 1041,94.
Wenn jemand versuchen würde,
sämtliche mögliche Schlüssel in
einer Art eines Versuch-und-Irrtum-Angriffs auszuprobieren, würde er oder
sie erwarten im Durchschnitt den korrekten Schlüssel auf halben Weg des Verfahrens
oder nach etwa 1041,64 Versuchen zu finden.
Ein solcher Angriff würde
unpraktikabel sein und könnte
unter Verwendung der gegenwärtigen
Technologie nicht innerhalb eines Jahrhunderts beendet werden. Wenn
der Schlüssel
nur für
einen bestimmten Zeitraum, zum Beispiel 30 Minuten, als gültig definiert
ist, ist es sehr unwahrscheinlich, dass ein Schlüssel-Erschöpfungs-Angriff erfolgreich
ist.
-
Wahrscheinlich
ist heutzutage der populärste abkürzende kryptoanalytische
Angriff die differentielle Kryptoanalyse. Die Grundidee hinter dem
Angriff besteht dann, die verschlüsselten Versionen von zwei
(oder mehr) Eingabewörtern,
die sehr wenige Unterschiede aufweisen, unter der Annahme miteinander
zu vergleichen, dass die Unterschiede in den Ausgaben von irgendeiner
Untermenge des Schlüssels
oder vielleicht eines verwandten Schlüssels mit kleinerer Mannigfaltigkeit
abhängen.
-
Man
kann sich das folgende Bester-Fall-Szenario für den Angreifer vorstellen:
- 1. Ausgewählte
Paare der 32-Bit-Eingabewörter, die
lediglich einen Unterschied von einem einzigen Bit aufweisen.
- 2. Vergleiche für
jeden der 16 Schritte in der Blockchiffrierung die Resultate nach
jedem Schritt.
- 3. Suche nach Beziehungen zwischen diesen Differenzen und einer
bestimmten Wahl der 21 Symbole in dem Schlüssel.
-
Über die
ersten 8 Schritte können
deterministische Unterschiede erkannt werden, die mit der Schlüsselwahl
zusammenhängen
können.
Nach 9 der 16 Schritte kann jedoch das Unterschiedsmuster nicht
von einer Zufallsauswahl aus den 232 möglichen Unterschiedsmustern
unterschieden werden. Nach diesem neunten Schritt bleiben dem Algorithmus
sieben weitere Schritte, bevor die Ausgabe erzeugt wird, so dass
ein Kryptoanalyst das Resultat für
irgendeine Testung verwenden kann. Diese sieben weiteren Schritte
machen die Unterschiedsmuster noch zufälliger. Es ist daher sehr unwahrscheinlich,
dass diese Art eines Angriffs erfolgreich sein würde.
-
Das
Ergebnis wäre
für einen
algebraischen Angriff nicht besser. Wenn die Permutationen in Form von
Permutationsmatrizen geschrieben sind, sind die Resultate 0-, 1-Matrizen mit genau
einem Wert in jeder Zeile und Spalte. In der algebraischen Darstellung
der Text/Schlüssel-Relation
der vorliegenden Erfindung werden diese Matrizen in verschiedenen Kombinationen
mit den additiven Transformationen miteinander multipliziert. Das
Resultat ist, das der algebraische Ausdruck für eine einzige Eingabe/Ausgabeabbildung
ein Polynom 8-ten Grades ist. Für
den Blockchiffriermodus besitzt der algebraische Ausdruck für die Ausgabe
als Funktion der Eingabe einen höheren
Grad und ist viel komplexer. Selbst wenn jemand einen Weg finden
könnte,
Systeme von Polynomen hohen Grades zu lösen, würden die Gleichungen für den Blockchiffriermodus
in der Praxis nicht lösbar
sein.
-
Eine
praktische Anwendung für
ein Verschlüsselungssystem
der vorliegenden Erfindung ist ein Freund-Feind-Identifikationssystem
(IFF-System). In einem solchen System wird ein Ziel identifiziert
und mithilfe eines verschlüsselten
Abfragesignals abgefragt. Wenn das Ziel freundlich ist, wird es mit
einem Transponder ausgerüstet
sein, der in der Lage ist, die Abfrage zu entschlüsseln, Informationen,
die in der Abfrage enthalten sind, zu lesen und auf der Grundlage
der Informationen eine verschlüsselte
Antwort zur Übertragung
an den Abfragenden zu erzeugen. Wenn der Abfragende eine geeignete Antwort
innerhalb eines geeigneten Antwortfensters empfängt, wird die Antwort als gültig bewertet,
und es wird das Ziel als freundliches Ziel identifiziert. Wenn keine
gültige
Antwort empfangen wird, wird das Ziel als Feind behandelt.
-
Da
verschlüsselte
Signale zwischen dem Abfragenden und dem Transponder übertragen
werden, muss jeder einen gültigen
Schlüssel
oder eine gültige Menge
von Schlüssel,
wenn die Schlüssel
periodisch zu wechseln sind, besitzen. In dem folgenden Beispiel
werden gültige
Schlüssel
alle 30 Minuten aus Sicherheitsgründen geändert. Somit muss jeder Abfragende
und Transponder für
eine Tagesmission mit 48 Schlüsseln
geladen oder gefüllt
werden. Jeder der 48 Schlüssel,
die täglich
in die IFF-Ausrüstung
eingege ben werden, besteht aus 21 Symbolen, K1,
K2, K3, .., K21, und diese werden in diesem Beispiel wie
folgt verwendet:
K1, K2,
K3, K4, K5, K6, K7,
K8 = π1, π2, π3, π4, π5, π6, π7, π8
K9, K10, K11, K12, K13, K14, K15, K16, K17 = α0(t), α1(t), α2(t), α3(t), α4(t), α5(t), α6(t), α7(t), α8(t)
K18, K19, K20, K21 = X(1), X(2),
X(3), X(4)
-
Wenn
jeder der Schlüssel
in die Ausrüstung geladen
wird, werden 144 zusätzliche
Symbole A(1), A(2), .., A(16) berechnet, um die Verarbeitung von IFF- Herausforderungen/Antworten
viel schneller zu machen, und es werden diese an die 21 Schlüsselsymbole
zu insgesamt 165 Symbole K1, K2,
K3, .., K165 angehängt. Der
Speicherbedarf für
die 48 Schlüssel pro
Tag beträgt
somit 48 x 165 = 7920 Symbole, oder etwa 8K Symbole.
-
Wie
oben beschrieben, weist ein bevorzugter Schlüssel zur Verwendung in Zusammenhang
mit dem Verschlüsselungssystem
der Erfindung drei Teile auf:
- 1. Acht Symbole,
die unter den ganzen Zahlen 1, .., 25 zufällig ausgewählt sind.
- 2. Neun Zufallssymbole.
- 3. Vier Zufallssymbole.
-
Mit
Ausnahme der Anforderung, dass die ersten acht Symbole Zufallszahlen
aus dem Bereich 1 bis 25 sind, gibt es für die Erzeugung des Schlüssels keine
Einschränkungen.
Der Schlüsselerzeugungsvorgang
muss jedoch sorgsam überwacht
werden, um zu gewährleisten,
dass er keinerlei Fehler oder nicht-zufällige Eigenschaften entwickelt
hat. Jeder gute bekannte Zufallszahlengenerator ist für diesen
Zweck geeignet.
-
Wenn
die Schlüssel
erzeugt sind, können
sie zur Übertragung
verschlüsselt
werden. Es wird bevorzugt, dass sie gruppiert werden, wobei jede
Gruppe einen Vorrat von einem Monat von 31 × 48 = 1488 Schlüssel enthält.
-
Jede
monatliche Gruppe von Schlüsseln kann
durch die Blockchiffrierung, wie oben beschrieben, unter Verwendung
eines iKey-Encrypting-Keyi (KEK) verschlüsselt werden, der manuell auf
periodischer Basis mit einer Frequenz verteilt wird, so dass die
physika lische Sicherheit adäquat
ist, eine gesetzte Kryptoperiode für das KEK, zum Beispiel ein
Jahr, zu versorgen.
-
Andere
Richtlinien sind für
die Verwaltung von Schlüssel
in einer operativen IFF-Ausrüstung geeignet.
Zum Beispiel Zwei-Tage-Wert-Schlüssel, nämlich todayis-
und tomorrowis-Schlüssel,
sollten in dieser Ausrüstung
gespeichert werden, wenn man annimmt, dass die IFF-Ausrüstung zu
einer Hauptbasis innerhalb einer Periode von zwei Tagen zurückkehrt.
Wenn das nicht der Fall ist, könnte
diese Richtlinie gelockert werden, um die zwei Tage mit der maximalen
Zeit, die die Ausrüstung
von der Basis entfernt ist, zu ersetzen. Ähnliche Sicherheitsbetrachtungen
sollten in anderen Anwendungen des Systems der Erfindung beachtet
werden.
-
Die
Erfindung ist unter Verwendung beispielhafter und bevorzugter Ausführungsformen
beschrieben worden. Der Bereich der vorliegenden Erfindung ist jedoch
nicht auf diese bestimmten offenbarten Ausführungsformen beschränkt. Im
Gegenteil ist die vorliegende Erfindung als verschiedene Änderungen und ähnliche
Anordnungen umfassend zu betrachten. Dem Bereich der Ansprüche sollte
somit die breiteste Interpretation gewährt werden, so dass sämtliche
solche Änderungen
und ähnliche
Anordnungen enthalten sind. Zum Beispiel ist ein beispielhafter Blockchiffriermodus
der vorliegenden Erfindung ausführlich
beschrieben worden. Es ist jedoch für die, die in dem Stand der
Technik über
allgemeine Kenntnisse verfügen,
offensichtlich, dass das Verfahren und die Vorrichtung, die hierin
beschrieben werden, einfach für
eine Klartextnachricht verwendet werden können, die als ein Strom statt
in Blöcken
empfangen und verarbeitet wird, ohne den Bereich der vorliegenden
Erfindung zu verlassen.