DE4107266C2 - Process for fast encryption or decryption of large files using a chip card - Google Patents

Process for fast encryption or decryption of large files using a chip card

Info

Publication number
DE4107266C2
DE4107266C2 DE19914107266 DE4107266A DE4107266C2 DE 4107266 C2 DE4107266 C2 DE 4107266C2 DE 19914107266 DE19914107266 DE 19914107266 DE 4107266 A DE4107266 A DE 4107266A DE 4107266 C2 DE4107266 C2 DE 4107266C2
Authority
DE
Germany
Prior art keywords
server
chip card
block
encrypted
key
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.)
Expired - Fee Related
Application number
DE19914107266
Other languages
German (de)
Other versions
DE4107266A1 (en
Inventor
Gunter Lasmann
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Deutsche Telekom AG
Original Assignee
Deutsche Telekom AG
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Deutsche Telekom AG filed Critical Deutsche Telekom AG
Priority to DE19914107266 priority Critical patent/DE4107266C2/en
Publication of DE4107266A1 publication Critical patent/DE4107266A1/en
Application granted granted Critical
Publication of DE4107266C2 publication Critical patent/DE4107266C2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing
    • G06Q20/4097Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
    • G06Q20/40975Device specific authentication in transaction processing using mutual authentication between devices and transaction partners using encryption therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords

Description

Die Erfindung betrifft ein Verfahren zur Verschlüsselung großer Dateien gemäß dem Oberbegriff des Hauptanspruches.The invention relates to a method for encrypting large files according to the preamble of the main claim.

Ein Verfahren zur Verschlüsselung von Daten unter Verwendung einer Chipkarte und eines an eine Rechenanlage angeschlossenen Endgeräts ist aus der EP 198 384 A2 bekannt. Sowohl im Endgerät als auch in der Chipkarte sind Verschlüsselungseinrichtungen vorgesehen. Vom Endgerät abgegebene Daten werden durch die Verschlüsselungseinrichtung auf der Chipkarte mit Hilfe eines ersten Schlüssels verschlüsselt und zum Endgerät übertragen. Dort werden sie durch die weitere Verschlüsselungseinrichtung mit einem weiteren Schlüssel verschlüsselt und zur Rechenanlage übertragen. In der Rechenanlage erfolgt eine Entschlüsselung mit beiden Schlüsseln, um die Daten des Endgeräts unverschlüsselt zu erhalten.A method of encrypting data using a Chip card and a terminal connected to a computing system known from EP 198 384 A2. Both in the terminal and in the Encryption devices are provided for the chip card. From the terminal Delivered data are encrypted on the Chip card encrypted using a first key and sent to the end device transfer. There they are followed by the others Encryption device encrypted with another key and transferred to the computer system. A takes place in the computer system Decryption with both keys to the data of the terminal to get unencrypted.

Bei der Ver- oder Entschlüsselung von Daten mit Hilfe eines auf einer Chipkarte verwahrten Schlüssels gibt es zwei Probleme, die sich wie folgt beschreiben lassen.When encrypting or decrypting data using one on one Smart card key there are two problems, which are as follows let describe.

Die Chipkarte braucht, wenn sie die Ver- oder Entschlüsselung allein vornimmt, zu lange, da die Übertragung der Daten zu langsam und die Rechenleistung des Chipkartenprozessors um Größenordnungen zu gering ist.The chip card needs encryption or decryption alone takes too long because the data transfer is too slow and the Computing power of the chip card processor is too small by orders of magnitude is.

Das zweite Problem besteht darin, daß bei verschlüsselter Übertragung des geheimen Schlüssels in den Host oder in einen intelligenten Chipkartenleser, der im folgenden Server genannt wird, der Schlüssel beim Verschlüsseln im Server unverschlüsselt vorliegt. Der Schlüssel ist lesbar geworden.The second problem is that with encrypted transmission of the secret key in the host or in a smart one Chip card reader, which is called the server below, is the key to Encryption in the server is unencrypted. The key is legible become.

Der Erfindung liegt daher die Aufgabe zugrunde, ein Verfahren zur Verschlüsselung großer Dateien anzugeben, bei welchem die Chipkarte ihr Geheimnis, also den Gesamtschlüssel, nicht preisgibt. Weiterhin soll die Geschwindigkeit eines derartigen Verschlüsselungsverfahrens erhöht werden. The invention is therefore based on the object of a method for Encryption of large files with which the chip card you Does not reveal the secret, i.e. the complete key. Furthermore, the The speed of such an encryption method is increased will.  

Diese Aufgabe wird durch die in den Ansprüchen 1 und 2 gekennzeichnete Erfindung gelöst. Vorteilhafte Weiterbildungen der Verfahren sind in den Unteransprüchen angegeben.This object is characterized by that in claims 1 and 2 Invention solved. Advantageous developments of the method are in the Subclaims specified.

Die mit der Erfindung erzielten Vorteile bestehen insbesondere darin, daß die Verschlüsselung der einzelnen Blöcke - bis auf die ersten - unabhängig voneinander durchgeführt werden können. So können die Rechenaktivitäten von Server und Chipkarte zeitlich optimal aufeinander abgestimmt werden. Der um Größenordnungen schnellere Server kann so dafür sorgen, daß in der langsameren Chipkarte keine unnötigen Wartezeiten auftreten.The advantages achieved by the invention are in particular that the encryption of the individual blocks - apart from the first - independently can be carried out from each other. So the computing activities optimal coordination of server and chip card. The server, which is faster by orders of magnitude, can ensure that in the slower chip card there are no unnecessary waiting times.

Ein Ausführungsbeispiel der Erfindung wird im folgenden näher beschrieben.An embodiment of the invention is described in more detail below described.

Zur Verschlüsselung wird eine Datei, die sowohl eine reine Textdatei als auch eine Binärdatei sein kann, in gleich große Teile, sogenannte Blöcke eingeteilt. Wird dabei der letzte Block nicht voll, wird er mit Nullen aufgefüllt. Die Blocklänge ist die Größe dieser Blöcke gemessen in Bit. Bei dem Verfahren nach der Erfindung ist sie nicht explizit festgelegt. Ein gebräuchlicher Wert ist 128 Bit.For encryption, a file that is both a plain text file and can also be a binary file, in equal parts, so-called blocks assigned. If the last block is not full, it will be zeros replenished. The block length is the size of these blocks measured in bits. At the method according to the invention is not explicitly defined. A the usual value is 128 bits.

Bei dem erfindungsgemäßen Verfahren zum Verschlüsseln von Dateien werden zwei unterschiedliche Schlüssel benötigt. Ein erster Schlüssel K1 wird vom Server benutzt, ein zweiter Schlüssel K2 von der Chipkarte selbst. Da beide Schlüssel benötigt werden zur Ver- und Entschlüsselung, bilden beide Schlüssel den Gesamtschlüssel Kg. Der Server und die Chipkarte benutzen das gleiche Ver- und Entschlüsselungsverfahren nach der Erfindung e bzw. d.In the inventive method for encrypting files two different keys are required. A first key K1 is used by the server, a second key K2 by the chip card itself. Since both keys are required for encryption and decryption both keys the total key Kg. The server and the chip card use the same encryption and decryption procedure after Invention e or d.

Bei dem Verfahren nach der Erfindung gibt es drei verschiedene Blockarten. Die Blöcke des Klartextes P1 . . . Pm sind die Blöcke der zu verschlüsselnden Datei. Bei dem Verfahren nach der Erfindung wird dem Klartext ein Zufallsvektor R von Blocklänge vorangestellt. Die einfach verschlüsselten Blöcke C1 . . . Cm sind nur einmal mit dem ersten Schlüssel K1 verschlüsselt. Diesen Blöcken wird ein einfach verschlüsselter Zufallsvektor C0 vorangestellt. Den zweifach verschlüsselten, bezeichnet mit Cj', Blöcken ist gemeinsam, daß sie zweimal und zwar das zweite Mal in der Chipkarte mit dem zweiten Schlüssel K2 verschlüsselt sind. Dadurch muß nur eine kleine Anzahl von Blöcken zweimal verschlüsselt werden. Es existiert also nicht zu jedem einfach verschlüsselten Block C1 . . . Cm ein zweifach verschlüsselter Block Cj'.There are three different types of blocks in the method according to the invention. The blocks of the plain text P1. . . Pm are the blocks of the ones to be encrypted File. In the method according to the invention, the plain text is a Random vector R preceded by block length. The simply encrypted Blocks C1. . . Cm are encrypted only once with the first key K1. A simple encrypted random vector C0 becomes these blocks prepended. The double-encrypted, denoted by Cj ', is blocks common that they twice in the chip card with the second key K2 are encrypted. This only requires a small one  Number of blocks can be encrypted twice. So it doesn't exist too each simply encrypted block C1. . . Cm a double-encrypted Block Cj '.

Wichtig für die Sicherheit des Verfahrens nach der Erfindung ist die Einwegfunktion h, die aus zwei Blöcken einen Block berechnet. Der Ergebnisblock ist so anzulegen, daß keinerlei Rückschlüsse auf die Ausgangsblöcke möglich ist. Jede Änderung eines Bit in den Ausgangsblöcken muß jedoch eine Änderung im Ergebnisblock bewirken.What is important for the safety of the method according to the invention is One-way function h, which calculates a block from two blocks. Of the The results block should be created in such a way that no conclusions can be drawn about the Output blocks is possible. Every change of a bit in the Output blocks must, however, cause a change in the result block.

Das im folgenden verwendete Symbol + bedeutet eine Exklusiv-Oder- Funktion. Der Ergebnisblock ergibt sich dabei aus dem Exklusiv-Oder der entsprechenden Bits in den Ausgangsblöcken.The symbol + used below means an exclusive-or- Function. The result block results from the exclusive or corresponding bits in the output blocks.

Die Chipkarte enthält das Verschlüsselungsverfahren e und das Entschlüsselungsverfahren d und den ersten Schlüssel K1 sowie den zweiten Schlüssel K2. Der Server beherrscht die Verschlüssel- bzw. Entschlüsselungsverfahren e, d und die Einwegfunktion h.The chip card contains the encryption method e and that Decryption method d and the first key K1 and the second key K2. The server masters the encryption or Decryption method e, d and the one-way function h.

Das Verschlüsseln erfolgt mit folgenden Schritten:
The encryption takes place with the following steps:

  • - Gesicherte Übertragung des Schlüssels K1 von der Chipkarte zum Server.- Secure transfer of the key K1 from the chip card to Server.
  • - Die Chipkarte und der Server einigen sich auf einen Zufallsvektor R, der im Server gespeichert wird.- The chip card and the server agree on a random vector R, which is stored in the server.
  • - Der Server berechnet C0 = eK1(R).- The server calculates C0 = eK1 (R).
  • - Bei einer Variante berechnet der Server C0 = eK1(R) und sendet C0 an die Chipkarte. Diese berechnet C0' = eK2(C0) und sendet C0 an den Server zurück.- In one variant, the server calculates C0 = eK1 (R) and sends C0 the chip card. This calculates C0 '= eK2 (C0) and sends C0 to the Server back.
  • - Erster Block: Der Server berechnet C1 = eK1(P1 + h(R, C0)) und sendet C1 an die Chipkarte. Diese berechnet C1' = eK2(C1) und sendet C1' an den Server zurück.- First block: The server calculates C1 = eK1 (P1 + h (R, C0)) and sends C1 to the chip card. This calculates C1 '= eK2 (C1) and sends C1' to the Server back.
  • - Zweiter bis (k-1)-ter Block: Der Server berechnet Cj = eK1(Pj + h(R, P(j - 1))).- Second to (k-1) th block: The server calculates Cj = eK1 (Pj + h (R, P (j - 1))).
  • - k-ter Block: Der Server berechnet Ck = eK1(Pk + h(R, P(k - 1))), sendet Ck an die Chipkarte. Diese berechnet Ck' = eK2(Ck) und sendet Ck' an den Server zurück.- kth block: the server calculates Ck = eK1 (Pk + h (R, P (k - 1))), sends Ck to the chip card. This calculates Ck '= eK2 (Ck) and sends Ck' to the Server back.

Jeder k-te Block wird also von der Chipkarte ein weiteres Mal verschlüsselt:
Every kth block is encrypted again by the chip card:

  • - Die Blocknummer j ist kein Vielfaches von k: Der Server berechnet Cj = eK1(Pj + h(R, P(j - 1))).- Block number j is not a multiple of k: The server calculates Cj = eK1 (Pj + h (R, P (j - 1))).
  • - Die Blocknummer j ist ein Vielfaches von k: Der Server berechnet Cj = eK1(Pj + h(R, P(j - 1))), sendet Cj an die Chipkarte. Diese berechnet Cj' = eK2(Cj) und sendet Cj' an den Server zurück. Der Block Cj' ersetzt im verschlüsselten Text den Block Cj.- The block number j is a multiple of k: The server calculates Cj = eK1 (Pj + h (R, P (j - 1))), sends Cj to the chip card. This calculated Cj '= eK2 (Cj) and sends Cj' back to the server. Block Cj 'replaced block Cj in the encrypted text.

Das Entschlüsseln erfolgt mit den folgenden Schritten:
Decryption takes place in the following steps:

  • - Gesicherte Übertragung des Schlüssels K1 von der Chipkarte zum Server.- Secure transfer of the key K1 from the chip card to Server.
  • - Der Server entschlüsselt den Zufallsvektor R = dK1(C0).- The server decrypts the random vector R = dK1 (C0).
  • - Bei einer Variante sendet der Server C0' an die Chipkarte, diese berechnet C0 = dK2(C0') und sendet C0 an den Server. Dieser berechnet schließlich R = dK1(C0).- In one variant, the server sends C0 'to the chip card calculates C0 = dK2 (C0 ') and sends C0 to the server. This calculates finally R = dK1 (C0).
  • - Erster Block: Der Server sendet C1' an die Chipkarte. Die Chipkarte berechnet C1 = dK2(C1') und sendet C1 an den Server. Dieser berechnet P1 = dK1(C1) + h(R, C0).- First block: The server sends C1 'to the chip card. The chip card calculates C1 = dK2 (C1 ') and sends C1 to the server. This calculates P1 = dK1 (C1) + h (R, C0).
  • - Zweiter bis (k-1)-ter Block:
    Der Server berechnet Pj = dK1(Cj) + h(R, P(j - 1)).
    - Second to (k-1) th block:
    The server calculates Pj = dK1 (Cj) + h (R, P (j - 1)).
  • - k-ter Block: Der Server sendet Ck' an die Chipkarte.
    Diese berechnet Ck = dK2(Ck') und sendet Ck an den Server zurück. Dieser berechnet Pk = dK1(Ck) + h(R, P(k - 1)).
    - kth block: the server sends Ck 'to the chip card.
    This calculates Ck = dK2 (Ck ') and sends Ck back to the server. This calculates Pk = dK1 (Ck) + h (R, P (k - 1)).

Jeder k-te Block muß zuerst von der Chipkarte entschlüsselt werden:
Every kth block must first be decrypted by the chip card:

  • - Die Blocknummer j ist kein Vielfaches von k:
    Der Server berechnet Pj = dK1(Cj) + h(R, P(j - 1)).
    - The block number j is not a multiple of k:
    The server calculates Pj = dK1 (Cj) + h (R, P (j - 1)).
  • - Die Blocknummer j ist ein Vielfaches von k:
    Der Server sendet Cj' an die Chipkarte. Diese berechnet Cj = dK2(Cj') und sendet Cj an den Server zurück.
    Dieser berechnet Pj = dK1(Cj) + h(R, P(j - 1)).
    - The block number j is a multiple of k:
    The server sends Cj 'to the chip card. This calculates Cj = dK2 (Cj ') and sends Cj back to the server.
    This calculates Pj = dK1 (Cj) + h (R, P (j - 1)).

