Die Erfindung bezieht sich auf eine
Verschlüsselungsvorrichtung
und ein -verfahren und insbesondere auf eine Verschlüsselungsvorrichtung
und ein -verfahren, die die Sicherheit eines Chiffretextes, der
bei einer Blockverschlüsselung
vom Feistel-Typ erhalten wurde, verbessern kann.The invention relates to a
encryptor
and a method and in particular to an encryption device
and a method that ensures the security of a ciphertext that
with block encryption
of the Feistel type can be improved.
Ein Verschlüsselungsverfahren ist bekannt, bei
dem eine Chiffre bzw. ein Schlüssel
mit einer relativ niedrigen Sicherheit als eine Rundfunktion (round-function)
betrachtet wird, und die Sicherheit der Chiffre durch Stapeln einer
Mehrzahl der Rundfunktionen verbessert wird. Eine derartige Chiffre wird
eine Produktverschlüsselung
genannt. Da insbesondere die Blockverschlüsselung vom Feistel-Typ sowohl
bei einer Verschlüsselungsschaltung als
auch bei einer Eetschlüsselungsschaltung
gemeinsam verwendet werden kann, gibt es einen Vorteil, weil die
Größe der Vorrichtung
verringert werden kann. Eine derartige Verschlüsselungsvorrichtung wird in "Modern Encryption
Theory", verfasst
von Shinichi Ikeno und Kenji Koyama und veröffentlicht von The Institute
of Electronics, Information and Communication Engineers, offenbart.An encryption method is known at
a cipher or a key
with a relatively low security as a round function
is considered, and the security of the cipher by stacking one
Most of the round functions are improved. Such a cipher will
a product encryption
called. Since in particular block encryption of the Feistel type both
with an encryption circuit as
even with an Ekey key circuit
can be used together, there is an advantage because the
Device size
can be reduced. Such an encryption device is described in "Modern Encryption
Theory "
by Shinichi Ikeno and Kenji Koyama and published by The Institute
of Electronics, Information and Communication Engineers.
Die japanischen Patentanmeldungen
mit den KOKAI-Veröffentlichungs-Nr.
51-108701 und 51-108702 offenbaren das Grundkonzept einer Verschlüsselung
vom DES-Typ (Data Encryption Standard type), der als eine typische
Verschlüsselung
der Blockverschlüsselung
vom Feistel-Typ bekannt ist.The Japanese patent applications
with the KOKAI publication no.
51-108701 and 51-108702 disclose the basic concept of encryption
DES (Data Encryption Standard type), which is considered a typical
encoding
block encryption
of the Feistel type is known.
Außerdem offenbart die japanische
Patentanmeldung KOKAI-Veröffentlichungs-Nr.
6-266284 ein Verfahren, bei dem ein als eine Bitfolge dienender vorübergehender
Schlüssel
zum Steuern einer Verschlüsselung
jedes Mal aktualisiert wird, wenn die Verschlüsselung ausgeführt wird,
wodurch eine große
Anzahl von Chiffretexten, die durch Verschlüsseln mit dem gleichen Schlüssel beim
Verschlüsseln
eines langen Klartextes erhalten werden, einem Bediener nicht zur
Verfügung
gestellt werden.In addition, the Japanese discloses
Patent application KOKAI publication no.
6-266284 a method in which a temporary serving as a bit string
key
to control encryption
updated every time encryption is performed
making a big one
Number of ciphertexts that are encrypted with the same key at
encode
a long plain text can be obtained, not for an operator
disposal
be put.
Als ein nützliches Verfahren zum Entschlüsseln der
oben erwähnten
Blockverschlüsselung
vom Feistel-Typ ist ein differentieller Angriff bekannt, bei dem
die Beziehung zwischen der Eingabe und der Ausgabe in einem Umwandlungsabschnitt
berücksichtigt
wird, um den Schlüssel
zu analysieren. Um den Chiffretext gegen den obigen differentiellen
Angriff zu schützen,
kann die Anzahl von Stufen des Umwandlungsabschnitts erhöht werden.As a useful method to decrypt the
mentioned above
block encryption
a Feistel-type differential attack is known in which
the relationship between the input and the output in a conversion section
considered
will be the key
analyze. To the ciphertext against the above differential
To protect attack
the number of stages of the conversion section can be increased.
Die folgenden Probleme traten jedoch
bei dem oben erwähnten
Stand der Technik auf.However, the following problems occurred
in the above
State of the art.
Genauer gesagt wird, wenn die Anzahl
von Stufen des Umwandlungsabschnitts erhöht wird, um den Chiffretext
gegen den differentiellen Angriff zu schützen, die Verarbeitungsgeschwindigkeit
verringert. Umgekehrt wird, wenn die Anzahl von Stufen des Umwandlungsabschnitts
unter Berücksichtigung der
Verarbeitungsgeschwindigkeit verringert wird, der Chiffretext durch
den differentiellen Angriff entschlüsselt.More specifically, if the number
of levels of the conversion section is increased to the ciphertext
to protect against the differential attack, the processing speed
reduced. Conversely, when the number of stages of the conversion section
under consideration of
Processing speed is reduced by the ciphertext
decrypted the differential attack.
Eine Aufgabe der Erfindung besteht
darin, eine Verschlüsselungsvorrichtung
und ein -verfahren bereitzustellen, die die Sicherheit eines Chiffretexts sogar
in einem Fall verbessern können,
bei dem eine Vorrichtung durch einen Umwandlungsabschnitt mit einer
kleinen Anzahl von Stufen unter Berücksichtigung einer Verarbeitungsgeschwindigkeit
strukturiert ist.An object of the invention is
therein an encryption device
and to provide a method that even improves the security of a ciphertext
can improve in one case
in which a device through a conversion section with a
small number of stages considering a processing speed
is structured.
Um die obige Aufgabe zu erreichen,
wird gemäß einem
ersten Aspekt der Erfindung eine Verschlüsselungsvorrichtung mit einer
Mehrzahl Stufen von Umwandlungsabschnitten bereitgestellt, wobei jeder
Umwandlungsabschnitt umfasst: Speichermittel zum Speichern eines
internen Zustands; Intern-Zustandsaktualisierungsmittel
zum Aktualisieren des internen Zustands, der in dem Speichermittel gespeichert
ist; und Verschlüsselungsmittel
zum Ausführen
einer Verschlüsselung
bei Empfang zu verschlüsselnder
Daten, eines Verschlüsselungsschlüssels und
des in dem Speichermittel gespeicherten internen Zustands, wobei
der in dem Speichermittel gespeicherte interne Zustand von dem Intern-Zustandsaktualisierungsmittel
jedes Mal aktualisiert wird, wenn die Verschlüsselung von dem Verschlüsselungsmittel
ausgeführt
wird.To accomplish the above task
is according to a
first aspect of the invention an encryption device with a
A plurality of stages of conversion sections are provided, each
Conversion section includes: storage means for storing a
internal state; Internal state update means
to update the internal state stored in the storage means
is; and encryption means
to run
encryption
to be encrypted on receipt
Data, an encryption key and
the internal state stored in the storage means, wherein
the internal status stored in the storage means from the internal status update means
is updated every time the encryption from the encryption means
accomplished
becomes.
Gemäß einem zweiten Aspekt der
Erfindung wird eine Verschlüsselungsvorrichtung
mit einer Mehrzahl Stufen von Umwandlungsabschnitten bereitgestellt,
wobei jeder Umwandlungsabschnitt umfasst: Speichermittel zum Speichern
eines internen Zustands; Intern-Zustandsaktualisierungsmittel zum Aktualisieren
des internen Zustands, der in dem Speichermittel gespeichert ist;
Verschlüsselungsmittel
zum Ausführen
einer Verschlüsselung
bei Empfang von zu verschlüsselnden
Daten, eines Verschlüsselungsschlüssels und
des in dem Speichermittel gespeicherten internen Zustands; und Ausgabesteuermittel
zum Steuern einer Ausgabe des Verschlüsselungsmittels in Übereinstimmung
mit dem in dem Speichermittel gespeicherten internen Zustand, wobei
der in dem Speichermittel gespeicherte interne Zustand von dem Intern-Zustandsaktualisierungsmittel
jedes Mal aktualisiert wird, wenn die Verschlüsselung von dem Verschlüsselungsmittel
ausgeführt wird.According to a second aspect of
Invention becomes an encryption device
provided with a plurality of stages of conversion sections,
each conversion section comprising: storage means for storage
an internal state; Internal state update means for updating
the internal state stored in the storage means;
encryption means
to run
encryption
upon receipt of encrypted
Data, an encryption key and
the internal state stored in the storage means; and output control means
for controlling an output of the encryption means in accordance
with the internal state stored in the storage means, wherein
the internal status stored in the storage means from the internal status update means
is updated every time the encryption from the encryption means
is performed.
Gemäß einem dritten Aspekt der
Erfindung wird ein Verschlüsselungsverfahren
mit einer Mehrzahl von Umwandlungsschritten bereitgestellt, wobei jeder
Umwandlungsschritt umfasst: einen Speicherschritt zum Speichern
eines internen Zustands; einen Intern-Zustandsaktualisierungsschritt
zum Aktualisieren des von dem Speicherschritt gespeicherten internen
Zustands; und einen Verschlüsselungsschritt zum
Ausführen
einer Verschlüsselung
bei Empfang von zu verschlüsselnden
Daten, eines Verschlüsselungsschlüssels und
des in dem Speicherschritt gespeicherten internen Zustands; wobei
der von dem Speicherschritt gespeicherte interne Zustand durch den
Intern-Zustandsaktualisierungsschritt jedes Mal aktualisiert wird,
wenn die Verschlüsselung
von den Verschlüsselungsschritt
ausgeführt
wird.According to a third aspect of the invention, there is provided an encryption method having a plurality of conversion steps, each conversion step comprising: a storage step for storing an internal state; an internal state update step for updating the internal state stored by the storing step; and an encryption step for performing encryption upon receipt of data to be encrypted, an encryption key and the internal state stored in the storage step; the internal state stored by the storing step being updated by the internal state updating step each time is updated when the encryption is performed by the encryption step.
Gemäß einem vierten Aspekt der
Erfindung wird ein Verschlüsselungsverfahren
mit einer Mehrzahl von Umwandlungsschritten bereitgestellt, wobei jeder
Umwandlungsschritt umfasst: einen Speicherschritt zum Speichern
eines internen Zustands; einen Intern-Zustandsaktualisierungsschritt
zum Aktualisieren des in dem Speicherschritt gespeicherten internen
Zustands; einen Verschlüsselungsschritt
zum Ausführen
einer Verschlüsselung
bei Empfang von zu verschlüsselnden
Daten, eines Verschlüsselungsschlüssels und
des in dem Speicherschritt gespeichert internen Zustands; und einen
Ausgabesteuerschritt zur Steuerung einer Ausgabe, die in dem Verschlüsselungsschritt
in Übereinstimmung
mit dem im Speicherschritt gespeicherten internen Zustand erhalten
wurde, wobei der in dem Speicherschritt gespeicherte interne Zustand
durch den Intern-Zustandsaktualisierungsschritt jedes Mal aktualisiert wird,
wenn die Verschlüsselung
von dem Verschlüsselungsschritt
ausgeführt
wird.According to a fourth aspect of
Invention becomes an encryption method
provided with a plurality of conversion steps, each
Converting step includes: a storing step for storing
an internal state; an internal status update step
to update the internal stored in the storage step
state; an encryption step
to run
encryption
upon receipt of encrypted
Data, an encryption key and
the internal state stored in the storing step; and one
Output control step for controlling an output in the encryption step
in accordance
received with the internal state stored in the storage step
where the internal state stored in the storage step
updated through the internal status update step every time
if encryption
from the encryption step
accomplished
becomes.
Diese Erfindung kann vollständiger aus
der folgenden ausführlichen
Beschreibung in Verbindung mit den beigefügten Zeichnungen verstanden
werden, in denen zeigen:This invention can be more fully characterized
the following detailed
Description understood in conjunction with the accompanying drawings
in which show:
1 eine
Ansicht, die die Struktur einer Rundfunktion einer Ausführungsform
der Erfindung zeigt; 1 14 is a view showing the structure of a round function of an embodiment of the invention;
2 eine
Ansicht, die ein Beispiel der Struktur einer Produktverschlüsselung
zeigt, bei der eine Anzahl n von Stufen von Rundfunktionen nebeneinander
stehen; 2 Fig. 11 is a view showing an example of the structure of a product encryption in which a number n of levels of round functions are juxtaposed;
3 eine
Ansicht, die einen Durchgang eines internen Zustands zeigt, der
sequentiell von einer Intern-Zustandsaktualisierungsfunktion
aktualisiert wird; 3 12 is a view showing an internal state pass that is sequentially updated by an internal state update function;
4 eine
Ansicht, die einen Vorgang in einem Fall erläutert, bei dem die Rundfunktion
von 1 ein Initialisierungssignal
eines internen Zustands aufweist; 4 14 is a view explaining an operation in a case where the round function of 1 having an internal state initialization signal;
5 eine
Ansicht, die einen Vorgang erläutert,
wenn eine Verschlüsselungsvorrichtung
gemäß einem
Blockverschlüsselungsmodus
verwendet wird; 5 14 is a view explaining an operation when an encryption device is used according to a block encryption mode;
6 eine
Ansicht, die einen Vorgang erläutert,
wenn die Verschlüsselungsvorrichtung
gemäß einem
Stream-Verschlüsselungsmodus
verwendet wird; 6 14 is a view explaining an operation when the encryption device is used according to a stream encryption mode;
7 eine
Ansicht, die eine Funktion in einem Fall erläutert, bei dem die Erfindung
auf eine geheime Übertragung
angewendet wird; 7 11 is a view explaining a function in a case where the invention is applied to a secret transmission;
8 eine
Ansicht, die eine weitere Ausführungsform
in einem Fall zeigt, bei dem die Erfindung auf die geheime Übertragung
angewendet wird; 8th 14 is a view showing another embodiment in a case where the invention is applied to the secret transmission;
9 eine
Ansicht, die die spezielle Struktur der Intern-Zustandsaktualisierungsfunktion
von 1 zeigt; 9 a view showing the special structure of the internal state update function of 1 shows;
10 eine
Ansicht, die die gesamte Struktur einer DES-Verschlüsselung zeigt; 10 a view showing the entire structure of DES encryption;
11 eine
Ansicht, die die spezielle Struktur einer F-Funktion bei der DES-Verschlüsselung zeigt; 11 a view showing the special structure of an F function in DES encryption;
12 eine
Permutationstabelle einer expansiven Permutation E; 12 a permutation table of an expansive permutation E;
13 eine
Tabelle, die den Inhalt einer Permutation P zeigt; 13 a table showing the content of a permutation P;
14 eine
Ansicht, die den Inhalt einer S-Box zeigt; 14 a view showing the contents of an S-box;
15 eine
Ansicht, die die Struktur zeigt, die als eine Modifikation der Erfindung
zum Verbessern der Sicherheit der DES-Verschlüsselung dient; 15 14 is a view showing the structure serving as a modification of the invention to improve the security of DES encryption;
16 eine
Ansicht, die eine weitere Modifikation zeigt, um die Sicherheit
der DES-Verschlüsselung
zu verbessern; 16 a view showing another modification to improve the security of DES encryption;
17 eine
expansive Permutationstabelle der Modifikation von 16; 17 an expansive permutation table of the modification of 16 ;
18 eine
Ansicht, die noch eine weitere Modifikation zeigt, um die Sicherheit
der DES-Verschlüsselung
zu verbessern; 18 a view showing yet another modification to improve the security of DES encryption;
19 eine
Ansicht, die noch eine weitere Modifikation zeigt, um die Sicherheit
der DES-Verschlüsselung
zu verbessern; 19 a view showing yet another modification to improve the security of DES encryption;
20 eine
Ansicht, die noch eine weitere Modifikation zeigt, um die Sicherheit
der DES-Verschlüsselung
zu verbessern; 20 a view showing yet another modification to improve the security of DES encryption;
21 eine
Ansicht, die noch eine weitere Modifikation zeigt, um die Sicherheit
der DES-Verschlüsselung
zu verbessern; 21 a view showing yet another modification to improve the security of DES encryption;
22 eine
Ansicht, die die Struktur der Rundfunktion bei einer Verschlüsselungsvorrichtung zum
Entschlüsseln
eines durch die Verschlüsselungsvorrichtung
der Erfindung verschlüsselten
Klartexts zeigt; 22 Fig. 11 is a view showing the structure of the round function in an encryption device for decrypting a plain text encrypted by the encryption device of the invention;
23 eine
Ansicht, die die Korrespondenz zwischen einem Entschlüsselungsschlüssel und
einem Verschlüsselungsschlüssel bei
jeder Stufe der Verschlüsselung
eines Feistel-Typs zeigt; 23 11 is a view showing the correspondence between a decryption key and an encryption key at each level of Feistel type encryption;
24 eine
Ansicht, die die Korrespondenz zwischen einem internen Zustand für eine Entschlüsselung
und einen internen Zustand für
eine Verschlüsselung
in jeder Stufe der Verschlüsselung
eines Feistel-Typs zeigt; 24 11 is a view showing the correspondence between an internal state for decryption and an internal state for encryption in each level of encryption of a Feistel type;
25 eine
Ansicht, die die Struktur zeigt, bei der die Verschlüsselungsvorrichtung
der Erfindung und die Entschlüsselungsvorrichtung
kombiniert werden; und 25 14 is a view showing the structure in which the encryption device of the invention and the decryption device are combined; and
26 ein
Zeitdiagramm einer Entschlüsselungsverarbeitung
vom Pipeline-Typ. 26 a time chart of pipeline type decryption processing.
Das folgende wird die Ausführungsformen der
Erfindung speziell mit Bezug auf die Zeichnungen erläutern.The following will illustrate the embodiments of the
Explain the invention specifically with reference to the drawings.
1 ist
eine Ansicht, die die Struktur einer als einen Umwandlungsabschnitt
dienenden Rundfunktion 8 zeigt, auf die die Erfindung angewendet wird.
Die Rundfunktion 8 umfasst eine F-Funktion 1, die
als ein Verschlüsselungsmittel
zum Ausführen
einer vorbestimmten Verschlüsselung
bei Empfang eines zu verschlüsselnden
Klartextes 4, eines Verschlüsselungsschlüssels 5 und
eines internen Zustandes 6 dient, um eine Ausgabe 7 auszugeben,
ein Intern-Zustandsspeichermittel 2 zum Speichern des internen
Zustands 6 und eine Intern-Zustandsaktualisierungsfunktion 3 zum
Aktualisieren des internen Zustands 6 jedes Mal, wenn die
Verschlüsselung
von der F-Funktion 1, d. h. zur gleichen Zeit wie das Verschlüsselungsverfahren,
ausgeführt
wird. 1 zeigt die Rundfunktion
der ersten Stufe. Hinsichtlich der Rundfunktion der zweiten Stufe
und der folgenden wird eine Ausgabe der Rundfunktion der vorhergehenden
Stufe anstatt des Klartextes 4 eingegeben. 1 Fig. 12 is a view showing the structure of a round function serving as a conversion section 8th shows to which the invention is applied. The round function 8th includes an F function 1 which as an encryption means for performing predetermined encryption upon receipt of a plaintext to be encrypted 4 , an encryption key 5 and an internal state 6 serves to issue 7 to issue a Internal state storage means 2 to save the internal status 6 and an internal status update function 3 to update the internal status 6 every time the encryption from the F function 1 , ie at the same time as the encryption process. 1 shows the round function of the first stage. With regard to the round function of the second stage and the following, an output of the round function of the previous stage instead of the plain text 4 entered.
Gemäß der oben erwähnten Struktur
werden sogar in einem Fall, bei dem der gleiche Klartext und Verschlüsselungsschlüssel eingegeben
werden, die Ausgaben in Übereinstimmung
mit dem aktualisierbaren internen Zustand geändert. Deshalb ist es möglich, sich
gegen einen differentiellen Angriff brauchbar zu schützen, der
auf der Analyse der Beziehung zwischen der Eingabe und der Ausgabe
der Rundfunktion basiert. Die Sicherheit der Rundfunktion kann ebenfalls
verbessert werden. Außerdem kann
unter Berücksichtigung
des gleichen Sicherheitsgrades die Vorrichtung von der Rundfunktion
mit einer kleinen Anzahl von Stufen aufgebaut sein. Außerdem bleibt,
wenn der interne Zustand zum Vergleich zeigt, wie die F-Funktion-Verschlüsselungsverarbeitung
aktualisiert wird, der Verarbeitungswirkungsgrad der gesamten Rundfunktion
im wesentlichen unverändert,
so dass die Verarbeitungsgeschwindigkeit erhöht werden kann, um der Abnahme in
der Anzahl von Stufen der Rundfunktionen äquivalent zu sein.According to the structure mentioned above
are even used in a case where the same plain text and encryption key are entered
be spending in accordance
changed with the updatable internal state. Therefore it is possible to yourself
usable against a differential attack that
on analyzing the relationship between the input and the output
based on the round function. The security of the round function can also
be improved. Besides, can
considering
the same degree of security the device from the round function
be built with a small number of stages. Furthermore,
if the internal state shows for comparison how the F-function encryption processing
the processing efficiency of the entire round function is updated
essentially unchanged,
so that the processing speed can be increased to decrease in
to be equivalent to the number of stages of the round functions.
2 ist
eine Ansicht, die ein Beispiel der Struktur einer Produktverschlüsselung
zeigt, bei der eine Anzahl n von Stufen von Rundfunktionen gegenüberliegend
angeordnet sind. In der Figur wird ein Verschlüsselungsschlüssel 16 in
einen Schlüsselplanungsabschnitt 17 eingegeben,
um in eine Anzahl n expandierter Schlüssel 1 bis n umgewandelt
zu werden, und die Anzahl n von expandierten Schlüsseln 1 bis
n werden in Rundfunktionen 12 bis 15 der n Stufen
jeweils eingegeben. Gemäß der oben
erwähnten Struktur
wird ein Klartext 11 als ein Chiffretext 18 ausgegeben,
nachdem die Verschlüsselungsverarbeitung
dazu von den Rundfunktionen der n Stufen ausgeführt wurde. In diesem Fall kann
der Klartext 11 und der Chiffretext 18 auf eine
feste Länge
oder eine variabler Länge
eingestellt sein. Außerdem
kann die Länge
des Klartextes 1 und diejenige des Chiffretextes 18 ungleiche
untereinander sein. 2 Fig. 10 is a view showing an example of the structure of a product encryption in which a number n of levels of round functions are opposed. In the figure there is an encryption key 16 into a key planning section 17 entered to expand into a number n of keys 1 to be converted to n, and the number n of expanded keys 1 to n are in round functions 12 to 15 of the n levels entered. According to the structure mentioned above, it becomes plain text 11 as a ciphertext 18 after encryption processing has been performed by the round functions of the n levels. In this case, the plain text 11 and the ciphertext 18 be set to a fixed length or a variable length. In addition, the length of the plain text 1 and that of the ciphertext 18 to be unequal to each other.
3 ist
eine Ansicht, die einen Verlauf eines internen Zustands zeigt, der
sequentiell von der Intern-Zustandsaktualisierungsfunktion 3 aktualisiert wird.
Genauer gesagt wird ein interner Zustand 1 (22) zuerst
gleich einem Anfangszustand 21 gesetzt. Wenn der interne
Zustand 1 (22) von einer Intern-Zustandsaktualisierungsfunktion 23 aktualisiert
wird, um in einen internen Zustand 2 (22) gesetzt
zu werden, dann wird der interne Zustand 2 (22)
von der Intern-Zustandsaktualisierungsfunktion 23 aktualisiert. Auf
diese Art und Weise wird der interne Zustand sequentiell aktualisiert.
In einem Fall, bei dem die Intern-Zustandsaktualisierungsfunktion 23 eine
einseitig wirkende Funktion ist, kann der interne Zustand nur vorwärts schreiten,
so dass der interne Zustand mit einer Nummer kleiner als k nicht
bekannt ist, sogar wenn ein interner Zustand k einer dritten Person bekannt
ist, und wobei der interne Zustand mit einer Nummer größer als
k entschlüsselt
wird. Daher kann gemäß der Erfindung
die Sicherheit der Rundfunktion beibehalten werden. 3 Fig. 12 is a view showing a history of an internal status sequentially from the internal status update function 3 is updated. Specifically, it becomes an internal state 1 ( 22 ) first an initial state 21 set. If the internal state 1 ( 22 ) from an internal status update function 23 is updated to an internal state 2 ( 22 ) to be set, then the internal state 2 ( 22 ) from the internal status update function 23 updated. In this way, the internal state is updated sequentially. In a case where the internal state update function 23 is a unilateral function, the internal state can only advance so that the internal state with a number less than k is not known, even if an internal state k is known to a third party, and the internal state with a number larger is decrypted as k. Therefore, the safety of the round function can be maintained according to the invention.
4 ist
eine Ansicht, die einen Vorgang in einem Fall erläutert, bei
dem die Rundfunktion 8 von 1 einen
Eingabeabschnitt zum Eingeben eines Intern-Zustandsinitialisierungssignals 31 aufweist. Ein
in einem Intern-Zustandsspeichermittel 33 gespeicherter
interner Zustand wird an eine F-Funktion 35 und eine Intern
Zustandsaktualisierungsfunktion 34 übertragen, um in einen neuen
internen Zustand aktualisiert zu werden. Zu dieser Zeit initialisiert, wenn
das von der äußeren Einheit
gelieferte Intern-Zustandsinitialisierungssignal 31 in
einen Intern-Zustandsinitialisierungssteuerabschnitt 32 eingegeben
wird, der Intern-Zustandsinitialisierungssteuerabschnitt 32 den
in dem Intern-Zustandsspeichermittel 33 gespeicherten
internen Zustand. 4 Fig. 12 is a view explaining an operation in a case where the round function 8th of 1 an input section for inputting an internal state initialization signal 31 having. One in an internal state storage means 33 saved internal state is sent to an F-function 35 and an internal status update function 34 transferred to be updated to a new internal state. Initialized at this time when the internal state initialization signal provided by the external unit 31 to an internal state initialization control section 32 is entered, the internal state initialization control section 32 that in the internal state storage means 33 stored internal state.
Wie es oben erwähnt ist, kann gemäß der oben
erwähnten
Ausführungsform
die Initialisierung des internen Zustands von der äußeren Einheit
gesteuert werden. In diesem Fall weist in Anbetracht der Sicherheit
der Intern-Zustandsinitialisierungssteuerabschnitt 32 vorzugsweise
eine Funktion zum Überwachen
der Frequenz der Initialisierung auf. Es ist beispielsweise vorzuziehen,
einen Monitormechanismus aufzuweisen, um zu überwachen, dass nur eine Initialisierung
während
einer Verschlüsselungsverarbeitung
ausgeführt
wird.As mentioned above, according to the above-mentioned embodiment, the initialization of the internal state can be controlled by the external unit. In this case, considering the security, the internal state initialization control section points 32 preferably a function for monitoring the frequency of the initialization. For example, it is preferable to have a monitor mechanism to monitor that only initialization is being performed during encryption processing.
5 ist
eine Ansicht, die einen Vorgang erläutert, wenn eine Verschlüsselungsvorrichtung
in einem Blockverschlüsselungsmodus
verwendet wird. In einem Fall, bei dem ein Klartext 41 aus
eine Mehrzahl von Klartextblöcken 42, 43, 44 gebildet
wird, wird der Klartext 41 jedes Blocks durch jede der
Verschlüsselungsfunktionen 46, 50 und 52 verschlüsselt, um
in die jeweiligen Verschlüsselungsblöcke 54, 55 und 56 umgewandelt
zu werden. Dann werden diese Blöcke
nebeneinander angeordnet, um einen Chiffretext 53 zu bilden. 5 Fig. 12 is a view explaining an operation when an encryption device is used in a block encryption mode. In a case where a plain text 41 from a plurality of plain text blocks 42 . 43 . 44 is formed, the plain text 41 each block through each of the encryption functions 46 . 50 and 52 encrypted in order in the respective encryption blocks 54 . 55 and 56 to be converted. Then these blocks are arranged side by side to create a ciphertext 53 to build.
Der interne Zustand jeder der Verschlüsselungsfunktionen 46, 50, 52 jedes
Blocks kann durch jedes Initialisierungssignal 45, 49, 51 initialisiert
werden. Dadurch werden beispielsweise, wenn der Klartextblock 43 und
der Klartextblock 44 den gleichen Inhalt A, A aufweisen,
diese Klartextblöcke 43 und 44 in
Verschlüsselungsblöcke 55 und 56 mit
dem gleichen Inhalt B, B umgewandelt, wenn diese Klartextblöcke verschlüsselt werden.The internal state of each of the encryption functions 46 . 50 . 52 each block can be through any initialization signal 45 . 49 . 51 be initialized. This will, for example, if the plain text block 43 and the plain text block 44 have the same content A, A, these plain text blocks 43 and 44 in encryption blocks 55 and 56 with the same content B, B converted if these plain text blocks are encrypted.
Wie es oben erwähnt ist, kann gemäß der oben
erwähnten
Ausführungsform
die Verschlüsselungsvorrichtung
mit der Initialisierungsfunktion unter dem Blockverschlüsselungsmodus
betrieben werden.As mentioned above, according to the above-mentioned embodiment, the encryption device with the initialization function can be operated under the block encryption mode the.
6 ist
eine Ansicht, die einen Vorgang erläutert, wenn die Verschlüsselungsvorrichtung
unter einem Stream- bzw. Stromverschlüsselungsmodus verwendet wird.
In einem Fall, bei dem ein Klartext 61 aus einer Mehrzahl
von Klartextblöcken 62, 63, 64 gebildet
ist, wird der Klartext 61 jeder der Blöcke durch jede der Verschlüsselungsfunktionen 70, 72 und 73 verschlüsselt, um
in jeden der Verschlüsselungsblöcke 76, 77 und 78 umgewandelt
zu werden. Dann werden diese Blöcke
nebeneinander angeordnet, um einen Chiffretext 75 zu bilden.
Bei dieser Ausführungsform
wird vor der Verschlüsselung
der interne Zustand der Verschlüsselungsfunktion 70 einmal von
dem Initialisierungssignal 65 initialisiert. Daher werden beispielsweise
sogar in einem Fall, bei dem die Klartextblöcke 63 und 64 den
gleichen Inhalt A, A aufweisen, diese Klartextblöcke in die Verschlüsselungsblöcke 77 und 78 mit
unterschiedlichen Inhalten B, B' umgewandelt,
wenn diese Klartextblöcke 63 und 64 verschlüsselt werden.
Mit anderen Worten wird die Beziehung von B ≠ B' festgelegt. 6 FIG. 12 is a view explaining an operation when the encryption device is used under a stream encryption mode. In a case where a plain text 61 from a plurality of plain text blocks 62 . 63 . 64 is formed, the plain text 61 each of the blocks through each of the encryption functions 70 . 72 and 73 encrypted to in each of the encryption blocks 76 . 77 and 78 to be converted. Then these blocks are arranged side by side to create a ciphertext 75 to build. In this embodiment, the internal state of the encryption function is checked before encryption 70 once from the initialization signal 65 initialized. Therefore, for example, even in a case where the plain text blocks 63 and 64 have the same content A, A, these plain text blocks in the encryption blocks 77 and 78 with different contents B, B 'if these plain text blocks 63 and 64 be encrypted. In other words, the relationship of B ≠ B 'is established.
Gemäß der oben erwähnten Ausführungsform
kann die Verschlüsselungsvorrichtung
mit der Initialisierungsfunktion unter dem Stromverschlüsselungsmodus
betrieben werden.According to the embodiment mentioned above
can the encryption device
with the initialization function under the power encryption mode
operate.
7 ist
eine Ansicht, die eine Funktion in einem Fall erläutert, bei
dem die Erfindung auf eine geheime Übertragung angewendet wird.
Bei einer Senderseite 87 wird ein Klartext 81 aus
Klartextblöcken 82 und 83 gebildet.
Der Klartext 81 jedes Blocks wird durch jede Verschlüsselungsfunktionen 84 und 85 verschlüsselt, wodurch
Verschlüsselungsblöcke 87 und 88 erhalten
werden. Die Verschlüsselungsblöcke 87 und 88 werden
an eine Empfängerseite 97 durch
einen Übertragungspfad 90 übertragen.
Bei der Empfängerseite 97 wird
ein Chiffretext 91 in einen Verschlüsselungsblock 92 und
einen Verschlüsselungsblock 93 zerlegt,
und jeder der Verschlüsselungsblöcke 92 und 93 wird
durch jede der Entschlüsselungsfunktionen 94 und 95 entschlüsselt, wodurch Klartextblöcke 97 und 98 erhalten
werden. Dann werden diese Klartextblöcke 97 und 98 nebeneinander angeordnet,
so dass ein ursprünglicher
Klartext 96 wiedergewonnen wird. 7 Fig. 12 is a view explaining a function in a case where the invention is applied to a secret transmission. With a transmitter side 87 becomes a plain text 81 from plain text blocks 82 and 83 educated. The plain text 81 every block is through every encryption functions 84 and 85 encrypted, creating encryption blocks 87 and 88 be preserved. The encryption blocks 87 and 88 be on a recipient side 97 through a transmission path 90 transfer. At the receiving end 97 becomes a ciphertext 91 into an encryption block 92 and an encryption block 93 disassembled, and each of the encryption blocks 92 and 93 is through each of the decryption functions 94 and 95 decrypted, creating plain text blocks 97 and 98 be preserved. Then these plain text blocks 97 and 98 arranged side by side so that an original plain text 96 is recovered.
Zu dieser Zeit werden Initialisierungssignal-Erzeugnisabschnitte 89 und 99 an
der Senderseite 87 bzw. der Empfängerseite 97 bereitgestellt. Dann
werden die internen Zustände
der Verschlüsselungsfunktionen 84 und 85 und
die internen Zustände der
Entschlüsselungsfunktionen 94 und 95 bei
einer vorgegebenen Zeitsteuerung durch Initialisierungssignale 200, 201, 202 bzw. 203 initialisiert.
In diesem Fall wird die Initialisierungszeitsteuerung in den Initiali sierungssignal-Erzeugungsabschnitten 89 und 99 aufgebaut.
Um eine Übertragungsmenge
der Initialisierungszeitsteuerung zu verringern, können außerdem die
Initialisierungssignal-Erzeugungsabschnitte 89 und 99 durch
einen Zufallszahlgenerator aufgebaut sein, und nur die Spezies der
Zufallszahl braucht ersetzt zu werden.At this time, initialization signal product sections 89 and 99 on the transmitter side 87 or the recipient side 97 provided. Then the internal states of the encryption functions 84 and 85 and the internal states of the decryption functions 94 and 95 at a given time control by initialization signals 200 . 201 . 202 respectively. 203 initialized. In this case, the initialization timing is in the initialization signal generating sections 89 and 99 built up. In order to reduce a transmission amount of the initialization timing, the initialization signal generating sections can also be used 89 and 99 be constructed by a random number generator and only the species of the random number needs to be replaced.
Gemäß der oben erwähnten Ausführungsform
muss das Empfängerende 97 die
Initialisierungszeitsteuerung sowie auch den Entschlüsselungsschlüssel aufweisen,
um den gleichen Klartext wie den Klartext des Senderendes 87 wiederzugewinnen.
Deshalb muss, um den Chiffretext zu entschlüsseln, ein unfairer Interzeptor
die Initialisierungszeitsteuerung sowie auch den Entschlüsselungsschlüssel aufweisen.
Daher kann gemäß der Erfindung
die geheime Übertragung
sicherer ausgeführt
werden.According to the embodiment mentioned above, the receiver end 97 the initialization time control and also the decryption key have the same plain text as the plain text of the transmitter end 87 regain. Therefore, in order to decrypt the ciphertext, an unfair interceptor must have the initialization timing as well as the decryption key. Therefore, according to the invention, the secret transmission can be carried out more securely.
8 ist
eine Ansicht, die die weitere Ausführungsform in einem Fall zeigt,
bei dem die Erfindung auf die geheime Übertragung angewendet wird. 8th Fig. 14 is a view showing the further embodiment in a case where the invention is applied to the secret transmission.
Bei dieser Ausführungsform werden an der Übertragungsseite 87 besondere
Markierungen 204 und 206, die als Kennzeichnungsdaten
zum Kennzeichnen der Initialisierung dienen, zu den Klartextblöcken 82 und 83 hinzugefügt. Jeder
der Klartextblöcke 82 und 83,
die den Klartext 81 bilden, wird in jeden der Verschlüsselungsblöcke 87 und 88 durch jede
der Verschlüsselungsfunktionen 84 und 85 umgewandelt.
Dann werden die Verschlüsselungsblöcke 87 und 88 nebeneinander
angeordnet, wodurch der Chiffretext 86 erhalten wird. Zu
dieser Zeit wird beim Erfassen der besonderen Markierung 204 des Klartextblockes 82 oder
der besonderen Markierung 206 des Klartextblockes 83 der
interne Zustand jeder der Verschlüsselungsfunktionen 84 und 85 durch
jedes der Initialisierungssignale 205 und 207 initialisiert.
Der Chiffretext 86 wird zu der Empfängerseite 97 durch
den Übertragungspfad 90 übertragen.In this embodiment, on the transmission side 87 special markings 204 and 206 , which serve as identification data for identifying the initialization, to the plain text blocks 82 and 83 added. Each of the plain text blocks 82 and 83 that the plaintext 81 will form in each of the encryption blocks 87 and 88 through each of the encryption functions 84 and 85 converted. Then the encryption blocks 87 and 88 arranged side by side, making the ciphertext 86 is obtained. At that time, when capturing the special marker 204 of the plain text block 82 or the special marker 206 of the plain text block 83 the internal state of each of the encryption functions 84 and 85 through each of the initialization signals 205 and 207 initialized. The ciphertext 86 becomes the recipient side 97 through the transmission path 90 transfer.
An der Empfängerseite 97 wird
der empfangene Chiffretext 91 in den Verschlüsselungsblock 92 und
den Verschlüsselungsblock 93 zerlegt,
und jeder der Verschlüsselungsblöcke 92 und 93 wird
in jeden der Klartextblöcke 97 und 98 durch
jede der Entschlüsselungsfunktionen 94 und 95 umgewandelt.
In diesem Fall wird beim Erfassen der besonderen Markierungen 208 und 210 zum
Kennzeichnen der Initialisierung der Klartextblöcke 97 und 98 der
interne Zustand von jeder der Entschlüsselungsfunktionen 94 und 95 durch
jedes der Initialisierungssignale 209 und 211 initialisiert.
In diesem Fall können
die besonderen Markierungen 208 und 210 der Klartextblöcke 97 und 98 nach
Bedarf entfernt werden, und die Klartextblöcke 97 und 98 ohne
eine besondere Markierung können
nebeneinander angeordnet werden, wodurch der Klartext 96 erhalten
wird.On the receiving end 97 becomes the received ciphertext 91 in the encryption block 92 and the encryption block 93 disassembled, and each of the encryption blocks 92 and 93 is in each of the plaintext blocks 97 and 98 through each of the decryption functions 94 and 95 converted. In this case, when capturing the special markings 208 and 210 to indicate the initialization of the plain text blocks 97 and 98 the internal state of each of the decryption functions 94 and 95 through each of the initialization signals 209 and 211 initialized. In this case, the special markings 208 and 210 the plain text blocks 97 and 98 removed as needed, and the plain text blocks 97 and 98 without a special marking can be arranged side by side, which makes the plain text 96 is obtained.
Da bei der oben erwähnten Ausführungsform die
Zeitsteuerung für
die Initialisierung des internen Zustands in dem Klartext enthalten
ist, ist es nicht notwendig, die Zeitsteuerung der Initialisierung
im voraus zwischen dem Senderende und dem Empfängerende einzustellen.Since in the above-mentioned embodiment
Time control for
the initialization of the internal status contained in the plain text
is, it is not necessary to initialize the timing
to be set in advance between the transmitter end and the receiver end.
9 ist
eine Ansicht, die die spezielle Struktur der Intern-Zustandsaktualisierungsfunktion 3 von 1 zeigt. Die Intern-Zustandsaktualisierungsfunktion 3 umfasst
ein lineares Register, das aus einem Speicherelement 100 und
einem Addierer 102 gebildet wird. Das Speicherelement 100 ist
ein Element, das ein Bit Daten speichern kann, und beispielsweise
wird ein D Flip-Flop verwendet. 9 is a view showing the special structure of the internal state update function 3 of 1 shows. The internal status update function 3 includes a linear register that from a storage element 100 and an adder 102 is formed. The storage element 100 is an element that can store one bit of data, and for example, a D flip-flop is used.
Unterschiedliche Arten von charakteristischen
Polynomen werden demgemäss
erhalten, ob die jeweiligen Abgriffe 101 miteinander verbunden sind
oder nicht. Wenn beispielsweise der Zustand, in dem die Abgriffe 101 miteinander
verbunden sind, auf 1 gesetzt ist, und der Zustand, in dem die Abgriffe
101 nicht
verbunden sind, auf 0 gesetzt ist, kann das folgende charakteristische
Polynom erhalten werden. CrXr + Cr-1Xr-1 + ... + C1x +
C0 Different types of characteristic polynomials are obtained according to whether the respective taps 101 are connected or not. For example, if the condition in which the taps 101 are connected to each other, is set to 1, and the state in which the taps 101 not connected, is set to 0, the following characteristic polynomial can be obtained. C r X r + C r-1 X r-1 + ... + C 1 x + C 0
Insbesondere ist bekannt, dass in
einem Fall, bei dem ein repräsentatives
Polynom ein primitives Polynom ist, das ein lineares Schieberegister
einer maximale Kettenlänge
ausgibt ("Coding
Theory" von Hideki
Imai, veröffentlicht
von The Institute of Electronics, Information and Communication
Engineers). Das folgende primitive Polynom ist als ein Beispiel bekannt. X31 + X3 +
1 In particular, it is known that in a case where a representative polynomial is a primitive polynomial that outputs a linear shift register of a maximum chain length ("Coding Theory" by Hideki Imai, published by The Institute of Electronics, Information and Communication Engineers). The following primitive polynomial is known as an example. X 31 + X 3 + 1
Jedes Mal, wenn ein Taktsignal in
das lineare Schieberegister eingegeben wird, wird der Speicherinhalt
des Speicherelements 100 von dem Inhalt des Speicherelements 100 zur
Linken aktualisiert, dann wird das Ergebnis der Addition, die von
dem Addierer 102 in Übereinstimmung
mit dem Verbindungszustand des Abgriffs 101 ausgeführt wird,
in das Speicherelement 100 am weitesten links eingegeben
und als eine Ausgabe 103 ausgegeben.Each time a clock signal is input to the linear shift register, the memory content of the memory element 100 of the content of the storage element 100 updated to the left, then the result of the addition by the adder 102 in accordance with the connection state of the tap 101 is executed in the storage element 100 left most typed and as an output 103 output.
Das folgende wird das andere Verfahren
zum Verbessern der Sicherheit der bekannten Blockverschlüsselung,
d. h. die DES-Verschlüsselung
erläutern.The following is the other procedure
to improve the security of the known block encryption,
d. H. DES encryption
explain.
Zuerst werden die Grundzüge der DES-Verschlüsselung
erläutert. 10 ist eine Ansicht, die die
gesamte Struktur der DES-Verschlüsselung
erläutert.
Hinsichtlich eines zu verschlüsselnden 64-Bit-Klartextes 105 wird
die Reihenfolge von Bits durch eine Anfangspermutation 106 neu
angeordnet, so dass diese Bits in obere 32 Bits (Eingabe L113) und
untere 32 Bits (Eingabe R114) aufgeteilt werden. Danach wird der
Klartext 16-fach durch die 16-stufigen Rundfunktionen (1 bis 16) 107 umgewandelt,
die die gleiche Struktur aufweisen, und eine abschließende Permutation 108 wird
implementiert, wodurch ein Chiffretext 108 erhalten wird.First, the basics of DES encryption are explained. 10 is a view explaining the entire structure of DES encryption. Regarding 64-bit plaintext to be encrypted 105 is the order of bits by an initial permutation 106 rearranged so that these bits are divided into upper 32 bits (input L113) and lower 32 bits (input R114). Then the plain text is 16-fold by the 16-stage round functions ( 1 to 16 ) 107 converted, which have the same structure, and a final permutation 108 is implemented, creating a ciphertext 108 is obtained.
Jede Rundfunktion 107 umfasst
eine F-Funktion 110, ein Exklusiv-ODER 111 und
rechte und linke Umwandlungsabschnitte 112. Eingänge Li und
Ri der Rundfunktionen der i-ten Stufe werden in Eingänge der
Rundfunktion der (i + 1)-ten Stufe umgewandelt, wie es in den folgenden
Gleichungen gezeigt ist, wobei der Schüssel der i-ten Stufe Ki ist. Ri + 1 = Li XOR F (Ri, Ki)
Li
+ 1 = Ri Every round function 107 includes an F function 110 , an exclusive OR 111 and right and left conversion sections 112 , Inputs Li and Ri of the round function of the i-th stage are converted into inputs of the round function of the (i + 1) -th stage, as shown in the following equations, the key of the i-th stage being Ki. Ri + 1 = Li XOR F (Ri, Ki) Li + 1 = Ri
11 zeigt
die spezielle Struktur der F-Funktion der DES-Verschlüsselung. 11 shows the special structure of the F function of DES encryption.
Die F-Funktion weist zwei Eingänge, d.
h. einen 32-Bit-Eingabe
R115 und einen 48-Bit-Schlüssel K116
und eine Ausgabe 117 von 32 Bit auf.The F function has two inputs, ie a 32-bit input R115 and a 48-bit key K116 and an output 117 from 32 bits.
Der Betrieb der oben beschriebenen
F-Funktion wird entlang des Datenflusses erläutert.Operation of the above
F-function is explained along the data flow.
Die eingegebene 32-Bit-Eingabe R115
wird in 48-Bit-Daten durch eine expansive Permutation E (118),
d. h. einer E-Umwandlung
expandiert. 12 ist eine
Permutationstabelle der expansiven Permutation E, die oben links
beginnend zeigt, welches Bit der Eingabe welchem Ausgabebit entspricht,
das E-transformiert
ist. Da in der Permutationstabelle von 12 oben links 32 steht, entspricht das
erste Bit der E-umgewandelten
Ausgabe dem 32-ten Bit der Eingabe. Das zweite Bit der E-transformierten
Ausgabe entspricht dem ersten Bit der Eingabe. Das gleiche kann
auf die Ausgabebits angewendet werden, die folgen.The entered 32-bit input R115 is in 48-bit data by an expansive permutation E ( 118 ), ie an E conversion expands. 12 is a permutation table of the expansive permutation E, which shows, beginning at the top left, which bit corresponds to the input which output bit is transformed. Because in the permutation table of 12 32 at the top left, the first bit of the E-converted output corresponds to the 32nd bit of the input. The second bit of the E-transformed output corresponds to the first bit of the input. The same can be applied to the output bits that follow.
Eine Exklusiv-ODER-Verknüpfung einer Ausgabe 119 der
E-Umwandlung und
ein Schlüssel Ki 116 werden
durch eine Exklusiv-ODER-Verknüpfung 120 erhalten.
Das erhaltene Ergebnis wird in acht Gruppen mit jeweils sechs Bit
aufgeteilt, die in jeweilige S-Boxen (S1 bis S8) 121 einzugeben
sind, die als Substitutionsabschnitte dienen. Die S-Box 121 ist
eine Substitutionstabelle mit einer 6-Bit-Eingabe und einer 4-Bit-Ausgabe, und 14 zeigt ein Beispiel einer
derartigen Substitutionstabelle.An exclusive OR of an issue 119 the E conversion and a key Ki 116 are through an exclusive OR operation 120 receive. The result obtained is divided into eight groups, each with six bits, each in S-boxes (S1 to S8) 121 must be entered, which serve as substitution sections. The S-Box 121 is a substitution table with a 6-bit input and a 4-bit output, and 14 shows an example of such a substitution table.
Acht Ausgänge 122, die jeweils
vier Bits der S-Box 121 aufweisen, werden gebündelt, um
als eine Ausgabe 123 von 32 Bit ausgegeben zu werden. Die Reihenfolge
der Bits wird durch eine P-Umwandlung 124 neu angeordnet,
wodurch eine 32-Bit-Ausgabe 117 der
F-Funktion erhalten wird.Eight exits 122 , each four bits of the S-Box 121 have been bundled together as one issue 123 of 32 bits to be output. The order of the bits is determined by a P conversion 124 rearranged, creating a 32-bit output 117 the F function is obtained.
13 ist
eine Tabelle, die den Inhalt der Permutation P zeigt. Ähnlich der
expansiven Permutation E der Tabelle von 12 zeigt 13 oben links
beginnend, welches Bit der Eingabe welchem Ausgabebit entspricht,
das E-transformiert ist. Beispielsweise entspricht das erste Bit
der Ausgabe der P-Umwandlung 124 dem 16-ten Bit der Eingabe,
und das zweite Bit der Ausgabe entspricht dem siebenten Bit der
Eingabe. Das gleiche kann auf die folgenden ausgegebenen Bits angewendet
werden. 13 is a table showing the content of permutation P. Similar to the expansive permutation E of the table from 12 shows 13 Starting at the top left, which bit corresponds to the input which output bit is E-transformed. For example, the first bit corresponds to the output of the P conversion 124 the 16th bit of the input, and the second bit of the output corresponds to the seventh bit of the input. The same can be applied to the following output bits.
15 ist
eine Ansicht, die die Struktur zeigt, die als eine Modifikation
der Erfindung zum Verbessern der Sicherheit der DES-Verschlüsselung
dient. Bei dieser Modifikation wird die herkömmliche F-Funktion 110 von 10 mit der Struktur von 15 ersetzt, um die Sicherheit
des Chiffretextes zu verbessern. 15 Fig. 12 is a view showing the structure serving as a modification of the invention to improve the security of DES encryption. This modification uses the conventional F function 110 of 10 with the structure of 15 replaced to improve the security of the ciphertext.
Genauer gesagt wird eine Eingabe
R 125 und ein Schlüssel
Ki 127 in eine herkömmliche F-Funktion 126 der
DES-Verschlüsselung
eingegeben, die in eine 32-Bit-Ausgabe 128 umzuwandeln ist.
Die Ausgabe 128 wird in eine Eingabe L 129 und eine
Eingabe R 130 aufgeteilt, die jeweils 16 Bits aufweisen.
Dann wird die Eingabe L 129 als eine erste Eingabe 134 in
einen Selektor 133 und ebenfalls als eine erste Eingabe 137 in
einen Selektor 134 eingegeben. Außerdem wird die Eingabe R 130 als
eine zweite Eingabe 135 in einen Selektor 132 und
ebenfalls als eine zweite Eingabe 138 in einen Selektor 132 eingegeben.More specifically, an entry R 125 and a key Ki 127 into a conventional F function 126 DES encryption ben in a 32 bit output 128 is to be converted. The edition 128 is entered into an entry L 129 and an input R 130 divided, each having 16 bits. Then the input L 129 as a first entry 134 into a selector 133 and also as a first entry 137 into a selector 134 entered. The entry R 130 as a second input 135 into a selector 132 and also as a second input 138 into a selector 132 entered.
Der Selektor 131 gibt entweder
die Eingabe 134 oder die Eingabe 135 als eine
Ausgabe 139 unter der Steuerung einer Steuereingabe 133 aus.
Der Selektor 132 gibt ebenfalls entweder die Eingabe 137 oder
die Eingabe 138 als eine Ausgabe 140 unter der Steuerung
einer Steuereingabe 136 aus. Da in diesem Fall die beiden
Steuereingänge 133 und 136 eingestellt
sind, um eine komplementäre
oder negative Logik zueinander zu sein, sind diese Steuereingaben immer
unterschiedliche Eingaben. Mit anderen Worten wird, ob die Eingabe
L 129 und die Eingabe R 130 miteinander vertauscht
werden, in Übereinstimmung mit
einer Bit-Steuerleitung 141 bestimmt, um eine Ausgabe der
F-Funktion 129 zu erreichen.The selector 131 either gives the input 134 or typing 135 as an issue 139 under the control of a control input 133 out. The selector 132 also gives either the input 137 or typing 138 as an issue 140 under the control of a control input 136 out. Because in this case the two control inputs 133 and 136 are set to be complementary or negative logic to each other, these control inputs are always different inputs. In other words, whether the input L 129 and entering R 130 can be interchanged with each other in accordance with a bit control line 141 determined to output the F function 129 to reach.
Da die Steuerleitung 141 mit
dem internen Zustand 142 verbunden ist, hängt von
dem internen Zustand 142 ab, ob die Eingabe L 129 und
die Eingabe R 130 miteinander vertauscht werden. Der interne Zustand 142 wird
durch eine Intern-Zustandsaktualisierungsfunktion 143 jedes
Mal aktualisiert, wenn die Verschlüsselung implementiert wird.Because the control line 141 with the internal condition 142 connected depends on the internal state 142 whether the entry L 129 and entering R 130 be interchanged. The internal state 142 is through an internal status update function 143 updated every time encryption is implemented.
Das oben erwähnte strukturelle Verfahren
ist nicht auf die DES-Verschlüsselung
begrenzt und kann auf die andere Blockverschlüsselung angewendet werden,
die die gleiche Struktur wie die oben erwähnte Struktur aufweist.The structural procedure mentioned above
is not on DES encryption
limited and can be applied to the other block encryption,
which has the same structure as the structure mentioned above.
Bei der oben erwähnten Ausführungsform werden die Selektoren
in der hinteren Stufe der F-Funktion bereitgestellt. Diese Selektoren
können jedoch
in der vorderen Stufe der F-Funktion bereitgestellt werden.In the above-mentioned embodiment, the selectors
provided in the rear stage of the F function. These selectors
can however
be provided in the front stage of the F function.
16 ist
eine Ansicht, die eine weitere Modifikation zeigt, um die Sicherheit
der DES-Verschlüsselung
zu verbessern. Die expansive Permutation E 118 von 11 wird durch eine expansive
Permutation E' 144 ersetzt,
deren Inhalt von einem internen Zustand 146 abhängt, wodurch
die Sicher heit des Chiffretextes verbessert wird. In 16 wird eine Eingabe R 145 in
die expansive Permutation E' 144 eingegeben,
deren Inhalt von dem internen Zustand 146 abhängt, und
wird als eine Ausgabe 147 ausgegeben. 16 Fig. 12 is a view showing another modification to improve the security of DES encryption. The expansive permutation E 118 of 11 is through an expansive permutation E ' 144 replaced, the content of an internal state 146 depends, which improves the security of the ciphertext. In 16 an input R 145 into the expansive permutation E ' 144 entered, its content from the internal state 146 depends, and is considered an issue 147 output.
17 ist
eine Ansicht, die eine Tabelle einer derartigen expansiven Permutation
E' zeigt. In 17 ist Xi ein Eingabe von
dem internen Zustand 146, und Ri ist eine Eingabe von einer
Eingabe R 145. Sie zeigt beginnend oben links, welches
Bit der Eingabe welchem E'-transformierten
Ausgabe-Bit entspricht. Beispielsweise entspricht das erste Bit
der Ausgabe dem ersten Bit der Eingabe von dem internen Zustand 146,
und das zweite Bit der Ausgabe entspricht dem ersten Bit der Eingabe
R. In diesem Fall kann eine von der in 17 gezeigten Permutation unterschiedliche
Permutation als eine Permutation der expansiven Permutation E' verwendet werden. 17 is a view showing a table of such an expansive permutation E '. In 17 Xi is an input from the internal state 146 , and Ri is an input from an input R 145 , Starting from the top left, it shows which bit of the input corresponds to which E'-transformed output bit. For example, the first bit of the output corresponds to the first bit of the input from the internal state 146 , and the second bit of the output corresponds to the first bit of the input R. In this case, one of the in 17 Permutation shown different permutation can be used as a permutation of the expansive permutation E '.
18 ist
eine Ansicht, die noch eine weitere Modifikation zeigt, um die Sicherheit
der DES-Verschlüsselung
zu verbessern. In diesem Fall wird eine Eingabe in die S-Box in Übereinstimmung
mit einem internen Zustand dynamisch geändert, um die Sicherheit der
DES-Verschlüsselung
zu verbessern. 18 Fig. 12 is a view showing yet another modification to improve the security of DES encryption. In this case, an input to the S-Box is dynamically changed in accordance with an internal state in order to improve the security of the DES encryption.
Wenn eine expansive Permutation E 149 eine
Eingabe R 149 empfängt,
führt sie
genauer gesagt eine expansive Permutation E 149 an der
Eingabe R 149 durch und gibt eine Ausgabe aus. Zwischen dieser
Ausgabe und einem Schlüssel
Ki 150 wird eine Exklusiv-ODER-Verknüpfung an einem Exklusiv-ODER-Abschnitt 151 durchgeführt. Die
Ausgabe des Exklusiv-ODER-Abschnitts 151 wird an eine variable
Rotationsvorrichtung 153 geliefert, die die Ausgabe 151 dreht,
d. h. ihre Bitposition um einen vorbestimmten Betrag verschiebt.
Die variable Rotationsvorrichtung 153 stellt einen Schiebebetrag
bereit, der in Übereinstimmung
mit dem Wert eines internen Zustands 152 variabel ist.
Danach wird die Ausgabe 154 der variablen Rotationsvorrichtung 153 in
S-Boxen (S1 bis S8) 155 eingegeben.If an expansive permutation E 149 an input R 149 receives, it performs an expansive permutation E more precisely 149 at the input R 149 and outputs an output. Between this issue and a key Ki 150 becomes an exclusive-OR operation on an exclusive-OR section 151 carried out. The output of the exclusive OR section 151 is connected to a variable rotation device 153 delivered that the issue 151 rotates, ie shifts its bit position by a predetermined amount. The variable rotation device 153 provides a shift amount that is in accordance with the value of an internal state 152 is variable. After that, the output 154 the variable rotation device 153 155 entered in S-boxes (S1 to S8).
Als eine variable Rotation ist ein
Hochgeschwindigkeits-Montageverfahren
mit einer Schieberegister (barrel shifter) bekannt. Wenn die Anzahl sich
drehender Bits zu klein oder zu groß ist, wird die Wirkung der
Verschlüsselung
abgesenkt. Deshalb kann die Anzahl zu vertauschender bzw. sich drehender
Bits auf einen vorbestimmten Bereich begrenzt sein. Wenn die Anzahl
sich drehender Bits beispielsweise auf den Bereich von 8 bis 40
Bits eingestellt wird, wird das sich drehende Bit für 32 Bit
erhalten. In diesem Fall kann eine Ausgabe von dem internen Zustand 152 5
Bits sein.A high-speed assembly method with a barrel shifter is known as a variable rotation. If the number of rotating bits is too small or too large, the effect of the encryption is reduced. Therefore, the number of bits to be swapped or rotated can be limited to a predetermined range. For example, if the number of rotating bits is set in the range of 8 to 40 bits, the rotating bit is obtained for 32 bits. In this case, an output from the internal state 152 5 bits.
19 ist
eine Ansicht, die noch eine weitere Modifikation zeigt, um die Sicherheit
der DES-Verschlüsselung
zu verbessern. Eine Exklusiv-ODER-Verknüpfung wird zwischen einer Eingabe R 156 und
der Ausgabe eines internen Zustands 157 an einem Exklusiv-ODER-Abschnitt 159 implementiert,
und das Ergebnis wird in eine expansive Permutation E 158 eingegeben.
Die Exklusiv-ODER-Verknüpfung
kann durch andere Operationen, wie beispielsweise eine 32-Bit-Addition
und -Subtraktion ersetzt werden. 19 Fig. 12 is a view showing yet another modification to improve the security of DES encryption. An exclusive OR operation is made between an input R 156 and the output of an internal state 157 on an exclusive OR section 159 implemented, and the result is converted into an expansive permutation E 158 entered. The exclusive-OR operation can be replaced by other operations such as 32-bit addition and subtraction.
20 ist
eine Ansicht, die noch eine weitere Modifikation zeigt, um die Sicherheit
der DES-Verschlüsselung
zu verbessern. Bei der herkömmlichen DES-Verschlüsselung
wird ein Verschlüsselungsschlüssel hinzugefügt, der
eine Exklusiv-ODER-Verknüpfung bei
der F-Funktion verwendet. Die Sicherheit der DES-Verschlüsselung
kann jedoch mit anderen Operationen weiter verbessert werden. In 20 wird an einer Eingabe
R 160 eine expansive Permutation E 161 durchgeführt. Und
eine Berechnung zwischen einer Ausgabe der expansiven Permutation
E 161 und einem Schlüssel
Ki 162 wird bei einer AUL 165 ausgeführt. Welche
Art von Berechnung durchgeführt
wird, wird in Übereinstimmung
mit einer Ausgabe 164 eines internen Zustands 163 gekennzeichnet.
Eine Ausgabe der AUL 165 wird in acht Gruppen von jeweils
6 Bits aufgeteilt und in S-Boxen (S1 bis S8) 166 eingegeben.
Die Operationen, die folgen, sind die gleichen wie die herkömmliche
Operation der DES-Verschlüsselung. 20 Fig. 12 is a view showing yet another modification to improve the security of DES encryption. With conventional DES encryption, an encryption key is added that uses an exclusive-OR operation in the F function. However, the security of DES encryption can be further improved with other operations. In 20 is at an input R 160 an expansive permu station E 161 carried out. And a calculation between an output of the expansive permutation E 161 and a key Ki 162 is at an AUL 165 executed. What kind of calculation is done is in accordance with an issue 164 of an internal state 163 characterized. An edition of the AUL 165 is divided into eight groups of 6 bits each and in S boxes (S1 to S8) 166 entered. The operations that follow are the same as the conventional DES encryption operation.
21 ist
eine Ansicht, die noch eine weitere Modifikation zeigt, um die Sicherheit
der DES-Verschlüsselung
zu verbessern. Bei dieser Modifikation wird die Sicherheit der DES-Verschlüsselung
durch Vertauschen von Spalten der S-Box verbessert. Da jede der Reihen der
S-Box der DES-Verschlüsselung eine
der Zahlen von 0 bis 15 umfasst, wird die Eigenschaft nicht geändert, sogar
wenn die Spalten vertauscht wird. 21 Fig. 12 is a view showing yet another modification to improve the security of DES encryption. With this modification, the security of DES encryption is improved by swapping columns of the S-Box. Since each of the rows of the S-Box of DES encryption includes one of the numbers from 0 to 15, the property is not changed even if the columns are swapped.
Eine Ausgabe eines internen 8-Bit-Zustands 167 wird
in ein oberes 4-Bit 168 und eine unteres 4-Bit 169 aufgeteilt,
um beim Kennzeichnen, welche Spalte jeder S-Box 170 vertauscht
werden soll, verwendet zu werden. In diesem Fall können acht
interne Zustände
vorbereitet werden, um den Inhalt aller S-Boxen zu ändern. Um
die Größe der Vorrichtung
zu wahren, kann die Anzahl von S-Boxen zum Ändern auf weniger als acht
verringert werden.An output of an internal 8-bit state 167 becomes an upper 4 bit 168 and a lower 4 bit 169 split to identify which column of each S-Box 170 to be swapped to be used. In this case, eight internal states can be prepared to change the content of all S-boxes. To preserve the size of the device, the number of S-boxes for changing can be reduced to less than eight.
22 ist
eine Ansicht, die die Struktur einer Rundfunktion 177 einer
Entschlüsselungsvorrichtung zum
Entschlüsseln
eines durch die Verschlüsselungsvorrichtung
der Erfindung verschlüsselten
Chiffretexts zeigt. Die Rundfunktion 177 umfasst eine F-Funktion 178,
einen Reihenfolge-umkehrenden-Abschnitt 191,
einen vorübergehenden
Intern-Zustandsspeicherabschnitt 176, ein Intern-Zustandsspeichermittel 174 und
eine Intern-Zustandsaktualisierungsfunktion 175. 22 is a view showing the structure of a round function 177 a decryption device for decrypting a ciphertext encrypted by the encryption device of the invention. The round function 177 includes an F function 178 , an order reversing section 191 , a temporary internal state storage section 176 , an internal state storage means 174 and an internal status update function 175 ,
In diesem Fall muss der interne Zustand
in einer umgekehrten Reihenfolge bei einer Entschlüsselungsverarbeitung
abhängig
von einem zu verwendenden Verschlüsselungsmodus aktualisiert
werden. In einem Fall, bei dem die Blockverschlüsselung in einem OFB-Modus
(Output Feedback Mode) verwendet wird, ist eine derartige Operation
unmöglich.
Bei der Blockverschlüsselungsvorrichtung
vom Feistel-Typ wird die Entschlüsselungsverarbeitung
durch die gleichen Schritte wie bei der Verschlüsselungsverarbeitung ausgeführt, mit
der Ausnahme, dass die Reihenfolge des Bereitstellens eines vorübergehenden
Schlüssels
umgekehrt wird. Dies bedeutet, dass die Reihenfolge des Bereitstellens
des internen Zustands jeder Rundfunktion der Erfindung umgekehrt werden
muss.In this case, the internal state
in reverse order in decryption processing
dependent
updated by an encryption mode to use
become. In a case where the block encryption is in an OFB mode
(Output Feedback Mode) is used is such an operation
impossible.
With the block encryption device
decoding processing is of the Feistel type
by following the same steps as for encryption processing
except that the order of deploying a temporary
key
is reversed. This means that the order of deployment
the internal state of each broadcast function of the invention are reversed
got to.
Vor der Ausführung der Entschlüsselungsverarbeitung
bei der Rundfunktion 177 wird ein in dem Intern-Zustandsspeichermittel 174 gespeicherter
interner Zustand durch die Intern-Zustandsaktualisierungsfunktion 175 aktualisiert
und in dem vorübergehenden
Intern-Zustandsspeicherabschnitt 176 gespeichert.Before executing decryption processing on the round function 177 becomes one in the internal state storage means 174 Stored internal state through the internal state update function 175 updated and in the temporary internal state storage section 176 saved.
Dann wird zum Zeitpunkt der Entschlüsselungsverarbeitung
ein vorübergehender
Chiffretext 171, ein Entschlüsselungsschlüssel 172 und
ein Signal 173, das durch Umkehren des in dem vorübergehenden
Speicherabschnitt eines internen Zustands 176 gespeicherten
Zustand an dem Reihenfolge-umkehrenden-Abschnitt 191 erhalten wird,
in die F-Funktion 178 eingegeben, und ein vorbestimmter Verschlüsselungsprozess
wird durchgeführt.
Dadurch kann ein vorübergehender
Klartext 179 als die Ausgabe der Rundfunktion 177 erhalten
werden.Then, at the time of decryption processing, a temporary ciphertext becomes 171 , a decryption key 172 and a signal 173 by reversing the internal state in the temporary storage section 176 stored state at the order reversing section 191 is obtained in the F function 178 is entered and a predetermined encryption process is performed. This can be a temporary plain text 179 than the output of the round function 177 be preserved.
23 ist
eine Ansicht, die die Übereinstimmung
zwischen dem Entschlüsselungsschlüssel und dem
Verschlüsselungsschlüssel bei
jeder Stufe der n Stufen der Verschlüsselung vom Feistel-Typ zeigt. Zum
Zeitpunkt der Entschlüsselung
wird der Verschlüsselungsschlüssel, der
bei der n-ten Stufe als die abschließende Stufe zum Zeitpunkt der
Verschlüsselung
verwendet wird, als ein Entschlüsselungsschlüssel für eine erste
Runde verwendet, und der Verschlüs selungsschlüssel der
(n-1)-ten Stufe wird als ein Entschlüsselungsschlüssel für eine zweite
Runde verwendet. Das gleiche kann auf die folgenden Operationen
angewendet werden. 23 Fig. 12 is a view showing the correspondence between the decryption key and the encryption key at each level of the n levels of Feistel-type encryption. At the time of decryption, the encryption key used at the nth level as the final level at the time of encryption is used as a decryption key for a first round, and the encryption key of the (n-1) th level is called used a decryption key for a second round. The same can be applied to the following operations.
24 ist
eine Ansicht, die die Korrespondenz zwischen einem internen Zustand
für eine
Entschlüsselung
und einem internen Zustand für
eine Verschlüsselung
bei jeder Stufe der Verschlüsselung vom
Feistel-Typ zeigt. Der Anfangszustand für eine Entschlüsselung
der ersten Runde muss der gleiche wie der Anfangszustand für eine Verschlüsselung
der n-ten Runde sein. Der interne Zustand für eine Entschlüsselung
der zweiten Runde muss der gleiche wie der interne Zustand für eine Verschlüsselung
einer (n-1)-ten Runde sein. Das gleiche kann auf die folgenden Operationen
angewendet werden. In einem Fall, bei dem die Intern-Zustandsaktualisierungsfunktion
eine Richtungsabhängigkeit
aufweist, kann der interne Zustand nicht in einer umgekehrten Reihenfolge
erzeugt werden, und die internen Zustände für n Runden können nicht
im Voraus erfasst werden. Deshalb wird ein Mechanismus benötigt, bei dem
die internen Zustände
für n Runden
erzeugt werden, um im voraus gespeichert und in umgekehrter Reihenfolge
ausgegeben zu werden. Der vorübergehende
Intern-Zustandsspeicherabschnitt 176 und
der Reihenfolge-umkehrende-Abschnitt 191 werden
in 22 als ein derartiger
Mechanismus gezeigt. 24 Fig. 12 is a view showing the correspondence between an internal state for decryption and an internal state for encryption at each level of Feistel-type encryption. The initial state for decrypting the first round must be the same as the initial state for encrypting the nth round. The internal state for decrypting the second round must be the same as the internal state for encrypting a (n-1) th round. The same can be applied to the following operations. In a case where the internal state update function has a directional dependency, the internal state cannot be generated in a reverse order, and the internal states for n rounds cannot be acquired in advance. Therefore, a mechanism is needed in which the internal states are generated for n rounds to be stored in advance and output in reverse order. The temporary internal state storage section 176 and the order reversing section 191 are in 22 shown as such a mechanism.
25 ist
eine Ansicht, die die Struktur zeigt, bei der die Verschlüsselungsvorrichtung
der Erfindung und die Entschlüsselungsvorrichtung
kombiniert sind. Die Verschlüsselungsvorrichtung
und die Entschlüsselungsvorrichtung
weisen die gleiche Struktur mit Ausnahme der vorübergehenden Speicherung des
internen Zustands auf. Die Ausgabe des Intern-Zustandsspeichermittels 182 oder
die Ausgabe des Intern-Zustandsspeicherabschnitts 183 wird in
die F-Funktion 184 abhängig
von dem Zustand eines Schalters 181 eingegeben, dessen
Stellung in Übereinstimmung
mit einem Signal E/O 180 geändert wird, das eine Verschlüsselungsverarbeitung oder
eine Entschlüsselungsverarbeitung
zeigt. Wenn eine derartige Struktur verwendet wird, kann die Größe der Vorrichtung
verringert werden. 25 Fig. 12 is a view showing the structure in which the encryption device of the invention and the decryption device are combined. The encryption device and the decryption device have the same structure except for the temporary storage of the internal state. The output of the internal state storage means 182 or the output of the internal state storage section 183 is in the F function 184 depending on the state ei switch 181 entered, its position in accordance with a signal E / O 180 is changed, which shows encryption processing or decryption processing. If such a structure is used, the size of the device can be reduced.
26 ist
ein Zeitdiagramm einer Entschlüsselungsverarbeitung
vom Pipeline-Typ, bei der keine Verzögerung erzeugt wird. Die Figur
zeigt, dass die Zeit zusammen mit der Richtung des direkten Pfeils vorgerückt wird.
Eine obere Stufe 185 zeigt einen Zustand des Aktualisierens
des internen Zustands, und ein Slash-Abschnitt 187 zeigt
eine Aktualisierungsverarbeitung des internen Zustands. Eine untere
Stufe 186 zeigt einen Zustand der Entschlüsselungsverarbeitung,
und ein Mesh-Abschnitt 188 zeigt die Entschlüsselungsverarbeitung.
Außerdem
zeigt ein Pfeil 189 eine Übereinstimmung zwischen der
Aktualisierung des internen Zustands und der Entschlüsselungsverarbeitung.
Beispielsweise wird der bei der Aktualisierungsverarbeitung 187 aktualisierte
interne Zustand bei der durch den Pfeil 189 gezeigten Entschlüsselungsverarbeitung 190 verwendet. 26 Fig. 11 is a timing chart of pipeline type decryption processing in which no delay is generated. The figure shows that time advances along with the direction of the direct arrow. An upper tier 185 shows a state of updating the internal state, and a slash section 187 Fig. 11 shows an internal state update processing. A lower tier 186 shows a state of decryption processing, and a mesh section 188 shows the decryption processing. An arrow also points 189 a match between the internal state update and the decryption processing. For example, the update processing 187 updated internal state at the by the arrow 189 decryption processing shown 190 used.
In 26 wird
mit Blick auf den Ablauf der Zeitreihenverarbeitung die Aktualisierungsverarbeitung 187 des
internen Zustands, der bei der nächsten Entschlüsselungsverarbeitung 190 verwendet
wird, zur gleichen Zeit wie die Entschlüsselungsverarbeitung 188 ausgeführt. Dadurch
kann die Verzögerung der
Entschlüsselungsverarbeitung,
die durch die Aktualisierungsverarbeitung des internen Zustands
verursacht wird, verhindert werden.In 26 becomes the update processing with a view to the process of time series processing 187 the internal state, which is the next decryption processing 190 is used at the same time as decryption processing 188 executed. This can prevent the decryption processing delay caused by the internal state update processing.
Gemäß der Erfindung kann sogar
in einem Fall, bei dem die Vorrichtung durch den Umwandlungsabschnitt
strukturiert ist, der unter Berücksichtigung
der Verarbeitungsgeschwindigkeit eine kleine Anzahl von Stufen aufweist,
die Sicherheit des Chiffretextes verbessert werden.According to the invention can even
in a case where the device passes through the conversion section
is structured taking into account
the processing speed has a small number of stages,
the security of the ciphertext can be improved.