EP1034527A2 - Verfahren zur reduzierung von speicherplatzbedarf für einen elektronischen ersten schlüssel und anordnung zur ver- und entschlüsselung - Google Patents

Verfahren zur reduzierung von speicherplatzbedarf für einen elektronischen ersten schlüssel und anordnung zur ver- und entschlüsselung

Info

Publication number
EP1034527A2
EP1034527A2 EP98966766A EP98966766A EP1034527A2 EP 1034527 A2 EP1034527 A2 EP 1034527A2 EP 98966766 A EP98966766 A EP 98966766A EP 98966766 A EP98966766 A EP 98966766A EP 1034527 A2 EP1034527 A2 EP 1034527A2
Authority
EP
European Patent Office
Prior art keywords
key
permutation
blocks
identifier
permutations
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP98966766A
Other languages
English (en)
French (fr)
Inventor
Jean Georgiades
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.)
Siemens AG
Original Assignee
Siemens 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 Siemens AG filed Critical Siemens AG
Publication of EP1034527A2 publication Critical patent/EP1034527A2/de
Withdrawn legal-status Critical Current

Links

Classifications

    • 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
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage

Definitions

  • the invention relates to a method for reducing the storage space requirement for an electronic first key and an arrangement for encryption and decryption.
  • a "key” is understood to mean data that are to be kept secret and are to be used in particular in a cryptographic process.
  • An "attacker” is an unauthorized person with the goal of getting the key.
  • keys are each determined with lengths of several 100 bits.
  • a memory area of a computer or portable medium that is protected from an attack that is, a memory area that an attacker cannot read, is usually very small.
  • a length of a key of several 100 bits stored in such a protected memory area reduces free memory space within the protected memory area, so that relatively few such keys can be stored together.
  • the object of the invention is to provide a method for reducing the storage space requirement for an electronic key and an arrangement for encryption and decryption, the disadvantage described above being avoided.
  • a method for reducing the storage space requirement for an electronic first key with a predetermined length is specified, in which the first key contains a number of units corresponding to the predetermined length. Several units are combined into one block.
  • the first key is represented by several blocks, and a publicly accessible identifier is created from the first key by determining a permutation of the blocks and storing an index for this permutation as an electronic second key.
  • the index identifies the permutation after which the blocks of the first key have been exchanged.
  • a first position in the index can contain a number that describes the position to which the first block of the first key has been moved based on the permutation.
  • the second position of the index refers to the position (a block corresponds to a position) of the public identifier which represents the second block of the first key, etc.
  • the result of continuing this process until all blocks have been assigned is one Permutation number (PERM, see Fig. 3) that uniquely references the first key from the publicly accessible identifier.
  • the index can also be a shortened form of the permutation number. If n denotes the number of blocks, then (if all blocks are different in pairs) n! Possibilities to arrange the blocks. Blocks 1 to n can be arranged in different ways. Sorting the possibilities of the arrangement according to a given scheme (e.g. in a table) by size, whereby each block receives a number according to its position, you can determine the index by looking for the entry of the permutation number and its place within the arrangement (with reproducible order) is saved as an index (see example in Fig. 3 and Table 1).
  • the reduction in the storage space requirement for the first key results from the fact that only the second key is stored.
  • the second key comprises the index and therefore requires significantly less storage space than the first key.
  • the storage space requirement for the second key is preferably determined by the number of possible permutations.
  • the created identifier can be made publicly accessible, so it does not have to be stored in a protected memory area. An attacker who learns of this identifier, even if he knows the block size, has n! Possibilities (n is the number of blocks) to determine the first key from the identifier. In practice, such an attempt is extremely unlikely to succeed.
  • a further development consists in the blocks each comprising an equal number of units. It is also a further development that one of the following units is used: a) number; b) alphanumeric character; c) byte; d) bit.
  • the second key is stored in a protected memory area, preferably on a chip card.
  • Storage area provides.
  • the protected memory area ensures that data contained there cannot be easily read by an attacker. Since the available storage space in the protected storage area is generally small, it is a significant advantage if a key to be stored in the protected storage area is reduced in length without having to accept a reduced security of the cryptographic method.
  • Permutation of the blocks is determined by carrying out the following steps: A permutation is randomly determined from all possible permutations, the permutations being created according to a specific scheme and thus an order of the permutations created can be reproduced. The index then determines a place for the permutation within the sequence of the permutations.
  • the Blocks swapped and saved as a publicly accessible identifier.
  • a third key is determined on the basis of the second key, this third key being equal to the first key.
  • the public identifier is divided into blocks, each block comprising several units of the identifier.
  • a third key is determined from the identifier and the second key, in that all possible permutations of the blocks, which are reproducibly created in their sequence, and the permutation among the permutations that represents the third key is determined using the second key.
  • the index (second key) is used for addressing within the sequence of the permutations, so that the associated permutation with the publicly accessible identifier defines a third key which is the same as the first key.
  • the second key is a secret key and is protected
  • Memory area e.g. a chip card.
  • an arrangement for encryption and decryption is also specified with a medium which has a protected memory area and with a
  • Computing unit which is set up in such a way that a first key is shortened in accordance with the steps of the method described above.
  • the medium is preferably a portable medium, for example a chip card.
  • the protected memory area can be stored both on the medium and within a computer, which is connected, for example, in a network with other computers.
  • the protected memory area should be sufficiently secure against unauthorized access. This ensures suitable mechanisms, for example reading the protected
  • FIG. 1 shows a sketch which represents a method for reducing the storage space requirement for an electronic first key
  • FIG. 2 shows a sketch which represents a method for restoring the first key from the publicly accessible identifier and the second key
  • a computing unit 1 shows a method for reducing the storage space requirement for an electronic first key.
  • the first key is divided into blocks, the blocks each containing an equal number of units. Such units are preferably numbers, alphanumeric characters, bytes or bits.
  • a permutation is randomly determined from all permutations of the blocks that are reproducible in their order. This random permutation is used as a publicly available identifier. From the order of the blocks corresponding to this permutation, it is extremely unlikely that the first key will be restored if the first key is provided with a suitable number of units. The selected permutation has a certain place within the order of all permutations (order reproducible) (see step 103).
  • the index is stored as a second key. The second key is stored in a protected memory area.
  • step 201 shows steps of a method for restoring the first key from the publicly accessible identifier with the second key.
  • a step 201 reproducible permutations of the blocks of the identifier are determined from the identifier.
  • a permutation among the permutations is determined as a third key (see step 202).
  • the third key is equal to the first key (see step 203). The first key that was mapped in a second key to reduce storage space is thus restored.
  • Fig. 3 illustrates the relationships.
  • the first key Kl "1234567890” comprises several units UNIT “1", “2", “3”, “4", “5", “6", “7”, “8”, “9”, “0” which are each represented by an alphanumeric character.
  • a step 301 the first key K1 is subdivided into blocks BL “1 2", “3 4", “5 6", “7 8", “9 0”, each of which comprises two units EINH.
  • a next step 302 determines a random combination of the blocks BL to form an identifier KEN "3478129056", which can be publicly accessible.
  • a step 303 represents a permutation number PERM "24153" which uniquely converts the identifier KEN into the first key K1.
  • the permutation number PERM maps the identifier KEN to the first key, in that the first digit of the permutation number PERM "2" is the first digit of the identifier KEN "3 4" based on blocks of two units and this block as the second block of the first key Kl identifies. The second digit of the identifier KEN "7 8" is therefore the fourth digit of the first key K1, etc. After complete assignment, the permutation number clearly results in the first key K1 to "1234567890".
  • a further assignment results in a representation of the first key K1 that is significantly shortened in relation to the length of the permutation number PERM.
  • a place in this order is determined from the permutation number PERM based on the sequence of all permutations that have the same number of digits as the permutation number PERM using table 1.
  • Sorting the possible permutations according to size results in a clear order of all permutations (from 0 to n! -L) (see table 1 as a section of the first 47 options).
  • the entry is determined in a step 305 which references the permutation number PERM in the table LISTE.
  • the 37th entry in Table 1 (LIST in Fig. 3) is equal to the permutation number PERM. Accordingly, the 37th entry, ie the character string “037”, is stored as the second key K2.
  • the second key K2 has a significantly reduced length compared to the first key Kl.
  • the second key K2 is preferably protected Storage area filed.
  • the size of the second key K2 is determined by the number of possible permutations. If n is the number of blocks BL into which the first key K1 is divided, the number of possibilities for "n! Results. Here in the example there are 5 blocks, i.e. 120
  • the second key K2 is three digits ("000" to "119") in decimal notation, but only 7 bits in binary notation.
  • the first key Kl comprises several 100 bits
  • Table 1 mainly serves to illustrate the basic procedure.
  • the number of blocks n is usually large, so that the assignment described, indicated by Table 1, is preferably carried out according to a specific scheme. Such a scheme will be explained below.
  • T position of the read number from list L 3.
  • k k + (T-l) * (n-s)!
  • the s-th block of the permuted key is the block of the secret key located at (E + 1) -th position of the list L 5.
  • the (E + l) th entry in list L is deleted, subsequent entries move forward by one position
  • 3rd R 0 4th 4th block of the permuted key is the 2nd position of the
  • the permutation is: 2,4,1,5,3 3 that the identifier K2 can be determined from the PERM permutation and vice versa the PERM permutation can be determined from the identifier K2.
  • the LIST block ensures an allocation of the location of the PERM permutation within the set of all permutations of the same length, the permutations being sorted according to size.
  • FIG. 1 An arrangement for encryption and decryption is shown in FIG. 1
  • a portable medium 401 preferably a chip card, comprises a (conventional) memory area MEM 403 and a protected memory area SEC 402
  • Interface IFC 404 data is exchanged between the medium 401 and a computer network 406 via a channel 405.
  • the computer network 406 comprises a plurality of computers which are connected to one another and communicate with one another. Data for the operation of the portable medium 401 are preferably available distributed in the computer network RN 406.
  • the protected memory area 402 is designed to be unreadable.
  • the data of the protected memory area 402 is used on the basis of a computing unit which is accommodated on the portable medium 401 or in the computer network 406. As a result, a comparison operation can indicate whether or not a comparison of an entry with a key in the protected memory area 402 was successful.
  • a computing unit 501 is shown in FIG.
  • the arithmetic unit 501 comprises a processor CPU 502, a memory 503 and an input / output interface 504, which is used in different ways via an interface 505 led out of the arithmetic unit 501: an output on a monitor 507 is visible via a graphics interface and / or printed out on a printer 508. A Input takes place via a mouse 509 or a keyboard 510.
  • the computing unit 501 also has a bus 506, which ensures the connection of memory 503, processor 502 and input / output interface 504. It is also possible to connect additional components to bus 506: additional memory, hard disk, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Credit Cards Or The Like (AREA)