Gelangt ein Angreifer etwa durch Manipulation am Server in Besitz des Serverschlüssels K1, so kann er aus den übertragenen Blöcken nicht den Klartext rekonstruieren. Denn dechiffrieren kann er nur die Blöcke ohne ', die nicht mit dem zweiten Schlüssel noch einmal verschlüsselt sind. If an attacker gets possession of the Server key K1, it can not from the transferred blocks Reconstruct plain text. Because he can only decipher the blocks without ', that are not encrypted again with the second key.  

Dies sind
these are

Diese Blöcke ergeben mittels K1:
Using K1, these blocks result in:

Zu den Klartexten kommt man also nur, wenn man R und den vorhergehenden Klartext kennt oder errät. Die Variante, die R verbirgt, hat also Sicherheitsvorteile, kostet aber einen Blockaustausch mehr. Wichtig ist auch die Qualität der Einwegfunktion, eine gute zwingt der Angreifer zum Probieren. Dies dürfte bei einer Blocklänge von 128 Bit oder größer aber nicht sehr erfolgversprechend sein.You can only get to the plaintext if you use R and the knows or guesses the previous clear text. The variant that R hides has So security advantages, but costs a block exchange more. Important is also the quality of the one-way function, a good one forces the attacker to Try. However, this should not be the case with a block length of 128 bits or larger be very promising.

