DE4016203A1 - Verfahren zur blockweisen chiffrierung von digitalen daten - Google Patents
Verfahren zur blockweisen chiffrierung von digitalen datenInfo
- Publication number
- DE4016203A1 DE4016203A1 DE19904016203 DE4016203A DE4016203A1 DE 4016203 A1 DE4016203 A1 DE 4016203A1 DE 19904016203 DE19904016203 DE 19904016203 DE 4016203 A DE4016203 A DE 4016203A DE 4016203 A1 DE4016203 A1 DE 4016203A1
- Authority
- DE
- Germany
- Prior art keywords
- bit
- block
- key
- register
- elementary operations
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0625—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/125—Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
Description
Die Erfindung betrifft ein Verfahren zur blockweisen
Chiffrierung von digitalen Daten oder von digitalisierten
analogen Daten, bei welchem zu einem Zeitpunkt j der zu
chiffrierende Klartext als binärer Datenblock T(j) von L Bit in
ein erstes Operationsregister eingelesen und anschließend
darin mittels eines temporären Schlüssels S₁(j) und
einer umkehrbaren Funktion F zu einem
Zwischentext C₁(j) umgewandelt wird, worauf der
Zwischentext C₁(j) parallel in ein zweites
Operationsregister übertragen wird, in welchem der
Zwischentext C₁(j) mittels eines temporären
Schlüssels S₂(j) und der umkehrbaren Funktion F zu
einem Zwischentext C₂(j) umgewandelt wird, so daß
nach insgesamt R solcher Umwandlungsschritte der den
Chiffretext C(j) zum Zeitpunkt j darstellende
Zwischentext CR (j) entsteht, wobei die Übertragung
der einzelnen Zwischentexte von dem einen in das
nachfolgende Operationsregister entsprechend dem
systolischen Algorithmus gleichzeitig parallel erfolgt.
Ein derartiges Chiffrierverfahren ohne den systolischen
Algorithmus ist unter der Bezeichnung DES-Verfahren
bekannt und beispielsweise von J. Seberry et al. in
"Cryptography: An Introduction to Computer Security",
Prentice Hall beschrieben.
Nachteilig bei diesem bekannten Verfahren ist jedoch die
nicht ausreichend hohe Verarbeitungsgeschwindigkeit, die
bei heutigen kryptographischen Anwendungen und
gebräuchlichen Datenübertragungsgeschwindigkeiten
gefordert wird.
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren
der eingangs genannten Art so zu verbessern, daß auch bei
den derzeit gebräuchlichen
Datenübertragungsgeschwindigkeiten im Bereich von
140 MBit/sec eine synchrone Chiffrierung möglich ist,
wobei zugleich eine Erhöhung der Datensicherheit bei nur
geringem Mehraufwand an Hardware erreicht werden soll.
Diese Aufgabe wird nach der Erfindung dadurch gelöst, daß
die Umwandlung des im Operationsregister k stehenden
Datenblocks in mehreren Umwandlungsschritten erfolgt,
wobei die Anzahl der Umwandlungsschritte festgelegt ist
und die einzelnen Umwandlungsschritte von
schnellablaufenden Elementaroperationen gebildet sind,
deren Reihenfolge von einer variablen Permutation
Pik (j) bestimmt wird, die Teil des
Schlüssels Sk (j) und so gebildet ist, daß jeder der
Umwandlungsschritte genau einmal vollzogen wird.
Der durch die Erfindung erreichte Fortschritt besteht im
wesentlichen darin, daß durch Anwendung von
Elementaroperationen außergewöhnlich hohe
Verarbeitungsgeschwindigkeiten erreicht werden, da hierfür
meist nur ein einziger Zeittakt erforderlich ist. Durch
die frei wählbare und sich laufend ändernde Reihenfolge
der ablaufenden Elementaroperationen wird dennoch bei
vergleichsweise geringem Aufwand eine außergewöhnlich hohe
Datensicherheit erreicht. Da die Permutation variabel ist
und vom Zeitpunkt j abhängt und die Permutation als
rekursive Funktion für jeden Zeitpunkt j neu bestimmt
wird, stehen für jedes Operationsregister und jeden
Zeitpunkt j insgesamt 10! verschiedene Permutationen zur
Verfügung. Bei einer Anzahl von R Operationsregistern kann
somit für jeden Zeitpunkt aus (10!)R verschiedenen
Abbildungen jeweils eine neue ausgewählt werden. Bereits
bei R=4 erhält man einen zusätzlichen Sicherheitsfaktor von
(10!)⁴<1,73 · 10²⁶, wobei hierfür ein außerordentlich
geringer Mehraufwand an Hardware von etwa 20% erforderlich
ist. Für die Länge L des Datenblocks wird zweckmäßig eine
Zweierpotenz gewählt.
Für den Beginn einer Datenübertragung sieht das Verfahren
vor, daß die Schlüssel S₁(1), S₂(1), . . .,
SR (1) zum ersten Zeitpunkt als Startschlüssel
vorgegeben sind und für eine festgelegte Anzahl von
Zeitpunkten unverändert übernommen werden. Der Satz von
Startschlüsseln muß beiden Teilnehmern gemeinsam bekannt
sein und kann etwa durch ein modernes Public Key Verfahren
ausgeteilt sein. Die möglichen Vorteile eines gewählten
Klartext-Angriffs (bei welchem dem Angreifer ein
Chiffriergerät vorliegt) gegenüber einem bekannten
Klartext-Angriff (bei welchem dem Angreifer Klar- und
zugehöriger Chiffriertext vorliegen), können dadurch
ausgeschlossen werden, daß grundsätzlich eine Vorphase von
ca. 1 sec vorgeschaltet wird, in der ein (nicht
beeinflußbares) physikalisches weißes Rauschen chiffriert
übermittelt und erst dann der zu übermittelnde Text
chiffriert wird.
Vorteilhaft kann hierbei sein, daß die Startschlüssel für
2R Zeitpunkte unverändert übernommen werden.
In bevorzugter Verfahrensweise nach der Erfindung werden
die auf den Startschlüssel folgenden Schlüssel als
rekursive Funktionen aus der Rückführung eines bestimmten
Zwischentextes gebildet. Dies hat den Vorteil, daß ein
Zugriff auf die die folgenden Schlüssel generierenden
Zwischentexte von außen in der Regel nicht möglich ist.
Dabei kann auch vorgesehen sein, daß die Rückführung des
Zwischentextes über Zwischenregister zeitlich verzögert
erfolgt. Die Zeitverschiebung ist notwendig wegen der
Zeitverschiebung durch den systolischen Algorithmus: Der
Empfänger kann erst nach 2R Zeiteinheiten entschlüsselt
haben und ist dann im Besitz sämtlicher zugehöriger
Zwischentexte.
In besonders zweckmäßiger Ausgestaltung der Erfindung ist
vorgesehen, daß die auf den Startschlüssel folgenden
Schlüssel als rekursive Funktionen
Sk (j)=fk(Sk (j-1), CR/2 (j-2R)) berechnet werden.
Sk (j)=fk(Sk (j-1), CR/2 (j-2R)) berechnet werden.
Grundsätzlich kann die Zahl der in einem
Operationsregister durchzuführenden Elementaroperationen
frei gewählt werden. Im Hinblick auf die zur Verfügung
stehende Zahl sinnvoller und zeitlich kurzer Operationen
sieht die Erfindung vor, daß in jedem der
Operationsregister insgesamt zehn Umwandlungsschritte
erfolgen, wobei hierfür zehn unterschiedliche
Elementaroperationen benutzt werden.
Als vorteilhaft hat sich dabei erwiesen, daß für jeden der
Umwandlungsschritte der Datenblock zunächst in ein eigenes
Unterregister übertragen, dort die Elementaroperation
durchgeführt und dann der Datenblock an das
Operationsregister rückübertragen wird, wobei die
Elementaroperationen von speziellen Teilschlüsseln des
temporären Schlüssels Sk (j) abhängen. Hierbei ist es
weiter günstig, wenn das Operationsregister für jeden
Umwandlungsschritt den Datenblock an sämtliche
Unterregister überträgt, der Datenblock in allen
Unterregistern der jeweiligen Elementaroperation
unterworfen wird, und anschließend das Operationsregister
den Datenblock des durch die Permutation Pik (j)
bestimmten Unterregisters übernimmt.
Im Rahmen der Erfindung sind die folgenden
Elementaroperationen vorgesehen:
Eine erste Elementaroperation kann aus einer Addition
bestehen, wobei für den Eingabeblock x=(xi)₀L-1 und
den Teilschlüssel a=(alphai)₀L-1 der Ausgabeblock
y=(yi)₀L-1 berechnet wird durch
yi=xi+alphai mod 2=xi ⊕ alphai.
Eine zweite Elementaroperation kann aus einem bedingten
Austausch bestehen, wobei für den Eingabeblock
x=(xi)₀L-1 und den Teilschlüssel
b=(betai)₀L/2-1 der Ausgabeblock y=(yi) dadurch
berechnet wird, daß xi und xi+L/2 ausgetauscht werden,
falls betai=1 ist.
Eine dritte Elementaroperation kann aus einem bedingten
Austausch bestehen, wobei für den Eingabeblock
x=(xi)₀L-1 und den Teilschlüssel
b=(betai)₀L/2-1 der Ausgabeblock y=(yi) dadurch
berechnet wird, daß xi und xL-1-i ausgetauscht werden,
falls betai=1 ist.
Eine vierte Elementaroperation kann aus einer 2er
Matrix-Multiplikation bestehen, bei der der L-Bit Block
zunächst in L/2 2-Bit Blöcke aufgespalten und anschließend
auf einen jeden solchen eine der Matrix-Operationen
angewandt wird, wobei deren Auswahl durch jeweils einen
2-Bit-Schlüssel gesteuert wird.
Eine fünfte Elementaroperation kann aus
3er-Permutationen bestehen, für die der L-Bit Block
zunächst in [L/3] 3-Bit Untermengen aufgespalten und auf
jeder Untermenge eine Permutation ausgeführt wird, wobei
die Auswahl jeweils durch einen 3-Bit Schlüssel erfolgt.
Eine sechste Elementaroperation kann aus einer
4-Bit-Abbildung bestehen, für die zunächst der L-Bit Block
in L/4 4-Bit Blöcke aufgespalten wird, wobei das Element
eines solchen 4-Bit Blocks als eine Zahl zwischen 0 und
15, d. h. als Element von Z₁₆={0, 1, 2, . . ., 15}
aufgefaßt wird, worauf 4 bÿektive Abbildungen Phi₁,
Phi₂, Phi₃, Phi₄ auf Z₁₆ betrachtet werden und
jeweils eine davon auf einen 4-Bit Block angewandt wird,
wobei die Auswahl durch einen 2-Bit Schlüssel erfolgt.
Eine siebte Elementaroperation kann aus einer 4-Bit
zyklischen Faltung bestehen, bei der zunächst der L-Bit
Block in L/4 4-Bit Blöcke aufgespalten und dann auf jedem
der Blöcke eine zyklische Faltung y=x*c mit
ausgeführt wird, wobei
c=(ci)₀³ ungerade Parität hat und ein 3-Bit
Schlüssel pro 4-Bit-Block die Auswahl unter den
Parameter-Vektoren c steuert.
Eine achte Elementaroperation kann aus einer 8-Bit
zyklischen Faltung bestehen, bei der zunächst der L-Bit
Block in L/8 8-Bit Blöcke aufgespalten und dann auf jedem
der Blöcke eine zyklische Faltung y=x*c mit
ausgeführt wird, wobei
c=(ci)₀⁷ ungerade Parität hat und ein 7-Bit
Schlüssel pro 8-Bit-Block die Auswahl und den
Parameter-Vektoren c steuert.
Eine neunte Elementaroperation kann aus einer zyklischen
Verschiebung Cm bestehen, bei der der L-Bit Block um m=k · L/16
Bit zyklisch verschoben wird, wobei die Auswahl des Wertes
k durch einen ₂log L/16 Bit-Schlüssel erfolgt.
Eine zehnte Elementaroperation kann aus einer 16-Bit
variablen zyklischen Verschiebung bestehen, bei der
zunächst der L-Bit Block in L/16 16-Bit Blöcke aufgeteilt,
dann zu jedem der 16-Bit Blöcke das Hamming-Gewicht w(x)
berechnet und schließlich jeder Block um w(x) Positionen
zyklisch verschoben wird, so daß y=Cw(x) · x ist.
Schließlich besteht auch die Möglichkeit, daß der schon
beschriebene bedingte Austausch ersetzt wird durch einen
allgemeinen bedingten Austausch, wobei der Gesamtblock in
L/2 Teilmengen aufgeteilt wird und die Elemente der i-ten
Teilmenge ausgetauscht werden, falls betai=1 ist für
einen L/2-Bit Teilschlüssel beta=(betai)₀L/2-1.
Im folgenden wird die Erfindung unter Bezugnahme auf die
Zeichnung im einzelnen erläutert; es zeigen:
Fig. 1 eine schematische Darstellung einer Vorrichtung zur
Durchführung des erfindungsgemäßen Verfahrens,
Fig. 2 eine ebenfalls schematische Detaildarstellung eines
Ausschnitts des Gegenstands nach Fig. 1.
Das im folgenden beschriebene Verfahren dient zur
blockweisen Chiffrierung von digitalen Daten oder von
digitalisierten analogen Daten, bei welchem zu einem
Zeitpunkt j der zu chiffrierende Klartext T(j) als binärer
Datenblock von L Bit in ein erstes Operationsregister 1
eingelesen und anschließend darin mittels eines temporären
Schlüssels S₁(j) und einer umkehrbaren Funktion F zu
einem Zwischentext C₁(j) umgewandelt wird. Der
Zwischentext C₁(j) wird anschließend parallel in ein
zweites Operationsregister 2 übertragen, in welchem der
Zwischentext C₁(j) mittels eines temporären
Schlüssels S₂(j) und der umkehrbaren Funktion F zu
einem Zwischentext C₂(j) umgewandelt wird. Nach
insgesamt R solcher Umwandlungsschritte entsteht der den
Chiffretext C(j) zum Zeitpunkt j darstellende
Zwischentext CR (j). Die Übertragung der einzelnen
Zwischentexte von dem einen in das nachfolgende
Operationsregister erfolgt entsprechend dem systolischen
Algorithmus gleichzeitig parallel, so daß eine Erhöhung
der Anzahl der Operationsregister sich nicht auf die
mittlere Durchlaufzeit auswirkt, sondern nur eine höhere
Zeitverschiebung bewirkt. Die Umwandlung des im
Operationsregister k stehenden Datenblocks erfolgt in
mehreren Umwandlungsschritten, wobei die Anzahl der
Umwandlungsschritte festgelegt ist und die einzelnen
Umwandlungsschritte von schnellablaufenden
Elementaroperationen gebildet sind. Die Reihenfolge dieser
Elementaroperationen wird von einer variablen Permutation
Pik (j) bestimmt, die Teil des Schlüssels Sk (j)
und so gebildet ist, daß jeder der Umwandlungsschritte
genau einmal vollzogen wird. Die Elementaroperationen
können hardwaremäßig sehr schnell realisiert werden, so
daß sie zumeist nach einer Taktzeit abgeschlossen sind.
Die Schlüssel S₁(1), S₂(1), . . ., SR (1)
werden zum ersten Zeitpunkt als Startschlüssel vorgegeben
und müssen beiden Teilnehmern etwa durch ein Public Key
Verfahren bekannt sein. Diese Startschlüssel werden für
eine festgelegte Anzahl von Zeitpunkten, etwa für 2R
Zeitpunkte, unverändert übernommen.
Die auf den Startschlüssel folgenden Schlüssel werden dann
als rekursive Funktionen aus der Rückführung eines
bestimmten Zwischentextes gebildet. Die Verwendung eines
Zwischentextes gegenüber dem Klartext oder dem
Chiffriertext (die bei einem Chosen-Plaintext-Angriff
beide bekannt sind) hat den Vorteil, daß dieser wegen der
nur internen Verwendung nicht bekannt wird.
Hierbei ist im übrigen vorgesehen, daß die Rückführung des
Zwischentextes über Zwischenregister zeitlich verzögert
erfolgt. Im einzelnen werden die auf den Startschlüssel
folgenden Schlüssel als rekursive Funktionen
Sk (j)=fk(Sk (j-1), CR/2 (J-2R))
berechnet.
Sk (j)=fk(Sk (j-1), CR/2 (J-2R))
berechnet.
In jedem der Operationsregister 1, 2, 3, 4 erfolgen, wie
sich aus der Fig. 2 zeigt, insgesamt zehn
Umwandlungsschritte, wobei hierfür zehn unterschiedliche
Elementaroperationen benutzt werden. Für jeden der
Umwandlungsschritte wird der Datenblock zunächst in ein
eigenes Unterregister 5 übertragen und dort die
Elementaroperation durchgeführt. Dann wird der Datenblock
an das Operationsregister 1, 2, 3, 4 rückübertragen, wobei
die Elementaroperationen von speziellen Teilschlüsseln des
temporären Schlüssels Sk (j) abhängen.
Aus schaltungstechnischen Gründen ist es vorteilhaft, daß
das Operationsregister für jeden Umwandlungsschritt den
Datenblock an sämtliche Unterregister 5 überträgt. Dort
wird der Datenblock in allen Unterregistern 5 der
jeweiligen Elementaroperation unterworfen. Anschließend
übernimmt das Operationsregister 1, 2, 3, 4 jedoch nur den
Datenblock des Unterregisters 5, das durch die
Permutation Pik (j) bestimmt ist.
Die Elementaroperation des ersten Unterregisters kann aus
einer Addition bestehen, wobei für den Eingabeblock
x=(xi)₀L-1 und den Teilschlüssel
a=(alphai)₀L-1 der Ausgabeblock y=(yi)₀L-1
berechnet wird durch yi=xi+alphai mod 2=xi ⊕ alphai.
Die Elementaroperation des zweiten Unterregisters kann aus
einem bedingten Austausch bestehen, wobei für den
Eingabeblock x=(xi)₀L-1 und den Teilschlüssel
b=(betai)₀L/2-1 der Ausgabeblock y=(yi) dadurch
berechnet wird, daß xi und xi+L/2 ausgetauscht werden,
falls betai=1 ist.
Die Elementaroperation des dritten Unterregisters kann aus
einem bedingten Austausch bestehen, wobei für den
Eingabeblock x=(xi)₀L-1 und den Teilschlüssel
b=(betai)₀L/2-1 der Ausgabeblock y=(yi) dadurch
berechnet wird, daß xi und xL-1-i ausgetauscht werden,
falls betai=1 ist.
Die Elementaroperation des vierten Unterregisters kann aus
einer 2er Matrix-Multiplikation bestehen, bei der der
L-Bit Block zunächst in L/2 2-Bit Blöcke aufgespalten und
anschließend auf einen jeden solchen eine der
Matrix-Operationen
angewandt wird, wobei deren Auswahl durch jeweils einen
2-Bit-Schlüssel gesteuert wird.
Die Elementaroperation des fünften Unterregisters kann aus
3er-Permutationen bestehen, für die der L-Bit Block
zunächst in [L/3] 3-Bit Untermengen aufgespalten und auf
jeder Untermenge eine Permutation ausgeführt wird, wobei
die Auswahl jeweils durch einen 3-Bit Schlüssel erfolgt.
Die Elementaroperation des sechsten Unterregisters kann
aus einer 4-Bit-Abbildung bestehen, für die zunächst der
L-Bit Block in L/4 4-Bit Blöcke aufgespalten wird, wobei
das Element eines solchen 4-Bit Blocks als eine Zahl
zwischen 0 und 15, d. h. als Element von Z₁₆={0, 1, 2,
. . ., 15} aufgefaßt wird, worauf 4 bÿektive Abbildungen
Phi₁, Phi₂, Phi₃, Phi₄ auf Z₁₆ betrachtet
werden und jeweils eine davon auf einen 4-Bit Block
angewandt wird, wobei die Auswahl durch einen 2-Bit
Schlüssel erfolgt.
Die Elementaroperation des siebten Unterregisters kann aus
einer 4-Bit zyklischen Faltung bestehen, bei der zunächst
der L-Bit Block in L/4 4-Bit Blöcke aufgespalten und dann
auf jedem der Blöcke eine zyklische Faltung y=x*c mit
ausgeführt wird, wobei
c=(ci)₀³ ungerade Parität hat und ein 3-Bit
Schlüssel pro 4-Bit-Block die Auswahl unter den
Parameter-Vektoren c steuert.
Die Elementaroperation des achten Unterregisters kann aus
einer 8-Bit zyklischen Faltung bestehen, bei der zunächst
der L-Bit Block in L/8 8-Bit Blöcke aufgespalten und dann
auf jedem der Blöcke eine zyklische Faltung y=x*c mit
ausgeführt wird, wobei
c=(ci)₀⁷ ungerade Parität hat und ein 7-Bit
Schlüssel pro 8-Bit-Block die Auswahl unter den
Parameter-Vektoren c steuert.
Die Elementaroperation des neunten Unterregisters kann aus
einer zyklischen Verschiebung Cm bestehen, bei der der L-Bit
Block um m=k · L/16 Bit zyklisch verschoben wird, wobei die
Auswahl des Wertes k durch einen ₂log L/16 Bit-Schlüssel
erfolgt.
Die Elementaroperation des zehnten Unterregisters kann aus
einer 16-Bit variablen zyklischen Verschiebung bestehen,
bei der zunächst der L-Bit Block in L/16 16-Bit Blöcke
aufgeteilt, dann zu jedem der 16-Bit Blöcke das
Hamming-Gewicht w(x) berechnet und schließlich jeder Block
um w(x) Positionen zyklisch verschoben wird, so daß
y=Cw(x) · x ist.
Es ist jedoch auch möglich, daß der für das zweite bzw.
dritte Unterregister beschriebene bedingte Austausch
ersetzt wird durch einen allgemeinen bedingten Austausch,
wobei der Gesamtblock in L/2 Teilmengen aufgeteilt wird
und die Elemente der i-ten Teilmenge ausgetauscht werden,
falls betai=1 ist für einen L/2-Bit Teilschlüssel
beta=(betai)₀L/2-1.
Die Dechiffrierung erfolgt mit demselben Gerät wie die
Chiffrierung dadurch, daß der Chiffriertext C(j) in das
R-te Operationsregister eingelesen und dort in den
Zwischentext CR-1 (j) umgewandelt wird. Dieser
Zwischentext wird in entsprechender Weise wie bei der
Chiffrierung, nur in umgekehrter Richtung, durch die
einzelnen Operationsregister geschickt, wodurch sukzessiv
die entsprechenden Zwischentexte und schließlich zuletzt
der gewünschte Klartext geliefert wird. Die
Umkehrabbildung durch die einzelnen Umwandlungsschritte
wird durch dieselbe Abbildung F in den einzelnen
Operationsregistern beschrieben. Die invertierende Wirkung
wird dadurch erzielt, daß der jeweilige Schlüssel durch
einen inversen Schlüssel ersetzt wird.
Bei der 3er-Permutation erfolgt die Invertierung dadurch,
daß die zugehörigen inversen Permutationen in der analogen
Reihenfolge aufgelistet werden. Wird durch den Schlüssel
bei der Chiffrierung die k-te Permutation Pik
ausgewählt, dann wird durch denselben Schlüssel bei der
Dechiffrierung die inverse Permutation Pik -1
ausgewählt.
Bei der 4-Bit-Abbildung erfolgt die Invertierung dadurch,
daß die inversen Abbildungen Phi₁-1, Phi₂-1,
Phi₃-1, Phi₄-1 in der gleichen Reihenfolge
aufgelistet und durch denselben Schlüssel ausgewählt
werden.
Bei der 4-Bit zyklischen Faltung geschieht die
Invertierung dadurch, daß die inversen Faktoren C-1 in
derselben Reihenfolge aufgelistet und durch denselben
Schlüssel ausgewählt werden.
Bei der zyklischen Verschiebung erfolgt die Invertierung
durch zyklische Verschiebung um -m=-k · L/16 Bit.
Bei der 16-Bit variablen zyklischen Verschiebung erfolgt
die Invertierung dadurch, daß das Hamming-Gewicht von y
berechnet wird, also Cw(y) und um -w(y) Positionen
zyklisch verschoben wird, so daß x=C-w(y) · y. Hier ist zu
beachten, daß w(x)=w(y), wobei ein Schlüssel hier nicht
auftritt.
Claims (20)
1. Verfahren zur blockweisen Chiffrierung von digitalen
Daten oder von digitalisierten analogen Daten, bei
welchem zu einem Zeitpunkt j der zu chiffrierende
Klartext als binärer Datenblock T(j) von L Bit in ein
erstes Operationsregister (1) eingelesen und
anschließend darin mittels eines temporären
Schlüssels S₁(j) und einer umkehrbaren Funktion F
zu einem Zwischentext C₁(j) umgewandelt wird,
worauf der Zwischentext C₁(j) parallel in ein
zweites Operationsregister (2) übertragen wird, in
welchem der Zwischentext C₁(j) mittels eines
temporären Schlüssels S₂(j) und der umkehrbaren
Funktion F zu einem Zwischentext C₂(j)
umgewandelt wird, so daß nach insgesamt R solcher
Umwandlungsschritte der den Chiffretext C(j) zum
Zeitpunkt j darstellende Zwischentext CR (j)
entsteht, wobei die Übertragung der einzelnen
Zwischentexte von dem einen in das nachfolgende
Operationsregister entsprechend dem systolischen
Algorithmus gleichzeitig parallel erfolgt, dadurch
gekennzeichnet, daß die Umwandlung des im
Operationsregister k stehenden Datenblocks in mehreren
Umwandlungsschritten erfolgt, wobei die Anzahl der
Umwandlungsschritte festgelegt ist und die einzelnen
Umwandlungsschritte von schnellablaufenden
Elementaroperationen gebildet sind, deren Reihenfolge
von einer variablen Permutation Pik (j) bestimmt
wird, die Teil des Schlüssels Sk (j) und so
gebildet ist, daß jeder der Umwandlungsschritte genau
einmal vollzogen wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß
die Schlüssel S₁(1), S₂(1), . . ., SR (1)
zum ersten Zeitpunkt als Startschlüssel vorgesehen
sind und für eine festgelegte Anzahl von Zeitpunkten
unverändert übernommen werden.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß
die Startschlüssel für 2R Zeitpunkte unverändert
übernommen werden.
4. Verfahren nach Anspruch 2 oder 3, dadurch
gekennzeichnet, daß die auf den Startschlüssel
folgenden Schlüssel als rekursive Funktionen aus der
Rückführung eines bestimmten Zwischentextes gebildet
werden.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß
die Rückführung des Zwischentextes über
Zwischenregister zeitlich verzögert erfolgt.
6. Verfahren nach einem der Ansprüche 2 bis 5, dadurch
gekennzeichnet, daß die auf den Startschlüssel
folgenden Schlüssel als rekursive Funktionen
Sk (j)=fk(Sk (j-1), CR/2 (j-2R))
berechnet werden.
7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch
gekennzeichnet, daß in jedem der
Operationsregister (1, 2, 3, 4) insgesamt zehn
Umwandlungsschritte erfolgen, wobei hierfür zehn
unterschiedliche Elementaroperationen benutzt werden.
8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch
gekennzeichnet, daß für jeden der Umwandlungsschritte
der Datenblock zunächst in ein eigenes
Unterregister (5) übertragen, dort die
Elementaroperation durchgeführt und dann der
Datenblock an das Operationsregister (1, 2, 3, 4)
rückübertragen wird, wobei die Elementaroperationen
von speziellen Teilschlüsseln des temporären
Schlüssels Sk (j) abhängen.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, daß
das Operationsregister (1, 2, 3, 4) für jeden
Umwandlungsschritt den Datenblock an sämtliche
Unterregister (5) überträgt, der Datenblock in allen
Unterregistern (5) der jeweiligen Elementaroperation
unterworfen wird, und anschließend das
Operationsregister (1, 2, 3, 4) den Datenblock des durch
die Permutation Pik (j) bestimmten
Unterregisters (5) übernimmt.
10. Verfahren nach einem der Ansprüche 1 bis 9, dadurch
gekennzeichnet, daß eine der Elementaroperationen aus
einer Addition besteht, wobei für den Eingabeblock
x=(xi)₀L-1 und den Teilschlüssel
a=(alphai)₀L-1 der Ausgabeblock
y=(yi)₀L-1 berechnet wird durch
yi=xi+alphai mod 2=xi ⊕ alphai.
11. Verfahren nach einem der Ansprüche 1 bis 9, dadurch
gekennzeichnet, daß eine der Elementaroperationen aus
einem bedingten Austausch besteht, wobei für den
Eingabeblock x=(xi)₀L-1 und den Teilschlüssel
b=(betai)₀L/2-1 der Ausgabeblock y=(yi)
dadurch berechnet wird, daß xi und xi+L/2
ausgetauscht werden, falls betai=1 ist.
12. Verfahren nach einem der Ansprüche 1 bis 9, dadurch
gekennzeichnet, daß eine der Elementaroperationen aus
einem bedingten Austausch besteht, wobei für den
Eingabeblock x=(xi)₀L-1 und den Teilschlüssel
b=(betai)₀L/2-1 der Ausgabeblock y=(yi)
dadurch berechnet wird, daß xi und xL-1-i
ausgetauscht werden, falls betai=1 ist.
13. Verfahren nach einem der Ansprüche 1 bis 9, dadurch
gekennzeichnet, daß eine der Elementaroperationen aus
einer 2er Matrix-Multiplikation besteht, bei der der
L-Bit Block zunächst in L/2 2-Bit Blöcke aufgespalten
und anschließend auf einen jeden solchen eine der
Matrix-Operationen
angewandt wird, wobei deren Auswahl durch jeweils
einen 2-Bit-Schlüssel gesteuert wird.
14. Verfahren nach einem der Ansprüche 1 bis 9, dadurch
gekennzeichnet, daß eine der Elementaroperationen aus
3er-Permutationen besteht, für die der L-Bit Block
zunächst in [L/3] 3-Bit Untermengen aufgespalten und
auf jeder Untermenge eine Permutation ausgeführt wird,
wobei die Auswahl jeweils durch einen 3-Bit-Schlüssel
erfolgt.
15. Verfahren nach einem der Ansprüche 1 bis 9, dadurch
gekennzeichnet, daß eine der Elementaroperationen aus
einer 4-Bit-Abbildung besteht, für die zunächst der
L-Bit Block in L/4 4-Bit Blöcke aufgespalten wird,
wobei das Element eines solchen 4-Bit Blocks als eine
Zahl zwischen 0 und 15, d. h. als Element von Z₁₆=
{0, 1, 2, . . ., 15} aufgefaßt wird, worauf 4 bÿektive
Abbildungen Phi₁, Phi₂, Phi₃, Phi₄ auf Z₁₆
betrachtet werden und jeweils eine davon auf einen
4-Bit Block angewandt wird, wobei die Auswahl durch
einen 2-Bit Schlüssel erfolgt.
16. Verfahren nach einem der Ansprüche 1 bis 9, dadurch
gekennzeichnet, daß eine der Elementaroperationen aus
einer 4-Bit zyklischen Faltung besteht, bei der
zunächst der L-Bit Block in L/4 4-Bit Blöcke
aufgespalten und dann auf jedem der Blöcke eine
zyklische Faltung y=x*c mit
ausgeführt wird, wobei
c=(ci)₀³ ungerade Parität hat und ein 3-Bit
Schlüssel pro 4-Bit-Block die Auswahl unter den
Parameter-Vektoren c steuert.
17. Verfahren nach einem der Ansprüche 1 bis 9, dadurch
gekennzeichnet, daß eine der Elementaroperationen aus
einer 8-Bit zyklischen Faltung besteht, bei der
zunächst der L-Bit Block in L/8 8-Bit Blöcke
aufgespalten und dann auf jedem der Blöcke eine
zyklische Faltung y=x*c mit
ausgeführt wird, wobei
c=(ci)₀⁷ ungerade Parität hat und ein 7-Bit
Schlüssel pro 8-Bit-Block die Auswahl unter den
Parameter-Vektoren c steuert.
18. Verfahren nach einem der Ansprüche 1 bis 9, dadurch
gekennzeichnet, daß eine der Elementaroperationen aus
einer zyklischen Verschiebung Cm besteht, bei der der
L-Bit Block um m=k · L/16 Bit zyklisch verschoben wird,
wobei die Auswahl des Wertes k durch einen ₂log L/16
Bit-Schlüssel erfolgt.
19. Verfahren nach einem der Ansprüche 1 bis 9, dadurch
gekennzeichnet, daß eine der Elementaroperationen aus
einer 16-Bit variablen zyklischen Verschiebung
besteht, bei der zunächst der L-Bit Block in L/16
16-Bit Blöcke aufgeteilt, dann zu jedem der 16-Bit
Blöcke das Hamming-Gewicht w(x) berechnet und
schließlich jeder Block um w(x) Positionen zyklisch
verschoben wird, so daß y=Cw(x) · x ist.
20. Verfahren nach Anspruch 11 oder 12, dadurch
gekennzeichnet, daß der dort beschriebene bedingte
Austausch ersetzt wird durch einen allgemeinen
bedingten Austausch, wobei der Gesamtblock in L/2
Teilmengen aufgeteilt wird und die Elemente der i-ten
Teilmenge ausgetauscht werden, falls betai=1 ist für
einen L/2-Bit Teilschlüssel beta=(betai)₀L/2-1.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19904016203 DE4016203A1 (de) | 1990-05-19 | 1990-05-19 | Verfahren zur blockweisen chiffrierung von digitalen daten |
PCT/DE1991/000413 WO1991018460A1 (de) | 1990-05-19 | 1991-05-18 | Verfahren zur blockweisen chiffrierung von digitalen daten |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19904016203 DE4016203A1 (de) | 1990-05-19 | 1990-05-19 | Verfahren zur blockweisen chiffrierung von digitalen daten |
Publications (1)
Publication Number | Publication Date |
---|---|
DE4016203A1 true DE4016203A1 (de) | 1991-11-21 |
Family
ID=6406813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19904016203 Withdrawn DE4016203A1 (de) | 1990-05-19 | 1990-05-19 | Verfahren zur blockweisen chiffrierung von digitalen daten |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE4016203A1 (de) |
WO (1) | WO1991018460A1 (de) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997044935A1 (en) * | 1996-05-20 | 1997-11-27 | Philips Electronics N.V. | Cryptographic method and apparatus for non-linearly merging a data block and a key |
EP0874496A2 (de) * | 1997-04-23 | 1998-10-28 | Matsushita Electric Industrial Co., Ltd. | Verfahren und Einrichtung zur kryptographischen Verarbeitung und Speichermedium zur Speicherung eines kryptographischen Verarbeitungsprogramms zur Verbesserung der Sicherheit ohne beachtliche Vergrösserung der Hardware und der Verarbeitungzeit |
DE19724072A1 (de) * | 1997-06-07 | 1998-12-10 | Deutsche Telekom Ag | Vorrichtung zur Durchführung eines Blockchiffrierverfahrens |
WO1999000930A1 (fr) * | 1997-11-28 | 1999-01-07 | Otkrytoe Aktsionernoe Obschestvo 'moskovskaya Goro | Procede de transformation cryptographique de blocs d'entree de donnees numeriques a l bits en blocs de sortie a l bits |
FR2778519A1 (fr) * | 1998-02-27 | 1999-11-12 | Mosaid Technologies Inc | Processeur de chiffrement avec interconnexion a memoire partagee |
WO2002073878A1 (fr) * | 2001-03-13 | 2002-09-19 | Gemplus | Dispositif de permutation de fils electriques commande electroniquement |
CN108848073A (zh) * | 2018-05-31 | 2018-11-20 | 唐山智能电子有限公司 | 对实时数据采集系统的数据进行加密解密的方法以及系统 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3746098B2 (ja) * | 1996-02-28 | 2006-02-15 | 株式会社日立製作所 | データの暗号化装置 |
AU716807B2 (en) * | 1996-02-28 | 2000-03-09 | Hitachi Limited | Method and apparatus for encrypting data |
DE19707288A1 (de) * | 1997-02-24 | 1998-08-27 | Andreas Kuehnl | Mittel zur sicheren Chiffrierung jeglicher Art von Daten |
FI107669B (fi) * | 1998-02-13 | 2001-09-14 | Nokia Mobile Phones Ltd | Menetelmä ja järjestely tiedonsiirron salaamiseksi |
DE19807020A1 (de) * | 1998-02-19 | 1999-08-26 | Kuehnl | Mittel zur sicheren Chiffrierung von Daten |
US6711624B1 (en) * | 1999-01-13 | 2004-03-23 | Prodex Technologies | Process of dynamically loading driver interface modules for exchanging data between disparate data hosts |
GB2387088B (en) * | 2002-03-26 | 2005-06-01 | Gordon Geoffrey Hodson | Method and apparatus for data encryption/decryption |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CH558993A (de) * | 1973-03-19 | 1975-02-14 | Patelhold Patentverwertung | Verfahren und einrichtung zur verschluesselten nachrichtenuebertragung. |
DE2658065A1 (de) * | 1976-12-22 | 1978-07-06 | Ibm Deutschland | Maschinelles chiffrieren und dechiffrieren |
SE7714587L (sv) * | 1977-12-21 | 1979-06-22 | Brendstrom Hugo | System for meddelanden |
FR2582174B1 (fr) * | 1985-05-15 | 1990-03-09 | Thomson Csf | Dispositif de chiffrement par substitutions-permutations |
US4731843A (en) * | 1985-12-30 | 1988-03-15 | Paradyne Corporation | Method and device of increasing the execution speed of cipher feedback mode of the DES by an arbitrary multiplier |
US5008935A (en) * | 1989-06-30 | 1991-04-16 | At&T Bell Laboratories | Efficient method for encrypting superblocks of data |
-
1990
- 1990-05-19 DE DE19904016203 patent/DE4016203A1/de not_active Withdrawn
-
1991
- 1991-05-18 WO PCT/DE1991/000413 patent/WO1991018460A1/de unknown
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997044935A1 (en) * | 1996-05-20 | 1997-11-27 | Philips Electronics N.V. | Cryptographic method and apparatus for non-linearly merging a data block and a key |
US6459792B2 (en) | 1997-04-23 | 2002-10-01 | Matsushita Electric Industrial Co., Ltd. | Block cipher using key data merged with an intermediate block generated from a previous block |
EP0874496A2 (de) * | 1997-04-23 | 1998-10-28 | Matsushita Electric Industrial Co., Ltd. | Verfahren und Einrichtung zur kryptographischen Verarbeitung und Speichermedium zur Speicherung eines kryptographischen Verarbeitungsprogramms zur Verbesserung der Sicherheit ohne beachtliche Vergrösserung der Hardware und der Verarbeitungzeit |
EP0874496A3 (de) * | 1997-04-23 | 2000-04-05 | Matsushita Electric Industrial Co., Ltd. | Verfahren und Einrichtung zur kryptographischen Verarbeitung und Speichermedium zur Speicherung eines kryptographischen Verarbeitungsprogramms zur Verbesserung der Sicherheit ohne beachtliche Vergrösserung der Hardware und der Verarbeitungzeit |
DE19724072A1 (de) * | 1997-06-07 | 1998-12-10 | Deutsche Telekom Ag | Vorrichtung zur Durchführung eines Blockchiffrierverfahrens |
WO1998057461A1 (de) * | 1997-06-07 | 1998-12-17 | Deutsche Telekom Ag | Vorrichtung zur durchführung eines blockchiffrierverfahrens |
DE19724072C2 (de) * | 1997-06-07 | 1999-04-01 | Deutsche Telekom Ag | Vorrichtung zur Durchführung eines Blockchiffrierverfahrens |
US6760439B1 (en) | 1997-06-07 | 2004-07-06 | Deutsche Telekom Ag | Device for implementing a block-ciphering process |
US7142673B1 (en) | 1997-11-28 | 2006-11-28 | Otkrytoye aktsionernoye obschestvo “Moskovskaya Gorodskaya Telefonnaya Set” | Method for the cryptographic conversion of L-bit input blocks of digital data into L-bit output blocks |
WO1999000930A1 (fr) * | 1997-11-28 | 1999-01-07 | Otkrytoe Aktsionernoe Obschestvo 'moskovskaya Goro | Procede de transformation cryptographique de blocs d'entree de donnees numeriques a l bits en blocs de sortie a l bits |
FR2778519A1 (fr) * | 1998-02-27 | 1999-11-12 | Mosaid Technologies Inc | Processeur de chiffrement avec interconnexion a memoire partagee |
USRE44697E1 (en) | 1998-02-27 | 2014-01-07 | Mosaid Technologies Incorporated | Encryption processor with shared memory interconnect |
FR2822310A1 (fr) * | 2001-03-13 | 2002-09-20 | Gemplus Card Int | Dispositif de permutation de fils electriques commande electroniquement |
WO2002073878A1 (fr) * | 2001-03-13 | 2002-09-19 | Gemplus | Dispositif de permutation de fils electriques commande electroniquement |
CN108848073A (zh) * | 2018-05-31 | 2018-11-20 | 唐山智能电子有限公司 | 对实时数据采集系统的数据进行加密解密的方法以及系统 |
CN108848073B (zh) * | 2018-05-31 | 2021-04-13 | 唐山智能电子有限公司 | 对实时数据采集系统的数据进行加密解密的方法以及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO1991018460A1 (de) | 1991-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19827904C2 (de) | Blockchiffrier- oder -dechiffrierverfahren und Blockchiffrier- oder -dechiffriervorrichtung | |
DE69731470T2 (de) | Spiral-verwürfelungsverfahren | |
DE4016203A1 (de) | Verfahren zur blockweisen chiffrierung von digitalen daten | |
EP0482154B1 (de) | Vorrichtung für das umwandeln eines digitalblockes und verwendung derselben | |
DE69931606T2 (de) | Datenwandler und aufzeichnungsmedium zur aufnahme eines programms zur datenumwandlung | |
DE69916160T2 (de) | Vorrichtung und Verfahren zur kryptographischen Verarbeitung sowie Aufzeichnungsmedium zum Aufzeichnen eines kryptographischen Verarbeitungsprogramms zur Ausführung einer schnellen kryptographischen Verarbeitung ohne Preisgabe der Sicherheit | |
DE602005002632T2 (de) | Schlüsselmaskierung für kryptographische Prozesse mittels einer Kombination von Zufallsmaskenwerten | |
DE19744961A1 (de) | Erzeugen eindeutiger und unvorhersagbarer Werte | |
DE69831982T2 (de) | Kryptographisches vermittlungsverfahren und gerät | |
DE2341627A1 (de) | Digitaldatenverschluesselungsvorrichtung | |
DE10148415C2 (de) | Verfahren und Vorrichtung zum Verschlüsseln und Entschlüsseln von Daten | |
DE2231835A1 (de) | Verfahren zur in mehreren stufen erfolgenden ver- und entschluesselung binaerer daten | |
DE102008010789B4 (de) | Verfahren zur zugriffs- und kommunikationsbezogenen Zufallsver- und Entschlüsselung von Daten | |
DE60221850T2 (de) | Verfahren und vorrichtung zur datenverschlüsselung | |
DE2146752B2 (de) | Nachrichtenübertragungsverfahren mit wählbarer Codierung und Sender zur Durchführung dieses Verfahrens | |
DE2805294C2 (de) | Codierende Übertragungsanlage für Faksimile-Signale | |
DE69729297T2 (de) | Verschlüsselungsvorrichtung für binärkodierte nachrichten | |
DE69735290T2 (de) | Verfahren zur unsymmetrischen kryptographischen kommunikation und zugehöriger tragbarer gegenstand | |
DE1512173A1 (de) | Demodulator | |
DE10345378B4 (de) | Verfahren und Vorrichtung zur Ver-/Entschlüsselung | |
DE102004038594B4 (de) | Verschlüsselungsverfahren und -vorrichtung | |
DE10352680A1 (de) | Verschlüsselungsvorrichtung und Verschlüsselungsverfahren | |
DE60128309T2 (de) | Schaltung zur Erzeugung eines Verschlüsselungsnebenschlüssels | |
DE3828864A1 (de) | Mehrstufen-quadraturamplitudenmodulations- und demodulationssystem | |
DE69829566T2 (de) | Verschlüsselungsgerät |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8139 | Disposal/non-payment of the annual fee |