Abstract

Um Speicherplatzbedarf für einen geheimen Schlüssel einzusparen wird dieser in Blöcke unterteilt, die Blöcke werden permutiert und ein mit der Permutation verknüpfter Index wird abgespeichert. Der Index ist gegenüber dem geheimen Schlüssel signifikant verkürzt. Umgekehrt wird aus dem Index der geheime Schlüssel wiedergewonnen, indem die Permutation aus dem Index ermittelt wird und mittels der nicht geheimzuhaltenden permutierten Blöcken und der Permutation der geheime Schlüssel ermittelt wird. Ferner wird eine Anordnung, z.B. eine Chipkarte, zur Durchführung der Ver- und Entschlüsselung angegeben.

Description

Beschreibung
Verfahren zur Reduzierung von Speicherplatzbedarf für einen elektronischen ersten Schlüssel und Anordnung zur Ver- und Entschlüsselung
Die Erfindung betrifft ein Verfahren zur Reduzierung von Speicherplatzbedarf für einen elektronischen ersten Schlüssel und eine Anordnung zur Ver- und Entschlüsselung.
Unter einem "Schlüssel" werden Daten verstanden, die geheimzuhalten sind und insbesondere in einem kryptographischen Verfahren angewandt werden sollen.
Ein "Angreifer" sei eine nichtautorisierte Person mit dem Ziel, an den Schlüssel zu gelangen.
Es sind zahlreiche kryptographische Verfahren bekannt, u.a. symmetrische und asymmetrische Verfahren. Insbesondere in einem Rechnernetz, in zunehmenden Maße aber auch in portablen Medien, z.B. einem Mobiltelefon oder einer Chipkarte, ist sicherzustellen, daß ein abgespeicherter Schlüssel auch dann nicht zugänglich ist, wenn ein Angreifer sich des Rechners, des Mobiltelefons oder der Chipkarte bemächtigt.
Um ausreichende Sicherheit kryptographischer Verfahren zu gewährleisten, werden Schlüssel, insbesondere bei asymmetrischen Verfahren, jeweils mit Längen von mehreren 100 Bits bestimmt. Ein vor einem Angriff geschützter Speicherbereich eines Rechners oder portablen Mediums, also ein Speicherbereich, den ein Angreifer nicht auslesen kann, ist zumeist knapp bemessen. Eine Länge eines in einem solchen geschützten Speicherbereich gespeicherten Schlüssels von mehreren 100 Bits vermindert freien Speicherplatz innerhalb des geschützten Speicherbereichs, so daß relativ wenige solcher Schlüssel zusammen abgespeichert werden können. Die Aufgabe der Erfindung besteht darin, ein Verfahren zur Reduzierung des Speicherplatzbedarfs für einen elektronischen Schlüssel und eine Anordnung zur Ver- und Entschlüsselung anzugeben, wobei der oben beschriebene Nachteil vermieden wird.
Diese Aufgabe wird gemäß den Merkmalen der unabhängigen Patentansprüche gelöst .
Es wird ein Verfahren zur Reduzierung von Speicherplatzbedarf für einen elektronischen ersten Schlüssel mit einer vorgegebenen Länge angegeben, bei dem der erste Schlüssel eine der vorgegebenen Länge entsprechende Anzahl von Einheiten enthält. Mehrere Einheiten werden jeweils zu einem Block zusammengefaßt. Der erste Schlüssel wird durch mehrere Blöcke dargestellt, und aus dem ersten Schlüssel wird eine öffentlich zugängliche Kennung erstellt, indem eine Permutation der Blöcke ermittelt wird und ein Index für diese Permutation als ein elektronischer zweiter Schlüssel abgespeichert wird.
Der Index kennzeichnet diejenige Permutation, nach der die Blöcke des ersten Schlüssels vertauscht worden sind. Dazu kann eine erste Stelle des Index eine Zahl enthalten, die beschreibt, an welche Stelle der erste Block des ersten Schlüssels anhand der Permutation verschoben worden ist. Analog wird mit der zweiten Stelle des Index auf diejenige Stelle (ein Block entspricht einer Stelle) der öffentlichen Kennung verwiesen, die den zweiten Block des ersten Schlüssels darstellt, usf. Es ergibt sich aus der Fortsetzung dieses Verfahrens, bis alle Blöcke zugeordnet sind, eine Permutationszahl (PERM, siehe Fig.3), die den ersten Schlüssel eindeutig aus der öffentlich zugänglichen Kennung referenziert .
Der Index kann auch eine verkürzte Form der Permutationszahl sein. Bezeichnet n die Anzahl der Blöcke, so gibt es (falls alle Blöcke paarweise verschieden sind) n! Möglichkeiten zur Anordnung der Blöcke. Die Blöcke 1 bis n können auf unterschiedliche Art angeordnet sein. Sortiert man die Möglichkeiten der Anordnung nach einem vorgegebenen Schema (z.B. in einer Tabelle) der Größe nach, wobei jeder Block eine Ziffer gemäß seiner Stellung erhält, so kann man den Index bestimmen, indem der Eintrag der Permutationszahl gesucht wird und dessen Platz innerhalb der Anordnung (mit reproduzierbarer Reihenfolge) als Index abgespeichert wird (siehe Beispiel in Fig.3 und Tabelle 1) .
Hierbei sei angemerkt, daß zur Veranschaulichung von einer
Anordnung in einer Tabelle ausgegangen wird, wohingegen in der Praxis eine Anordnung nach einem bestimmten Schema
64 vorzuziehen ist, da z.B. bei n=50 die Tabelle ca. 3*10
Einträge haben müßte. Ein Beispiel für eine Anordnung nach einem bestimmten Schema wird in der Figurenbeschreibung näher erläutert .
Die Reduzierung des Speicherplatzbedarfs für den ersten Schlüssel ergibt sich dadurch, daß nurmehr der zweite Schlüssel abgespeichert wird. Der zweite Schlüssel umfaßt den Index und benötigt daher deutlich weniger Speicherplatz als der erste Schlüssel . Vorzugsweise wird der Speicherplatzbedarf für den zweiten Schlüssel bestimmt durch die Anzahl der möglichen Permutationen. Die erstellte Kennung kann öffentlich zugänglich gemacht werden, muß demnach nicht in einem geschützten Speicherbereich abgelegt sein. Ein Angreifer, der von dieser Kennung erfährt, hat, auch wenn er die Blockgröße kennt, n! Möglichkeiten (n ist die Anzahl der Blöcke) , um aus der Kennung den ersten Schlüssel zu ermitteln. In der Praxis ist das Gelingen eines solchen Versuchs äußerst unwahrscheinlich.
Eine Weiterbildung besteht darin, daß die Blöcke jeweils eine gleiche Anzahl von Einheiten umfassen. Auch ist es eine Weiterbildung, daß eine der folgenden Einheiten verwendet wird: a) Nummer; b) alphanumerisches Zeichen; c) Byte; d) Bit.
Eine andere Weiterbildung besteht darin, daß der zweite Schlüssel in einem geschützten Speicherbereich, vorzugsweise auf einer Chipkarte, abgespeichert wird.
Dabei ist es von Vorteil, daß der zweite Schlüssel eine gegenüber dem ersten Schlüssel deutlich reduzierte Länge aufweist und damit geringere Anforderungen an den Speicherplatzbedarf innerhalb des geschützten
Speicherbereichs stellt. Der geschützte Speicherbereich stellt sicher, daß dort enthaltene Daten von einem Angreifer nicht einfach ausgelesen werden können. Da verfügbarer Speicherplatz im geschützten Speicherbereich allgemein gering ist, ist es ein signifikanter Vorteil, wenn ein in dem geschützten Speicherbereich abzulegender Schlüssel in seiner Länge reduziert ist, ohne auch eine reduzierte Sicherheit des kryptographisehen Verfahrens hinnehmen zu müssen.
Im Rahmen einer zusätzlichen Weiterbildung wird die
Permutation der Blöcke ermittelt, indem folgende Schritte durchgeführt werden: Zufällig wird eine Permutation aus allen möglichen Permutationen bestimmt, wobei die Permutationen nach einem bestimmten Schema erstellt werden und somit eine Reihenfolge der erstellten Permutationen reproduzierbar ist. Daraufhin wird mittels des Index ein Platz der Permutation innerhalb der Reihenfolge der Permutationen ermittelt.
Somit stellt dieser Index eine, anhand der Vorschrift (=vorgegebenes Schema) zur Bildung der Permutationen reproduzierbare, Abbildung des ersten Schlüssels dar. Entsprechend der zufällig ermittelten Permutation werden die Blöcke vertauscht und als öffentlich zugängliche Kennung abgespeichert .
In einer Weiterbildung der Erfindung wird ein dritter Schlüssel anhand des zweiten Schlüssels ermittelt, wobei dieser dritte Schlüssel gleich dem ersten Schlüssel ist. Dazu wird die öffentliche Kennung in Blöcke unterteilt, wobei jeder Block mehrere Einheiten der Kennung umfaßt. Aus der Kennung und dem zweiten Schlüssel wird ein dritter Schlüssel ermittelt, indem alle möglichen Permutationen der Blöcke, die in ihrer Reihenfolge reproduzierbar erstellt werden und anhand des zweiten Schlüssels diejenige Permutation unter den Permutationen ermittelt wird, die den dritten Schlüssel darstellt .
Dies entspricht im wesentlichen der inversen Operation zur Bildung der Permutation der Blöcke, die in ihrer Reihenfolge reproduzierbar sind. Anhand des Index (zweiten Schlüssels) wird eine Adressierung innerhalb der Reihenfolge der Permutationen vorgenommen, so daß die zugehörige Permutation mit der öffentlich zugänglichen Kennung einen dritten Schlüssel definiert, der gleich dem ersten Schlüssel ist.
Auch ist es eine Weiterbildung, daß der zweite Schlüssel ein geheimer Schlüssel ist und in einem geschützten
Speicherbereich, z.B. einer Chipkarte, abgelegt wird.
Erfindungsgemäß angegeben wird auch eine Anordnung zur Verschlüsselung und zur Entschlüsselung mit einem Medium, das einen geschützten Speicherbereich aufweist und mit einer
Recheneinheit, die derart eingerichtet ist, daß ein erster Schlüssel verkürzt wird gemäß den Schritten des oben dargestellten Verfahrens.
Vorzugsweise handelt es sich bei dem Medium um ein portables Medium, z.B. eine Chipkarte. Der geschützte Speicherbereich kann sowohl auf dem Medium als auch innerhalb eines Rechners, der beispielsweise in einem Netzwerkverbund mit anderen Rechnern zusammengeschlossen ist, angeordnet sein. Dabei soll der geschützte Speicherbereich vor unberechtigtem Zugriff ausreichend sicher sein. Dies stellen geeignete Mechanismen sicher, die beispielsweise ein Lesen des geschützten
Speicherbereichs verhindern und anhand interner Mechanismen, wahrgenommen durch einen Rechner, der auf den geschützten Speicherbereich zugreift, lediglich ein Ergebnis einer Vergleichsoperation mit einem Eintrag, insbesondere einem Schlüssel, des geschützten Speicherbereichs nach außen mitgeteilt wird.
Weiterbildungen der Erfindung ergeben sich auch aus den abhängigen Ansprüchen.
Ausführungsbeispiele der Erfindung werden nachfolgend anhand der Zeichnungen dargestellt und erläutert.
Es zeigen
Fig.l eine Skizze, die ein Verfahren zur Reduzierung von Speicherplatzbedarf für einen elektronischen ersten Schlüssel darstellt,
Fig.2 eine Skizze, die ein Verfahren zur Wiederherstellung des ersten Schlüssels aus der öffentlich zugänglichen Kennung und dem zweiten Schlüssel darstellt,
Fig.3 ein Beispiel für ein Verfahren zur Reduzierung von Speicherplatzbedarf für einen geheimen Schlüssel,
Fig.4 eine Anordnung zur Verschlüsselung und zur Entschlüsselung,
Fig.5 eine Recheneinheit In Fig.1 ist ein Verfahren zur Reduzierung von Speicherplatzbedarf für einen elektronischen ersten Schlüssel dargestellt. In einem Schritt 101 wird der erste Schlüssel in Blöcke unterteilt, wobei die Blöcke jeweils eine gleiche Anzahl von Einheiten enthalten. Derartige Einheiten sind vorzugsweise Nummern, alphanumerische Zeichen, Bytes oder Bits. In einem Schritt 102 wird aus allen Permutationen der Blöcke, die in ihrer Reihenfolge reproduzierbar sind, eine Permutation zufällig ermittelt. Diese zufällige Permutation wird als eine öffentlich zugängliche Kennung verwendet. Aus der dieser Permutation entsprechenden Reihenfolge der Blöcke ist eine Wiederherstellung des ersten Schlüssels äußerst unwahrscheinlich, wenn man den ersten Schlüssel mit einer geeigneten Anzahl von Einheiten vorsieht. Die ausgewählte Permutation hat innerhalb der Reihenfolge aller Permutationen (Reihenfolge reproduzierbar) einen bestimmten Platz (siehe Schritt 103) . In einem Schritt 104 wird der Index als ein zweiter Schlüssel abgespeichert. Der zweite Schlüssel wird in einem geschützten Speicherbereich abgelegt.
In Fig.2 sind Schritte eines Verfahrens zur Wiederherstellung des ersten Schlüssels aus der öffentlich zugänglichen Kennung mit dem zweiten Schlüssel dargestellt. Dazu werden in einem Schritt 201 aus der Kennung in ihrer Reihenfolge reproduzierbare Permutationen der Blöcke der Kennung ermittelt . Anhand des zweiten Schlüssels wird eine Permutation unter den Permutationen als ein dritter Schlüssel ermittelt (siehe Schritt 202) . Der dritte Schlüssel ist gleich dem ersten Schlüssel (siehe Schritt 203) . Somit ist der erste Schlüssel, der zur Reduzierung von Speicherplatz in einem zweiten Schlüssel abgebildet wurde, wiederhergestellt.
Das im folgenden dargestellte Beispiel erläutert die Arbeitsweise des Verfahrens zur Reduzierung des Speicherplatzbedarfs für einen elektronischen Schlüssel. Fig.3 illustriert die Zusammenhänge.
Der erste Schlüssel Kl "1234567890" umfaßt mehrere Einheiten EINH "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", die jeweils anhand eines alphanumerischen Zeichens darstellt sind. In einem Schritt 301 erfolgt die Unterteilung des ersten Schlüssels Kl in Blöcke BL "1 2", "3 4", "5 6", "7 8", "9 0", die jeweils zwei Einheiten EINH umfassen. Ein nächster Schritt 302 bestimmt eine zufällige Kombination der Blöcke BL zu einer Kennung KEN "3478129056", die öffentlich zugänglich sein kann. Ein Schritt 303 stellt abhängig von der Permutation des ersten Schlüssels Kl und der Kennung KEN eine Permutationszahl PERM "24153" dar, die die Kennung KEN eindeutig in den ersten Schlüssel Kl überführt.
Die Permutationszahl PERM bildet die Kennung KEN auf den ersten Schlüssel ab, indem die erste Stelle der Permutationszahl PERM "2" die erste Stelle der auf Blöcken aus zwei Einheiten basierenden Kennung KEN "3 4" und diesen Block als den zweiten Block des ersten Schlüssels Kl ausweist. Die zweite Stelle der Kennung KEN "7 8" ist demzufolge die vierte Stelle des ersten Schlüssels Kl, usf. Nach vollständiger Zuordnung ergibt sich aus der Permutationszahl eindeutig der erste Schlüssel Kl zu "1234567890" .
Eine bezogen auf die Länge der Permutationszahl PERM deutlich verkürzte Darstellung des ersten Schlüssels Kl ergibt sich durch eine weitere Zuordnung. In einem Schritt 304 wird aus der Permutationszahl PERM anhand der Reihenfolge aller Permutationen, die die gleiche Anzahl Stellen aufweisen wie die Permutationszahl PERM ein Platz in dieser Reihenfolge anhand der Tabelle 1 ermittelt. Tabelle umfaßt einen Ausschnitt aus der Gesamtzahl an Möglichkeiten zur Anordnung der Blöcke BL. n=5 => n ! = 120 Möglichkeiten zur Anordnung der Blöcke
Sortiert man die möglichen Permutationen der Größe nach, so ergibt sich eine eindeutige Reihenfolge aller Permutationen (von 0 bis n!-l) (siehe Tabelle 1 als Ausschnitt der ersten 47 Möglichkeiten) .
TaJelle 1
Anhand der Tabelle LISTE wird in einem Schritt 305 der Eintrag bestimmt, der die Permutationszahl PERM in der Tabelle LISTE referenziert . Wie aus Tabelle 1 hervorgeht, ist der 37. Eintrag der Tabelle 1 (LISTE in Fig.3) gleich der Permutationszahl PERM. Als zweiter Schlüssel K2 wird demnach der 37. Eintrag, also die Zeichenfolge "037" abgespeichert. Der zweite Schlüssel K2 weist eine gegenüber dem ersten Schlüssel Kl deutlich reduzierte Länge auf. Der zweite Schlüssel K2 wird vorzugsweise in einem geschützten Speicherbereich abgelegt. Die Größe des zweiten Schlüssels K2 ist bestimmt durch die Anzahl der möglichen Permutationen. Ist n die Anzahl der Blöcke BL, in die der erste Schlüssel Kl unterteilt wird, so ergibt sich die Anzahl der Möglichkeiten zu "n!". Hier im Beispiel sind es 5 Blöcke, also 120
Möglichkeiten. Als zweiter Schlüssel K2 sind in dezimaler Notation drei Stellen ("000" bis "119"), in Binärschreibweise jedoch nur 7 Bit notwendig.
Umfaßt der erste Schlüssel Kl mehrere 100 Bit, so ist es einsichtig, daß, auch bei Zusammenfassung in Blöcke mehrerer Bits, immer noch eine große Anzahl von Blöcken vorhanden ist, und die Fakultät dieser Anzahl den Möglichkeiten entspricht, die der Angreifer ausprobieren müßte, um auf den ersten Schlüssel zu kommen. Eine Wahrscheinlichkeit für solch ein Ereignis ist gering.
Tabelle 1 dient vorwiegend zur Veranschaulichung der prinzipiellen Vorgehensweise. In der Praxis ist zumeist die Anzahl der Blöcke n groß, so daß die beschriebene, durch Tabelle 1 angedeutete, Zuordnung vorzugsweise nach einem bestimmten Schema erfolgt. Ein derartiges Schema soll nachfolgend erläutert werden.
ZUORDNUNG DER PERMUTATION AUF DIE KENNUNG:
Es gelten folgende Abkürzungen:
n Anzahl der Blöcke, PERM Permutation,
L Liste mit noch nicht ausgewerteten Blöcken des geheimen Schlüssels, Initialisierung mit
L=(l,2,3, ... ,n) , k:=0
Die Vorschrift für eine Zuordnung der Permutation auf die Kennung lautet wie folgt : FOR s= l TO n- 1 DO
1. Lese s-te Zahl der Permutation
2. T = Position der gelesenen Zahl der Liste L 3. k = k+ (T-l) * (n-s) !
4. Streiche aus der Liste L die T-te Position, nachfolgende Positionen rücken um eine Stelle vor
5. s = n-1 ? JA? => Programmende
Ergebnis : k = Kennung
Nachfolgend wird anhand eines Beispiels der Zusammenhang verdeutlicht :
n = 5
PERM = 2,4,1,5,3
L= (1,2,3,4,5) k=0
1. Schritt : s = 1, n-s = 4, (n-s)! = 24, k = 0, L = (1,2,3,4,5]
1. s-te Zahl der Permutation: 2
2. T = 2 3. k = 0 + (2-1) * 24 = 24
4. L = (1,3,4,5)
2. Schritt: s = 2, n-s = 3, (n-s)! = 6, k = 24, L = (1,3,4,5) 1. s-te Zahl der Permutation: 4
2. T = 3
3. k = 24 + (3-1) * 6 = 36
4. L = (1,3,5)
3. Schritt: s = 3, n-s = 2, (n-s)! = 2, k = 36, L = (1,3,5) 1. s-te Zahl der Permutation: 1 2. T = 1
3. k = 36 + (1-1) * 2 = 36
4. L = (3,5)
4. Schritt: s = 4, n-s = 1, (n-s)! = 1, k = 36, L = (3,5)
1. s-te Zahl der Permutation: 5
2. T = 2
3. k = 36 + (2-1) * 1 = 37 4. L = (3)
5. s = n-1 = 4? => JA! => Programmende
Ergebnis: Kennung = k = 37.
ZUORDNUNG DER KENNUNG ZU DER PERMUTATION:
Es gelten folgende Abkürzungen:
n Anzahl der Blöcke, k Kennung
L Liste mit noch nicht identifizierten Positionen des geheimen Schlüssels, Initialisierung mit L= (1, 2 , 3 , ... , n) .
Die Vorschrift für eine Zuordnung der Kennung auf die Permutation lautet wie folgt:
FOR s=l TO n-1 DO 1. Dividiere k/(n-s) !
2. E = ganzzahliges Ergebnis der Division in 1.
3. R = Rest der Division in 1.
4. der s-te Block des permutierten Schlüssels ist der sich an (E+l) -ter Position der Liste L befindende Block des geheimen Schlüssels 5. der (E+l) -te Eintrag der Liste L wird gestrichen, nachfolgende Einträge rücken um eine Position vor
6. k nimmt den Wert R an
7. s = n-1 ?
JA? => dann ist der n-te Block des permutierten Schlüssels derjenige Block des geheimen Schlüssels, der noch in der Liste L übriggeblieben ist => Programmende.
Nachfolgend wird anhand eines Beispiels der Zusammenhang verdeutlicht (gemäß obigem Beispiel zu Tabelle 1: Kennung 37 => Permutation 24153) :
n = 5 k = 37
1. Schritt : s = 1, k = 37, (n-s)! = (5-1)! = 24, L = (1,2,3,4,5) 1. 37/24 = 1, Rest 13
2. E = 1
3. R = 13
4. der 1. Block des permutierten Schlüssels ist der sich an 2. Position der Liste L = (1,2,3,4,5) befindende Block des geheimen Schlüssels
5. der 2. Eintrag der Liste L wird gestrichen, nachfolgende Einträge rücken um eine Position vor => L = (1,3,4,5) 6. k = 13
2.Schritt : s = 2, k = 13, (n-s)! = 6, L = (1,3,4,5) 1. 13/6 = 2, Rest 1 2. E = 2
3. R = 1 4. der 2. Block des permutierten Schlüssels ist der sich an 3. Position der Liste L = (1,3, 4., 5) befindende Block des geheimen Schlüssels 5. L = (1,3,5)
6. k = 1
3.Schritt: s = 3, k = 1, (n-s)! = 2, L = (1,3,5) 1. 1/2 = 0, Rest 1
2. E = 0
3. R = 1
4. der 3. Block des permutierten Schlüssels ist der sich an 1. Position der Liste L = (1,3,5) befindende Block des geheimen Schlüssels
5. L = (3,5)
6. k = 1
4. Schritt: s = 4, k = 1, (n-s) ! = 1, L = (3,5)
1. 1/1 = 1, Rest 0
2. E = 1
3. R = 0 4. 4. Block des permutierten Schlüssels ist der sich an 2. Position der
Liste L = (3,5.) befindende Block des geheimen
Schlüssels 5. L = (3) 6. k = 1
7. s = n-1 ? => JA! => Dann ist der 5. Block des permutierten Schlüssels derjenige Block des geheimen Schlüssels, der noch in der
Liste L = (3) übrig ist => Programmende.
Ergebnis: die Permutation lautet: 2,4,1,5,3 Somit ist aus Fig.3 ersichtlich, daß anhand des beschriebenen Schemas sowohl die Kennung K2 aus der Permutation PERM und umgekehrt die Permutation PERM aus der Kennung K2 bestimmbar ist. Der Block LISTE gewährleistet eine Zuordnung des Platzes der Permutation PERM innerhalb der Menge aller Permutationen der gleichen Länge, wobei die Permutationen der Größe nach sortiert sind.
In Fig.4 ist eine Anordnung zur Verschlüsselung und Entschlüsselung dargestellt.
Ein portables Medium 401, vorzugsweise eine Chipkarte, umfaßt einen (herkömmlichen) Speicherbereich MEM 403 und einen geschützten Speicherbereich SEC 402. Anhand einer
Schnittstelle IFC 404 werden über einen Kanal 405 Daten zwischen dem Medium 401 und einem Rechnernetz 406 ausgetauscht. Das Rechnernetz 406 umfaßt mehrere Rechner, die miteinander verbunden sind und untereinander kommunizieren. Daten für den Betrieb des portablen Mediums 401 sind vorzugsweise in dem Rechnernetz RN 406 verteilt verfügbar.
Der geschützte Speicherbereich 402 ist nicht lesbar ausgeführt. Anhand einer Recheneinheit, die auf dem portablen Medium 401 oder im Rechnernetz 406 untergebracht ist, werden die Daten des geschützten Speicherbereichs 402 genutzt. So kann eine Vergleichsoperation als Ergebnis angeben, ob ein Vergleich einer Eingabe mit einem Schlüssel im geschützten Speicherbereich 402 erfolgreich war oder nicht.
In Fig.5 ist eine Recheneinheit 501 dargestellt. Die Recheneinheit 501 umfaßt einen Prozessor CPU 502, einen Speicher 503 und eine Input/Output-Schnittstelle 504, die über ein aus der Recheneinheit 501 herausgeführtes Interface 505 auf unterschiedliche Art und Weise genutzt wird: Über eine Grafikschnittstelle wird eine Ausgabe auf einem Monitor 507 sichtbar und/oder auf einem Drucker 508 ausgegeben. Eine Eingabe erfolgt über eine Maus 509 oder eine Tastatur 510. Auch verfügt die Recheneinheit 501 über einen Bus 506, der die Verbindung von Speicher 503, Prozessor 502 und Input/Output-Schnittstelle 504 sicherstellt. Weiterhin ist es möglich, an den Bus 506 zusätzliche Komponenten anzuschließen: zusätzlicher Speicher, Festplatte, etc.