Claims (9)

1. Verfahren zur schnellen Ver- oder Entschlüsselung großer Dateien mit Hilfe einer Chipkarte und eines Servers, wobei die Chipkarte zwei Schlüssel K1, K2 enthält, dadurch gekennzeichnet, daß
  • a) die Chipkarte und der Server jeweils das gleiche Verschlüsselungs­ verfahren e bzw. eKj und Entschlüsselungsverfahren d bzw. dKj benutzen;
  • b) der Server eine Einwegfunktion h enthält, die aus zwei Datenblöcken einen Datenblock berechnet;
  • c) zum Verschlüsseln folgende Schritte durchgeführt werden, wobei der zweite Schlüssel K2 die Chipkarte während der Verschlüsselung nicht verläßt:
    • 1. die zu verschlüsselnde Datei wird in Blöcke P1, ... Pm gleicher Blocklänge aufgeteilt;
    • 2. der erste Schlüssel K1 wird mit einer gesicherten Übertragung von der Chipkarte zum Server übertragen;
    • 3. Chipkarte und Server einigen sich auf einen im Server zu speichernden Zufallsvektor R;
    • 4. der Server berechnet den mit dem Schlüssel K1 verschlüsselten Zufallsvektor C0 aus dem unverschlüsselten Zufallsvektor R: C0 = eK1(R);
    • 5. der Server berechnet die mit dem Schlüssel K1 verschlüsselten Datenblöcke Cj aus den jeweiligen vorherigen Datenblöcken unter Verwendung der Einwegfunktion h und der Exklusiv-Oder-Funktion;
    • 6. jeder k-te Block Cj wird vom Server zur Chipkarte übertragen und von dieser mit dem Schlüssel K2 verschlüsselt als Block Cj ' an den Server zurückgesendet;
    • 7. der zweimal verschlüsselte Block Cj' ersetzt im verschlüsselten Text 1 den entsprechenden einmal verschlüsselten Block Cj;
  • d) und zum Entschlüsseln folgende Schritte durchgeführt werden, wobei der zweite Schlüssel K2 die Chipkarte während der Verschlüsselung nicht verläßt:
    • 1. der Schlüssel K1 wird mit einer gesicherten Übertragung von der Chipkarte zum Server übertragen;
    • 2. der Server entschlüsselt den Zufallsvektor R aus dem verschlüsselten Startblock C0: R = dK1(C0);
    • 3. jeder k-te Block Cj ' wird vom Server zur Chipkarte übertragen, von dieser entschlüsselt als Block Cj und an den Server zurückgesendet;
    • 4. der von der Chipkarte entschlüsselte Block Cj ersetzt im verschlüsselten Text den k-ten Block Cj ';
    • 5. jeder Block wird vom Server mit Hilfe der vorherigen Datenblöcke unter Verwendung der Einwegfunktion h und der Exklusiv-Oder- Funktion entschlüsselt.
1. A method for fast encryption or decryption of large files using a chip card and a server, the chip card containing two keys K 1 , K 2 , characterized in that
  • a) the chip card and the server each use the same encryption method e or eKj and decryption method d or dKj;
  • b) the server contains a one-way function h, which calculates a data block from two data blocks;
  • c) the following steps are carried out for encryption, the second key K 2 not leaving the chip card during the encryption:
    • 1. the file to be encrypted is divided into blocks P 1 , ... P m of the same block length;
    • 2. the first key K 1 is transmitted with a secure transmission from the chip card to the server;
    • 3. Chip card and server agree on a random vector R to be stored in the server;
    • 4. the server calculates the random vector C 0 encrypted with the key K 1 from the unencrypted random vector R: C 0 = eK 1 (R);
    • 5. the server calculates the data blocks C j encrypted with the key K 1 from the respective previous data blocks using the one-way function h and the exclusive-OR function;
    • 6. every kth block Cj is transmitted from the server to the chip card and, encrypted with the key K2, is sent back to the server as block C j ' ;
    • 7. The twice-encrypted block Cj 'replaces the corresponding once-encrypted block Cj in the encrypted text 1;
  • d) and for decryption the following steps are carried out, the second key K 2 not leaving the chip card during the encryption:
    • 1. the key K 1 is transmitted with a secure transmission from the chip card to the server;
    • 2. the server decrypts the random vector R from the encrypted start block C 0 : R = dK 1 (C 0 );
    • 3. every kth block C j ' is transmitted from the server to the chip card, decrypted by the latter as block C j and sent back to the server;
    • 4. the block C j decrypted by the chip card replaces the kth block C j ' in the encrypted text;
    • 5. Each block is decrypted by the server using the previous data blocks using the one-way function h and the exclusive-or function.