Claims

Patentansprüche
1. Verfahren zur Reduzierung von Speicherplatzbedarf für einen elektronischen ersten Schlüssel mit einer vorgegebenen Länge auf einem Rechner, a) bei dem der erste Schlüssel eine der vorgegebenen Länge entsprechende Anzahl von Einheiten enthält, b) bei dem mehrere Einheiten jeweils zu einem Block zusammengefaßt werden, c) bei dem der erste Schlüssel durch mehrere Blöcke dargestellt wird, d) bei dem aus dem ersten Schlüssel eine öffentlich zugängliche Kennung erstellt wird, indem eine
Permutation für die Blöcke ermittelt wird und ein Index für diese Permutation als ein elektronischer zweiter Schlüssel abgespeichert wird.
2. Verfahren nach Anspruch 1, bei dem die Blöcke jeweils eine gleiche Anzahl von Einheiten enthalten.
3. Verfahren nach Anspruch 1 oder 2 , bei dem eine der folgenden Einheiten verwendet wird: a) Nummer, b) alphanumerisches Zeichen, c) Byte, d) Bit.
4. Verfahren nach einem der vorhergehenden Ansprüche, bei dem der zweite Schlüssel in einem geschützten
Speicherbereich abgespeichert wird.
5. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die Permutation der Blöcke folgende Schritte umfaßt: a) es wird zufällig eine Permutation aus allen möglichen Permutationen bestimmt, wobei die Permutationen nach einem bestimmten Schema erstellt werden und somit eine Reihenfolge der Permutationen reproduzierbar ist; b) der Index stellt einen Platz der Permutation innerhalb der Reihenfolge der Permutationen dar.
6. Verfahren zur Bestimmung eines dritten Schlüssels anhand des zweiten Schlüssels, der unter Anwendung des Verfahrens nach einem der Ansprüche 1 bis 5 erstellt wurde , a) bei dem die öffentliche Kennung in Blöcke unterteilt wird, wobei jeder Block mehrere Einheiten der Kennung umfaßt , b) bei dem aus der Kennung und dem zweiten Schlüssel der dritte Schlüssel ermittelt wird, indem alle möglichen Permutationen der Blöcke erstellt werden und anhand des zweiten Schlüssels diejenige Permutation ermittelt wird, die dem dritten Schlüssel entspricht.
7. Anordnung zur Verschlüsselung und zur Entschlüsselung, a) bei der ein Medium einen geschützten Speicherbereich aufweist, b) mit einer Recheneinheit, die derart eingerichtet ist, daß ein erster Schlüssel verkürzt wird, indem
(1) der erste Schlüssel eine der vorgegebenen Länge entsprechende Anzahl von Einheiten enthält,
(2) mehrere Einheiten jeweils zu einem Block zusammengefaßt werden,
(3) der erste Schlüssel durch mehrere Blöcke dargestellt wird, (4) aus dem ersten Schlüssel eine öffentlich zugängliche Kennung erstellt wird, indem eine Permutation für die Blöcke ermittelt wird und ein Index für diese Permutation als ein elektronischer zweiter Schlüssel abgespeichert wird.
Anordnung nach Anspruch 7 , bei der die Recheneinheit derart eingerichtet ist, daß a) zufällig eine Permutation aus allen möglichen Permutationen bestimmt wird, wobei die Permutationen nach einem bestimmten Schema erstellt werden und somit eine Reihenfolge der Permutationen reproduzierbar ist; b) der durch den Index ein Platz der Permutation innerhalb der Reihenfolge der Permutationen dargestellt wird.
9. Anordnung nach Anspruch 7 oder 8 , bei der die Recheneinheit derart eingerichtet ist, daß ein dritter Schlüssel anhand des zweiten Schlüssels, der unter Anwendung des Verfahrens nach einem der Ansprüche 1 bis 5 erstellt wurde, bestimmt wird, indem folgende Schritte durchgeführt werden: a) die öffentliche Kennung wird in Blöcke unterteilt, wobei jeder Block mehrere Einheiten der Kennung umfaßt, b) aus der Kennung und dem zweiten Schlüssel wird der dritte Schlüssel ermittelt, indem alle möglichen Permutationen der Blöcke erstellt werden und anhand des zweiten Schlüssels diejenige Permutation ermittelt wird, die dem dritten Schlüssel entspricht.
10. Anordnung nach einem der Ansprüche 7 bis 9, bei der die Recheneinheit auf dem Medium vorgesehen ist.
11. Anordnung nach einem der Ansprüche 7 bis 9, bei der die Recheneinheit ein Rechner in einem Netzwerk aus mindestens einem Rechner und dem Medium ist .
12. Anordnung nach einem der Ansprüche 7 bis 11, bei der das Medium eine Chipkarte ist.
EP98966766A 1997-12-01 1998-11-25 Verfahren zur reduzierung von speicherplatzbedarf für einen elektronischen ersten schlüssel und anordnung zur ver- und entschlüsselung Withdrawn EP1034527A2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
DE19753274 1997-12-01
DE19753274 1997-12-01
DE19801776 1998-01-19
DE19801776 1998-01-19
PCT/DE1998/003470 WO1999028887A2 (de) 1997-12-01 1998-11-25 Verfahren zur reduzierung von speicherplatzbedarf für einen elektronischen ersten schlüssel und anordnung zur ver- und entschlüsselung