2. Verfahren zur schnellen Ver- oder Entschlüsselung großer Dateien mit Hilfe einer Chipkarte, ohne daß der entscheidende zweite Schlüssel K2 die Chipkarte, die die beiden Schlüssel K1, K2 enthält, verläßt, dadurch gekennzeichnet, daß zum Verschlüsseln
  • 1. ein erster Schlüssel K1 mit einer gesicherten Übertragung von der Chipkarte zum Server übertragen wird,
  • 2. sich Chipkarte und Server auf einen im Server zu speichernden Zufallsvektor R einigen,
  • 3. der Server jeden Block nach einem Exklusiv-Oder mit einem Wert, in den der Inhalt der jeweiligen vorherigen Blöcke eingeht, verschlüsselt,
  • 4. jeder k-te Block von der Chipkarte ein zweites Mal mit dem Schlüssel K2 verschlüsselt wird,
  • 5. dieser zweimal verschlüsselte Block im verschlüsselten Text den entsprechenden einmal verschlüsselten Block ersetzt, und daß zum Entschlüsseln
  • 6. der Schlüssel K1 mit einer gesicherten Übertragung von der Chipkarte zum Server übertragen wird,
  • 7. der Server den Zufallsvektor R entschlüsselt,
  • 8. jeder k-te Block zuerst von der Chipkarte entschlüsselt wird,
  • 9. der von der Chipkarte entschlüsselte Block im verschlüsselten Text den k-ten Block ersetzt,
  • 10. jeder Block von Server nach einem Exklusiv-Oder mit einem Wert, in den der Inhalt der jeweiligen vorherigen Blöcke eingeht, entschlüsselt wird.