Publications (1)

Publication Number Publication Date
EP1034527A2 true EP1034527A2 (de) 2000-09-13

Family

ID=26042074

Family Applications (1)

Application Number Title Priority Date Filing Date
EP98966766A Withdrawn EP1034527A2 (de) 1997-12-01 1998-11-25 Verfahren zur reduzierung von speicherplatzbedarf für einen elektronischen ersten schlüssel und anordnung zur ver- und entschlüsselung

Country Status (4)

Country Link
EP (1) EP1034527A2 (de)
JP (1) JP2001525624A (de)
CA (1) CA2312358A1 (de)
WO (1) WO1999028887A2 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10158393A1 (de) 2001-11-28 2003-06-12 Infineon Technologies Ag Speicher für die Zentraleinheit einer Rechenanlage, Rechenanlage und Verfahren zum Synchronisieren eines Speichers mit dem Hauptspeicher einer Rechenanlage

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2596177B1 (fr) * 1986-03-19 1992-01-17 Infoscript Procede et dispositif de sauvegarde qualitative de donnees numerisees
US5003596A (en) * 1989-08-17 1991-03-26 Cryptech, Inc. Method of cryptographically transforming electronic digital data from one form to another
JP3053527B2 (ja) * 1993-07-30 2000-06-19 インターナショナル・ビジネス・マシーンズ・コーポレイション パスワードを有効化する方法及び装置、パスワードを生成し且つ予備的に有効化する方法及び装置、認証コードを使用して資源のアクセスを制御する方法及び装置
CN1155192C (zh) * 1995-07-27 2004-06-23 通用仪器公司 为加密处理信息提供密码密钥的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO9928887A3 *