2. Method for fast encryption or decryption of large files with the aid of a chip card, without the crucial second key K 2 leaving the chip card which contains the two keys K 1 , K 2 , characterized in that for encryption
  • 1. a first key K 1 is transmitted with a secure transmission from the chip card to the server,
  • 2. chip card and server agree on a random vector R to be stored in the server,
  • 3. the server encrypts each block after an exclusive-OR with a value that includes the content of the respective previous blocks,
  • 4. every kth block is encrypted a second time by the chip card with the key K 2 ,
  • 5. this twice-encrypted block in the encrypted text replaces the corresponding once-encrypted block, and that for decryption
  • 6. the key K 1 is transmitted with a secure transmission from the chip card to the server,
  • 7. the server decrypts the random vector R,
  • 8. every kth block is first decrypted by the chip card,
  • 9. the block decrypted by the chip card replaces the kth block in the encrypted text,
  • 10. Each block is decrypted by the server after an exclusive-OR with a value that includes the content of the respective previous blocks.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß der Server bei der Verschlüsselung einen speziellen ersten Block verschlüsselt und an die Chipkarte sendet und mit K2 verschlüsselt zurückerhält, sowie die Chipkarte bei der Entschlüsselung mit Hilfe des ersten zweifach verschlüsselten Blockes die verschlüsselten speziellen ersten Blöcke berechnet und an den Server sendet. 3. The method according to claim 1 or 2, characterized in that the server encrypted a special first block encrypted and sent to the chip card and encrypted with K2 receives back, as well as the chip card during the decryption with the help of first encrypted block twice the encrypted special first blocks calculated and sent to the server.   4. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, daß bei der Bildung der Datenblöcke der letzte Block Pm mit Nullen aufgefüllt wird, falls er nicht voll wird.4. The method according to any one of the preceding claims, characterized featured, that in the formation of the data blocks the last block Pm with zeros is filled up if it does not become full. 5. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, daß der Zufallsvektor R die Länge der Datenblöcke hat.5. The method according to any one of the preceding claims, characterized featured, that the random vector R has the length of the data blocks. 6. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, daß der Server beim Verschlüsseln die Datenblöcke C1 = eK1(P1 + h(R, C0)) und Cj = eK1(Pj + h(R, Pj-1)) für j < 1 berechnet, wobei "+" eine Exklusiv-Oder- Funktion angibt.6. The method according to any one of the preceding claims, characterized in that the server when encrypting the data blocks C 1 = eK1 (P 1 + h (R, C 0 )) and C j = eK1 (P j + h (R, P j -1 )) calculated for j <1, where "+" indicates an exclusive-or function. 7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß der Server beim Entschlüsseln die Datenblöcke P1 = dK1(C1) + h(R, C0) und Pj = dK1(Cj)) für j < 1 berechnet, wobei "+" eine Exklusiv-Oder- Funktion angibt.7. The method according to claim 6, characterized in that the server calculates the data blocks P 1 = dK 1 (C 1 ) + h (R, C 0 ) and P j = dK 1 (C j )) for j <1 when decrypting , where "+" indicates an exclusive-or function. 8. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, daß der Server zur Verbergung des Zufallsvektors R beim Verschlüsseln C0 = eK1(R) berechnet und C0 an die Chipkarte sendet, welche C0 ' = eK2(C0) berechnet und C0' an den Server zurücksendet, und der Server beim Entschlüsseln C0' an die Chipkarte sendet, welche C0 = dK2(C0 ') berechnet und C0 an den Server zurücksendet, welcher schließlich R = dK1(C0) berechnet.8. The method according to any one of the preceding claims, characterized in that the server to hide the random vector R when encrypting calculates C 0 = eK 1 (R) and sends C 0 to the chip card, which C 0 ' = calculated eK 2 (C 0 ) and sends C 0 'back to the server, and when decrypting the server sends C 0' to the chip card, which calculates C 0 = dK 2 (C 0 ' ) and sends C 0 back to the server, which finally calculates R = dK 1 (C 0 ). 9. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, daß die Datenblöcke eine Länge von wenigstens 128 Bit haben.9. The method according to any one of the preceding claims, characterized featured, that the data blocks have a length of at least 128 bits.
DE19914107266 1991-03-07 1991-03-07 Process for fast encryption or decryption of large files using a chip card Expired - Fee Related DE4107266C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19914107266 DE4107266C2 (en) 1991-03-07 1991-03-07 Process for fast encryption or decryption of large files using a chip card

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19914107266 DE4107266C2 (en) 1991-03-07 1991-03-07 Process for fast encryption or decryption of large files using a chip card

Publications (2)

Publication Number Publication Date
DE4107266A1 DE4107266A1 (en) 1992-09-10
DE4107266C2 true DE4107266C2 (en) 1998-11-19

Family

ID=6426664

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19914107266 Expired - Fee Related DE4107266C2 (en) 1991-03-07 1991-03-07 Process for fast encryption or decryption of large files using a chip card

Country Status (1)

Country Link
DE (1) DE4107266C2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2728981A1 (en) * 1994-12-28 1996-07-05 Gemplus Card Int METHOD FOR IMPLEMENTING A PRIVATE KEY COMMUNICATION PROTOCOL BETWEEN TWO PROCESSING DEVICES
US5696823A (en) * 1995-03-31 1997-12-09 Lucent Technologies Inc. High-bandwidth encryption system with low-bandwidth cryptographic modules

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0198384A2 (en) * 1985-04-09 1986-10-22 Siemens Aktiengesellschaft Method and device for enciphering data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0198384A2 (en) * 1985-04-09 1986-10-22 Siemens Aktiengesellschaft Method and device for enciphering data