Also Published As

Publication number Publication date
WO1999028887A3 (de) 1999-07-29
CA2312358A1 (en) 1999-06-10
WO1999028887A2 (de) 1999-06-10
JP2001525624A (ja) 2001-12-11

Similar Documents

Publication Publication Date Title
DE69205425T2 (de) Gesichertes verfahren zum laden von mehrfachen anwendungen in einer mikroprozessor-speicherkarte.
EP1246043B1 (de) Verfahren zur Übertragung von Daten über einen Datenbus
DE69430339T2 (de) Verfahren zur Dateiunterschrift und Einrichtung für seine Durchführung
DE69502381T2 (de) Verfahren und vorrichtung zum steuern des zugriffs auf eine datenbank
DE69320900T2 (de) IC-Karte mit hierarchischer Dateienstruktur
DE69531082T2 (de) Verfahren und Vorrichtung mit einem Verschlüsselungskopfteil, die es ermöglicht, Software zu erproben
DE68915186T2 (de) Tragbarer elektronischer Apparat.
DE19839847A1 (de) Speichern von Datenobjekten im Speicher einer Chipkarte
EP1618519A2 (de) Verfahren zur verarbeitung von daten
EP1065598A1 (de) Verfahren zum Zugriff auf einen Speicher und Speichereinrichtung hierfür
DE19621768B4 (de) Telefon mit Aufnahmevorrichtung für eine Telefonspeicherkarte und Verfahren zum Übertragen von Daten einer Telefonspeicherkarte
DE3809795C2 (de)
DE69621168T2 (de) Verfahren und System zur Software-Codierung und -Decodierung
DE69729685T2 (de) Verfahren zur Verdeckung eines Geheimcodes in einer Rechnerbeglaubigungsvorrichtung
DE3586447T2 (de) Kompression von binaerzahlen fuer ihre speicherung.
EP3889806A1 (de) Bitsequenzbasiertes datenklassifikationssystem
EP1163776B1 (de) Anonymisierungsverfahren
DE60114299T2 (de) Verfahren und Vorrichtung zum Übersetzen von IP Telekommunikationsnetzwerkadressen mit einem gesteuerten undichten Speicher
DE19962902A1 (de) Vorrichtung zum Passwort-geschützten Handhaben eines elektronischen Dokuments
EP1034527A2 (de) Verfahren zur reduzierung von speicherplatzbedarf für einen elektronischen ersten schlüssel und anordnung zur ver- und entschlüsselung
DE69904696T2 (de) System und verfahren zur sicheren verwaltung von rechneranwendungen
DE10323755B3 (de) Verfahren zum Bereitstellen und Abrufen von Dokumenten über ein Computer-Netzwerk
DE60315435T2 (de) Verfahren zur ermöglichung einer kommunikation zwischen mindestens zwei kommunikationsgeräten
DE3615255C2 (de)
DE60126583T2 (de) Verfahren und Vorrichtung zur automatischen Chiffrierung/Dechiffrierung in einem sicheren Kommunikationssystem

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20000417

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): DE FR GB SE

17Q First examination report despatched

Effective date: 20020919

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20030731