Also Published As

Publication number Publication date
DE4107266A1 (en) 1992-09-10

Similar Documents

Publication Publication Date Title
DE69929251T2 (en) ENCRYPTION SYSTEM WITH A KEY OF CHANGING LENGTH
DE2231835C3 (en) Process for the encryption and decryption of binary data in several stages
DE2232256C3 (en) Method for checking the authorization of users of a data processing network using data stations
DE10148415C2 (en) Method and device for encrypting and decrypting data
DE3036596A1 (en) METHOD FOR SECURELY PROCESSING A BUSINESS OPERATION OVER AN UNSECURED MESSAGE CHANNEL
DE2231849B2 (en) Encryption method to increase the decryption strength of binary data to be encrypted in blocks and arrangement for carrying out the method
WO2010133355A1 (en) Encoding methods
EP0012974B1 (en) Method for enciphering data blocks of a given length
DE19744961A1 (en) Generate clear and unpredictable values
DE3018945A1 (en) DATA TREATMENT DEVICE AND METHOD FOR SECURING THE TRANSMISSION OF DATA
DE69729297T2 (en) ENCRYPTION DEVICE FOR BINARY CODED MESSAGES
DE602004001732T2 (en) Data encryption in an electronic device with multiple symmetric processors
EP0090771A1 (en) Method and apparatus for the enciphered transmission of information
DE4107266C2 (en) Process for fast encryption or decryption of large files using a chip card
DE3244537C2 (en)
DE3905667C2 (en)
DE3922642A1 (en) Transmitting crypto-coded data between two subscribers - involves public code of exchange and exclusive code for each subscriber
EP0198384A2 (en) Method and device for enciphering data
DE102018113772B4 (en) Encryption method
EP2288073B1 (en) Apparatus for encrypting data
EP3367285A1 (en) Access control device and method for authenticating access authorization
DE1462014C1 (en) Procedure for the encryption and decryption of telex characters
DE19513898A1 (en) Public key method for encrypting data
DE4420967C2 (en) Decryption device for digital information and method for carrying out the encryption and decryption of this using the decryption device
DE1803062C1 (en) Synchronisation device for random number generators

Legal Events

Date Code Title Description
8127 New person/name/address of the applicant

Owner name: DEUTSCHE TELEKOM AG, 53113 BONN, DE

8110 Request for examination paragraph 44
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee