DE10351022B4 - Verfahren zum Verschlüsseln einer von einer Sendeeinrichtung an eine Empfangseinrichtung abzugebenden Menge elektronischer Daten - Google Patents

Verfahren zum Verschlüsseln einer von einer Sendeeinrichtung an eine Empfangseinrichtung abzugebenden Menge elektronischer Daten Download PDF

Info

Publication number
DE10351022B4
DE10351022B4 DE2003151022 DE10351022A DE10351022B4 DE 10351022 B4 DE10351022 B4 DE 10351022B4 DE 2003151022 DE2003151022 DE 2003151022 DE 10351022 A DE10351022 A DE 10351022A DE 10351022 B4 DE10351022 B4 DE 10351022B4
Authority
DE
Germany
Prior art keywords
elements
electronic
code
data
matrix
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
DE2003151022
Other languages
English (en)
Other versions
DE10351022B8 (de
DE10351022A1 (de
Inventor
Louis Dr. Rocha
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.)
ROCHA, LUIS, DR., 12159 BERLIN, DE
Original Assignee
EUROPA UNI VIADRINA FRANKFURT
Europa-Universitat Viadrina Frankfurt(oder)
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 EUROPA UNI VIADRINA FRANKFURT, Europa-Universitat Viadrina Frankfurt(oder) filed Critical EUROPA UNI VIADRINA FRANKFURT
Priority to DE2003151022 priority Critical patent/DE10351022B8/de
Priority to DE112004002623T priority patent/DE112004002623D2/de
Priority to PCT/DE2004/001865 priority patent/WO2005046117A1/de
Publication of DE10351022A1 publication Critical patent/DE10351022A1/de
Application granted granted Critical
Publication of DE10351022B4 publication Critical patent/DE10351022B4/de
Publication of DE10351022B8 publication Critical patent/DE10351022B8/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • 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/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Verfahren zum Verschlüsseln einer von einer Sendeeinrichtung an eine Empfangseinrichtung abzugebenden Menge V elektronischer Daten (V = {v1, ..., vq}, q ≥ 1), die mittels Elementen einer elektronischen Alphabet-Datenmenge W (W = {w1, ..., wn}, n ≥ 1) gebildet ist, mit Hilfe eines von einem Rechner umfaßten Verarbeitungsmoduls und unter Verwendung einer Menge D (D = {z1, ..., zμ}, 2 ≤ μ < n – 32) mit Codierelementen zj(j = 1, ..., μ), wobei n = μ + kc(μ – 1) mit kc∈N und wobei das Verfahren die folgenden Schritte umfaßt:
– Einlesen der elektronischen Alphabet-Datenmenge W durch das Verarbeitungsmodul aus einem Speichermodul;
– unter Berücksichtigung von Schlüsselelementen eines elektronischen Schlüssels, die Koordinaten xi eines Vektors x0 bilden, mit
Figure 00000002
wobei 0 < xi < 1 i = 1, 2, ..., kAusführen einer Funktion φ: Rk+1 → R+ der Elemente wi(i = 1, ..., n) der elektronischen Alphabet-Datenmenge W...

Description

  • Die Erfindung liegt auf dem Gebiet der Verschlüsselung elektronischer Daten, insbesondere mit Hilfe von Codiertechniken, die Code variabler Länge nutzen (VLC – „Variable Lenght Code").
  • Elemente elektronischer Datenmengen werden verschlüsselt, um einen unberechtigten Zugriff auf die Daten zu verhindern. Aus dem Stand der Technik sind unterschiedliche kryptographische Verfahren bekannt, die in Verbindung mit elektronischen Daten üblicherweise mit Hilfe von sogenannten Kryptochips umgesetzt werden. Die Kryptochips sind in der Lage, die zum Verschlüsseln/Entschlüsseln der elektronischen Daten notwendigen Operationen auszuführen. Zu diesem Zweck werden sie dem gewünschten Verfahren entsprechend mit zugehöriger Anwendungssoftware ausgestattet. Darüber hinaus können mit Hilfe unterschiedlicher Hardware-Gestaltungen verschiedene Kryptochip-Module hergestellt werden. Beispielsweise ist aus dem Dokument DE 199 63 042 A1 eine Vorrichtung zum Verschlüsseln bzw. Entschlüsseln von elektronischen Daten bekannt.
  • Eine bekannte Form der Codiertechniken, die zum Verschlüsseln elektronischen Datenmengen genutzt werden, ist die Codiertechnik der variablen Codelänge, nämlich die VLC-Codiertechnik. VL-Codes zeichnen sich dadurch aus, daß nicht alle Codewörter eines Codes dieselbe Länge haben, sondern daß die Codewörter eines Codes unterschiedliche Länge haben und daß der Code jedes zu codierenden Elementes eindeutig ist und niemals von links nach rechts in dem Code eines anderen zu codierenden Elementes größerer Länge enthalten ist. Ein Codewort wird aus einer Menge von Codierelementen gebildet, so daß mit Hilfe der Codierelemente ein zu einem jeweiligen Element eines zu codierenden Alphabets gehöriges Codewort geschaffen ist. Die Menge aller Codewörter für sämtliche Elemente des zu codierenden Alphabets bildet den zugehörigen Code.
  • Das Verschlüsseln/Entschlüsseln elektronischer Daten ist bei verschiedensten Anwendungen von Bedeutung, in denen elektronische Daten beispielsweise über eine Kommunikationsleitung zwischen einem Sendemodul und einem Empfangsmodul zu übertragen sind. Die Übertragung der elektronischen Daten kann hierbei beispielsweise auch das Ablegen oder Ausle sen elektronischer Daten in bzw. aus einem Speicher betreffen. Aber auch in Verbindung mit beliebigen Anwendungen der Telekommunikation, beispielsweise bei Mobilfunktelefonen oder dergleichen, besteht häufig der Bedarf, elektronische Daten vor dem unberechtigten Zugriff zu schützen. So ist aus der Druckschrift DE 199 58 599 A1 ein Verfahren zum Verschlüsseln einer numerischen Information und ein Sendemodul bekannt.
  • In Verbindung mit Verschlüsselungsverfahren ist es bekannt, eindimensionale chaotische Funktionen zu verwenden. Dieses wird beispielsweise in Habutsu, T. et al.: „A Secret Key Cryptosystem by Iterating a Chaotic Map", LNCS, Vol. 547, Springer-Verlag, 1991, S. 127-140, beschrieben.
  • Ein Verfahren und eine Vorrichtung zur kryptografischen Behandlung von elektronischen Daten ist weiterhin aus dem Dokument US 5,539,872 bekannt. Das bekannte Verfahren verwendet eine einzige festgelegte Funktion. In gleicher Weise wird bei einer kryptografischen Prozedur verfahren, die in Yeh, Y.-S. et al.: „A new crytosystem using matrix transformation", 25th annual 1991 IEEE Intemational Carnahan Conference on Security Technology, Proceedings, S. 131-138, beschrieben ist.
  • Darüber hinaus ist es bekannt, im Zusammenhang mit der Kryptografie Matrixtransformationen zu nutzen. Dieses ist beispielsweise in dem Dokument Yeh, Y.-S. et al.: „A new crytosystem using matrix transformation", 25th annual 1991 IEEE International Carnahan Conference on Security Technology, Proceedings, S. 131-138, beschrieben.
  • Aus dem Stand der Technik sind Codierverfahren mit variabler Wortlänge bekannt, beispielsweise der Huffman-Code, bei dem es sich um ein VLC-Verfahren handelt. Eine seiner wesentlichen Eigenschaften lautet: Elemente eines zu codierenden Alphabets, die sehr oft vorkommen, besitzen eine kleinere Codelänge, als Elemente des zu codierenden Alphabets, die nicht sehr oft vorkommen. Außerdem haben solche Verfahren eine außerordentliche Eigenschaft: Der Code eines codierten Elementes ist niemals enthalten am Anfang eines Codes eines anderen codierten Elementes größerer Länge. Deshalb heißt ein solcher Code: Präfix-Code. Die Folge ist, daß ein solcher Code eine eindeutige Decodierung gestattet, ohne die zu decodierende Elementemenge in Blöcke fester Länge aufteilen zu müssen. Die Präfixe-Eigenschaft bedeutet des weiteren, daß der Code jedes Elementes des zu codierenden Alphabets eindeutig ist und niemals von links nach rechts im Code eines anderen Elementes des zu codierenden Alphabets größerer Länge enthalten ist. Dies ermöglicht eine eindeutige Decodierung und verhindert die Manipulation der verschlüsselten Nachricht.
  • Bekannte Verschlüsselungsverfahren, ob mit oder ohne Präfix-Eigenschaft, erfordern häufig einen sehr großen Rechenaufwand bei der Verschlüsselung der in elektronischer Form vorliegenden Daten, was einerseits zum Bedarf einer erheblichen Rechenkapazität führt, um das Verschlüsseln/Entschlüsseln in einem vertretbaren Zeitrahmen zu halten. Andernfalls kommt es zu längeren Rechenprozessen, die von Nutzern dann häufig nicht akzeptiert werden.
  • Aufgabe der Erfindung
  • Aufgabe der Erfindung ist es, ein verbessertes Verfahren zum Verschlüsseln einer elektronischen Datenmenge anzugeben, bei dem das Verschlüsseln/Entschlüsseln unter Erhaltung eines ausreichenden Sicherheitsstandards mit möglichst geringer Rechenleistung ausführbar ist, so daß es insbesondere für die Nutzung in üblichen Computereinrichtungen geeignet ist, beispielsweise Laptops oder Personalcomputern.
  • Diese Aufgabe wird erfindungsgemäß durch ein Verfahren nach dem unabhängigen Anspruch 1 gelöst.
  • Die Erfindung hat gegenüber dem Stand der Technik den Vorteil, daß ein auch anspruchsvollen Sicherheitsanforderungen genügendes Verfahren zur Verfügung gestellt wird, was andererseits mit Hilfe der in einem normalen Personalcomputer üblicherweise zur Verfügung stehenden Rechenleistung eine schnelle Verschlüsselung von elektronischen Daten gewährleistet. Trotz des hohen Sicherheitsgrades des Verfahrens wird der verschlüsselte Text in sehr kurzen Zeiten erzeugt. Auf diese Weise ist das Verfahren beispielsweise für eine Verwendung im Zusammenhang mit dem täglichen Austausch elektronischer Nachrichten („Email") geeignet. Das Verfahren kann mit Hilfe eines geringen programmtechnischen Aufwands als Anwendungssoftware implementiert werden, wobei es in Standard-Programme integriert werden kann.
  • Ein weiterer Vorteil des Verfahrens besteht darin, daß das erfindungsgemäße Verfahren ein Verschlüsselungsverfahren ist, bei dem eine Präfix-Eigenschaft erhalten bleibt, so daß eine eindeutige Verschlüsselung ermöglicht ist, die die Manipulation des verschlüsselten Textes verhindert.
  • Das Verfahren kann je nach gewünschtem Grad der Sicherheit bei einer zweckmäßigen Fortbildung der Erfindung optimiert werden, indem eine Anzahl der Schlüsselelemente des für die Verschlüsselung verwendeten Schlüssels abgefragt und eine Nutzereingabe zum Festlegen der Anzahl der Schlüsselelemente automatisch erfaßt wird. Auf diese Weise ist dem Nutzer des Verschlüsselungsverfahrens eine Möglichkeit an die Hand gegeben, den gewünschten Grad der Sicherheit frei zu wählen.
  • Zur weiteren Optimierung der Sicherheit des Verschlüsselns gegen den unberechtigten Zugriff auf die zu verschlüsselnden elektronischen Daten ist bei einer zweckmäßigen Ausführungsform der Erfindung dadurch erreicht, daß eine verschachtelte Verschlüsselung ausgeführt wird, indem die abzugebende Menge elektronischer Daten eine verschlüsselte Datenmenge ist. Dieses bedeutet, daß das Verschlüsselungsverfahren mehrfach ausgeführt wird, so daß bei der zweiten Anwendung die Ausgangsmenge elektronischer Daten bereits eine verschlüsselte Datenmenge ist.
  • Die Erfindung wird im folgenden anhand von Ausführungsbeispielen unter Bezugnahme auf eine Zeichnung näher erläutert. Hierbei zeigen:
  • 1 eine schematische Darstellung einer Vorrichtung zum Ausführen eines Verfahrens zum Verschlüsseln/Entschlüsseln einer elektronischen Datenmenge; und
  • 2A bis 2F Darstellungen einer Matrix im Verlauf eines Verschlüsselungsverfahrenns.
  • Im folgenden wird das Verfahren zum Verschlüsseln/Entschlüsseln bzw. Codieren/Decodieren einer Menge V elektronischer Daten (V = {v1, ..., vq}, q ≥ 1) beschrieben. Das Verfahren wird mit Hilfe einer Vorrichtung ausgeführt, die in 1 schematisch dargestellt ist. Die Menge V elektronischer Daten ist in einer Speichereinrichtung 1 gespeichert und wird zum Verschlüsseln/Entschlüsseln von einem Verarbeitungsmodul 2 aus der Speichereinrichtung 1 geladen. Bei dem Verarbeitungsmodul 2 kann es sich beispielsweise um einen üblichem Mikroprozessor handeln, der mit Hilfe geeigneter Software und/oder digitaler Hardwaretechnik ausgestattet ist, um das im folgenden beschriebene Verfahren zum Verschlüsseln/Entschlüsseln bzw. Codieren/Decodieren auszuführen. Das Verarbeitungsmodul 2 kann Teil eines Personalcomputers oder eines anderen Geräts sein, welches über Mittel zur Verarbeitung elektronischer Daten verfügt, beispielsweise ein Mobilfunktelefon oder dergleichen.
  • Verschlüsselte/entschlüsselte Daten können von dem Verarbeitungsmodul 2 dann abgegeben werden, beispielsweise über eine Ausgabeeinrichtung 3 an ein anderes Gerät 4 und/oder an die Speichereinrichtung 1. Die Abgabe an das andere Gerät 4 betrifft beispielsweise die Übermittlung einer verschlüsselten elektronischen Nachricht, die dann in dem anderen Gerät 4 automatisch entschlüsselt wird. Es kann ergänzend oder alternativ auch eine direkte Übertragung der verschlüsselten/entschlüsselten Daten zwischen dem Verarbeitungsmodul und einem anderen Datenverarbeitungsgerät 5 vorgesehen sein.
  • Die Daten V = {v1, ..., vq} sind mittels Elementen einer elektronischen Alphabet-Datenmenge W (W = {w1, ..., wn}, n ≥ 1) gebildet unter Verwendung einer Menge D (D = {z1, ..., zμ}, μ ≥ 2) mit Codierelementen zj (j = 1, ..., μ), wobei n = μ + kc (μ – 1) mit kc∈N. Wenn letzteres nicht der Fall ist, dann wird eine Zahl nf mit nf ≥ n gesucht, so daß die Gleichung tatsächlich mit einer natürlichen Zahl kc stattfindet, d. h. nf = μ + kc (μ – 1). Eine solche Zahl nf mit der zugehörigen Zahl kc kann immer ohne Schwierigkeiten gefunden werden.
  • Bei den Elementen der Alphabet-Datenmenge W kann es sich beispielsweise um die ASCII-Elemente handeln. Mit Hilfe der ASCII-Elemente kann eine Nachrichten verfaßt werden, die dann zu codieren ist. Als Codierelementen zj kommen dann beispielsweise die Zahlen 0 und 1 in Frage (Binärcode), die miteinander kombiniert werden, um für jedes ASCII-Element ein zugehöriges Codewort zu bilden. Die Aneinanderreihung der Codewörter für die in der zu codierenden Nachricht enthaltenen ASCII-Elemente bildet dann eine codierte Nachricht, welche elektronisch weiter verarbeitet werden kann, beispielsweise an einen Empfänger gesendet oder gespeichert werden kann.
  • Im folgenden wird die Bildung von Matrixelementen ap,m mit p = 1, ..., kc + 2 und m = 1, ..., nf einer Matrix A = (ap,m) beschrieben, wobei die Matrixelemente ap,m mittels eines oder mehreren Codierelementen zj gebildet werden, so daß Kandidaten-Codeelemente gebildet werden, die einer Präfixcode-Eigenschaft genügen. Es sei φ : Rk+1 → R+ eine beliebige, streng positive, beschränkte, reelle Funktion. Wenn ein Vektor x0 mit
    Figure 00060001
    wobei k ≥ 1 2 ≤ μ < n – 32 0 < xi < 1, i = 1, ..., k,vorgegeben ist, wird iteraktiv die Folge {xν, ν > k} gemäß xν+k+1 = φ(λ, xν+k, ..., xν+1), ν ≥ 0 erzeugt. Dies bedeutet
    Figure 00070001
    und somit wird jedem Symbol ν der ASCII-Tabelle k + ν, d. h. ν → k + ν, ν = 1, ..., 255
  • Eine solche Iteration ist k + 1 stufig, denn sie braucht k + 1 Anfangswerte, um beginnen zu können. Jede neue Zahl xν der Folge X = {xν, ν ≥ k} wird gewonnen, indem die Funktion φ immer mit von k + 1 Argumenten gefüttert wird. Die Folgen {xν, ν ≥ k} haben die folgenden Eigenschaften:
    • (i) Sie sind mit wenig Aufwand zu erzeugen.
    • (ii) Jeder Anfangsvektor x0 erzeugt eine bestimmte Folge von Zahlen {xν}, d. h. um die ganze Folge zu beherrschen genügt den Vektor x0 zu kennen.
    • (iii) Die Kenntnis von k + 1 Elementen der Folge erlaubt die nächsten Elemente zu erzeugen, gibt aber keine Auskunft über die vorherigen Elemente. Es handelt sich um eine Einweg-Funktion.
  • Da die Folge {xν, ν ≥ k} schnell divergieren kann, wird ein Parameter λ eingeführt, welcher zwei Aufgaben zu erfüllen hat:
    • (i) Es wird verhindert, daß die Folge {xν} schnell gegen einen Fixpunkt konvergiert. Ab einer bestimmten Grenze bis zu einer anderen, empirisch bestimmbaren Grenze, die von k abhängen, ein ergodisches Verhalten der Folge erzwungen.
    • (ii) Es ist der Anfangswert einer kleinen zufälligen Wahl von den Anfangselementen des Codealphabets, denn das Codealphabet besitzt ja μ Symbole, die beliebig gewählt werden können. Jeder Schlüssel erzeugt einen persönlichen Code, d. h. der Code wird mit bestimmten Symbolen erzeugt. Benutzt man als Schlüsselteil immer die gleichen Zahlen λ und μ sowie nur diese Zahlen, wobei die anderen Zahlen des Vektors x0 beliebig zwischen Null und Eins gewählt werden können, dann werden Codes mit den gleichen Code symbolen erzeugt. Selbstverständlich sind nur die Codesymbole gleich, nicht aber die Codewörter.
  • Es wird bevorzugt, die Zahl λ als einen Parameter so zu wählen, daß die Folge {xν} sich chaotisch verhält, d. h. daß sie nicht zu einem Fixpunkt konvergiert.
  • Danach wird den Zahlen {xν} jeweils ein bestimmte ASCII-Elelment, nämlich ein bestimmtes Zeichen des ASCII-Codes, zugeordnet. Die Zahlen werden der Größe nach sortiert und in der letzten Zeile der Matrix A gespeichert, d. h.
    Figure 00080001
    Für alle Elemente der Zeile von i = n + 1 bis nf wird
    Figure 00080002
    gesetzt. Es gilt:
    Figure 00080003
  • Nun ist die Markierung auszuführen. Die Matrix A sieht wie folgt aus:
    Figure 00080004
  • Danach werden die folgenden Schritte ausgeführt:
    • (a) Sei i = kc und nf = μ + i(μ – 1) n ~ = nf – (μ – 1)
    • (b) Die letzten μ Elemente der Zeile i + 2 werden addiert:
      Figure 00080005
      Man setzt:
      Figure 00080006
      Die Elemente dieser Zeile sind bis zu der Position n noch einmal zu sortieren.
    • (c) Für alle j = 1, ..., n ~ setze ai+1,j = ai+2,j d. h. alle Elemente der oberen Zeile, die sortiert worden sind, werden in die untere Zeile der Matrix A kopiert. Es gilt dann
      Figure 00090001
    • (d) Die neue Position der Zahl s wird in einem Vektor b(i) gespeichert.
    • (e) Es sei i = i – 1, und Rückkehr zu (a).
  • Es folgt das Wiederholen der Schritten (a) – (e) bis die Zeile 2 der Matrix A erreicht ist, d.h. bis i = 1 ist. Dann erhält man in dem Vektor b(i), i = 1, ..., kc, alle Positionen der Summe, und somit ist die Bildung der Matrix A abgeschlossen. Es ergibt sich, daß für i = 1, ..., kc die verlangte Bedingung 1 ≤ b(i) ≤ μ + (i – 1)(μ – 1)erfüllt ist.
  • Bei der Bildung der Matrix A gilt somit:
    Figure 00090002
  • Im folgenden ist die Matrix A nun zu markieren. Hierbei gilt: In jeder Zeile wird nur eine zulässige Zelle ausgewählt, und nur aus dieser Zelle dürfen „Kinder in die nächste Zeile schlüpfen". Mutter und Kind werden in den μ letzten zulässigen Zelle der übernächsten Zeile plaziert. Vermehrungsregel: Jede markierte Zelle der Matrix A hat μ Kinder und belegt die nächste Generation die μ letzten zulässigen Zellen, die restlichen Zellen springen ohne Veränderungen auch mit.
  • Zum Beispiel sei n = 7 und μ = 3 und D = {a, b, c}. Dann gilt 7 = 3 + 2·2, also ist kc = 2. Die Matrix A in der ersten und zweiten Generation sieht dann wie folgt aus:
    Figure 00100001
  • Die nächste Population ist dann:
    Figure 00100002
  • Nach der letzten Vermehrung wird erhalten:
    Figure 00100003
  • Somit liegt der Code zum Einsatz in der Zeile 4 zum Codieren vor. Ist die Markierung der Matrix A bekannt, kann der Code mit Präfix-Eigenschaft erzeugt werden. Es ergibt sich, daß die Anzahl von verschiedenen Markierungen für n ≥ 50 sehr groß ist. Im Fall der ASCII-Zeichen wird mit n = 255 codiert.
  • Die Verfahrensschritte des Verfahrens zum Codieren/Decodieren werden in den folgenden Zusammenfassungen noch einmal aufgezählt.
  • Verfahren zum Codieren
  • Die Länge der Schlüssel hängt von k ab und sei vorab festgelegt.
    • (1) Auswählen von μ, so daß 2 ≤ μ < n – 32 gilt.
    • (2) Wählen einer Iterationsfunktion φ : Rk+1 → R+.
    • (3) Bestimmen des Bereichs für den Parameter λ.
    • (4) Erzeugen von n Elementen der Folge xν+k+1 = φ (λ; xν+k, ... xν+1), ν ≥ 0 und λ passend.
    • (5) Sortieren der Zahlen {xν+k, 1 ≤ ν ≤ n} der Größe nach.
    • (6) Bestimmen von kc und der entsprechenden Zahl nf, so daß gilt nf= μ + kc(μ – 1).
    • (7) An den Stellen i = n + 1 bis nf setzen xi = 0.
    • (8) Bestimmen der Markierung der Matrix A. Bestimmen der Werte des Vektors b(i) mit 1 ≤ i ≤ kc, wobei 1 ≤ b(i) ≤ μ + (i – 1)(μ – 1) i = 1, ..., kc
    • (9) Erzeugen des Vektors Code(ν), mit ν = 1, ..., n, wobei sich in Code(ν) sich der Code de. Zeichens ν befindet, dem die Zahl xν+k der Iteration zugeordnet worden ist.
  • Verfahren zum Decodieren
  • Es wird davon ausgegangen, daß folgende Information zur Verfügung steht: Seien W = {w1, ..., wn} ein Alphabet, D = {z1, ..., zμ} das zugehörige Codealphabet mit Codierelementen und der Vektor
    Figure 00110001
    der Schlüssel. Es ist ein codierter Text zu decodieren, der aus Elementen von D zusammenge setzt ist. Die Funktion φ: Rk+1 → R+ sowie das Parameter λ sind bekannt, d.h. genau so wie bei der Verschlüsselung. Das Decodieren wird dann in dem Ausführungsbeispiel mit den folgenden Schritten ausgeführt:
    • (1) Erzeugen von n Elementen der Folge xν+k+1 = φ (λ, xν+k, ... xν+1), ν ≥ 0 und λ passend.
    • (2) Sortieren der Zahlen {xν+k, 1 ≤ ν ≤ n} der Größe nach.
    • (3) Bestimmen von kc und der entsprechenden Zahl nf, so daß gilt: nf = μ + kc (μ – 1).
    • (4) An den Stellen i = n + 1 bis nf. Setzen xi = 0.
    • (5) Bestimmen der Markierung der Matrix A. Bestimmen der Werte des Vektors b(i) mit 1 ≤ i ≤ kc, wobei 1 ≤ (i) ≤ μ +(i – 1)(μ – 1), i = 1, ..., kc
    • (6) Erzeugen des Vektors Code(ν) mit ν = 1, ..., n, wobei sich in Code(ν) der Code des Zeichens ν befindet, dem die Zahl xν+k der Iteration zugeordnet worden ist.
  • Der Vektor Code(ν) wird als eine Art Katalog benutzt. Es wird begonnen, den codierten Text von Anfang an Zeichen für Zeichen zu lesen, und jedes Mal wird verglichen, ob schon die gelesenen Zeichen zusammen ein codiertes Wort des Vektors Code(ν) darstellen. Ist das der Fall, wird decodiert. Danach beginnt man wieder Zeichen für Zeichen weiter zu lesen und zu vergleichen. Dies ist nur möglich dank der Präfix-Eigenschaft des erzeugten Codes. Das ganze Verfahren kann sehr schnell ausgeführt werden. Es sind keine Vielzahl von Operationen notwendig, wie dies bei asymmetrischen Verfahren der Fall ist.
  • Im folgenden wird unter Bezugnahme auf 2A bis 2F das beschriebene Verfahren weiter erläutert. Eine zu codierende Alphabet-Menge W umfasse die Buchstabenmenge {R, O, M, A}. Die Menge D umfaßt als frei wählbare Codierelemente zwei Symbole, d. h. D = {0, 1}.
  • Es werden die Elemente der Matrix A = (ap,m) betrachtet, wobei die Zellen bzw. Elemente der Matrix A, die mit dem Zeichen „♢" gekennzeichnet sind, ohne Bedeutung und unberücksichtigt bleiben, d. h. sie werden weder belegt noch gebraucht. Die mit dem Zeichen „•" gekennzeichneten Zellen der Matrix A zeigen die Markierungen der Matrix A an.
  • In der zweiten Zeile ist die Zelle a21 und in der dritten Zeile die Zelle a31 markiert. Nur die Elemente einer markierten Zelle können sich vermehren. Bei dem Belegen der Matrix A sollen in dem Ausführungsbeispiel während des zeilenweisen Belegens die folgenden Vermehrungsregeln gelten:
    • – Alle Symbole, die in einer markierten Zelle der Matrix A landen, sind als eine Mutter zu betrachten.
    • – Jede Mutter hat so viele Kinder wie Symbole in der zweiten Zeile der Matrix existieren.
    • – Mutter plus Kind kommen jeweils in die nächste Generation, d.h. die aufwärts folgende nächste Zeile und belegen darüber die zwei letzten Zellen, jeweils so: Mutter plus erstes Kind und in der nächsten Zelle Mutter plus zweites Kind.
    • – Die Symbole in den Zellen ohne Markierung gehen ohne Änderungen weiter zu der nächsten Generation, d.h. die nächste Zeile.
  • Bei dem Ausführungsbeispiel ergibt sich die Ausgangsposition (Zeile 2) gemäß 2A. Die erste Mutter ist in der Zelle a21, sie bekommt zwei Kinder und geht in die nächste Generation als 00 und 01. Die zweite Generation (Zeile 3) ergibt sich dann gemäß 2B. In dieser Generation ist die zweite Mutter in der Zelle a31, sie bekommt zwei Kinder und geht in die nächste Generation (Zeile 4) als 10 und 11, so daß sich eine Matrixbelegung gemäß 2C ergibt. Die gesuchten Codewörter für die zu codierenden Buchstaben {R, O, M, A} ergeben sich dann aus Zeile 4.
  • Soll dann zum Beispiel das Wort AMOR codiert werden, ergibt sich als Code: 11100100.
  • Wäre die Markierung der Matrix anders gewählt wurden, wie es beispielhaft in 2D gezeigt ist, dann ergibt sich die Belegung der Matrix A bei dem Ausführungsbeispiel unter Berücksichtigung der obigen Regeln gemäß den 2E und 2F. Soll der Text „AMOR MORA ROMA" codiert werden, ergibt sich in diesem Fall:
    AMOR = 001000011
    MORA = 000011001
    ROMA = 101000001
  • Das führt dann zu dem codierten Text: 001000011000011001101000001. Die Decodierung erfolgt von links nach rechts und aufgrund der Präfix-Eigenschaft des Codes problemlos.
  • Datenkomprimierung
  • Ein weiterer Vorteil des Verfahrens besteht darin, daß eine verschlüsselte Datenkomprimierung ausgeführt werden kann, wenn:
    • 1. Die Menge D ist eine beliebige Untermenge der Menge {1, 2, ..., 9} und umfaßt mindestens zwei Elemente.
    • 2. Es liegt eine verschlüsselte Datei vor, die mit D wie Punkt 1. und mit dem oben vorgestellten Verfahren erzeugt worden ist.
  • Aufgrund der Präfix-Eigenschaft ist so eine Kodierung eindeutig und kann mit Symbolen einer erweiterten ASCII-Tabelle dargestellt werden. In einer erweiterten ASCII-Tabelle ist jedes Symbol mit zwei Byte, d.h. 2^16 Bits dargestellt, was bedeutet, daß die Tabelle 65536 Symbole enthält.
  • Bei der Datenkomprimierung sind die folgenden Schritte auszuführen:
    • 1. Bestimmen von z = max{z1, ..., zμ}, 2 ≤ μ ≤ 9, zj ∈ {1, ..., 9}.
    • 2. Basis des numerischen Darstellung ist dann b = z* + 1.
    • 3. Wählen von G* = 215 – 1
    • 4. Von links nach rechts ließt man die Symbole zj der verschlüsselten Nachricht: a. Setzen von j = 0 und s = zj·bj. b. Wenn s < G*, dann lesen des nächsten Symbols und Setzen von: 1. j = j + 1 2. s = s + zjbj c. Wenn s > G*, Speichern des Symbols, das in der erweiterten ASCII-Tabelle liegt.
  • Weil von einer kleinerer ASCII-Tabelle zu einer größeren gewechselt wird, entsteht am Ende eine verschlüsselte Datei, die kleiner als die ursprüngliche Datei ist.
  • Datendekomprimierung
  • Die Dekodierung erfolgt analog:
    • 1. Es liegt eine verschlüsselte Nachricht vor, die mit der erweiterten ASCII-Tabelle dargestellt worden ist und mit dem oben vorgestellten Verfahren verschlüsselt wurde.
    • 2. Der Schlüssel des Verfahrens ist bekannt. Somit liegt Information über die Menge D vor, die als Codealphabet benutzt wurde.
    • Die dekomprimierte Datei wird dann wie folgt gewonnen:
    • 3. Lesen jedes Symbols und Bestimmen seiner numerischen Darstellung in der erweiterten ASCII-Tabelle.
    • 4. Jede Zahl, die in 3. gewonnen wird, wird in der numerischen Darstellung nach Basis b* gemäß 2. dargestellt.
    • 5. Nach dem Schritt 4. liegt dann eine verschlüsselte Datei vor.
    • 6. Benutzen des oben dargestellten Verfahrens.
  • Das hier vorgestellte Verfahren wurde in der Programmiersprache Visual Basic mit der EXCEL-Oberfläche implementiert. Wegen der Einfachheit des Verfahrens kann es selbstverständlich in einer beliebigen Programmiersprache implementiert werden.
  • Die in der vorstehenden Beschreibung, den Ansprüchen und der Zeichnung offenbarten Merkmale der Erfindung können sowohl einzeln als auch in beliebiger Kombination für die Verwirklichung der Erfindung in ihren verschiedenen Ausführungsformen von Bedeutung sein.

Claims (7)

  1. Verfahren zum Verschlüsseln einer von einer Sendeeinrichtung an eine Empfangseinrichtung abzugebenden Menge V elektronischer Daten (V = {v1, ..., vq}, q ≥ 1), die mittels Elementen einer elektronischen Alphabet-Datenmenge W (W = {w1, ..., wn}, n ≥ 1) gebildet ist, mit Hilfe eines von einem Rechner umfaßten Verarbeitungsmoduls und unter Verwendung einer Menge D (D = {z1, ..., zμ}, 2 ≤ μ < n – 32) mit Codierelementen zj(j = 1, ..., μ), wobei n = μ + kc(μ – 1) mit kc∈N und wobei das Verfahren die folgenden Schritte umfaßt: – Einlesen der elektronischen Alphabet-Datenmenge W durch das Verarbeitungsmodul aus einem Speichermodul; – unter Berücksichtigung von Schlüsselelementen eines elektronischen Schlüssels, die Koordinaten xi eines Vektors x0 bilden, mit
    Figure 00160001
    wobei 0 < xi < 1 i = 1, 2, ..., kAusführen einer Funktion φ: Rk+1 → R+ der Elemente wi(i = 1, ..., n) der elektronischen Alphabet-Datenmenge W mit Hilfe einer nicht umkehrbaren, reellen positiv beschränkt Funktion φ gemäß xν+k+1 = φ(λ, xν+k, ..., xν+1), mit ν ≥ 0zum iterativen Bilden von Folgeelementen xν einer Folge X = {xν, ν > k} mit Hilfe des Verarbeitungsmoduls, wobei λ in einem von k abhängigen Intervall liegt, so daß die Folge X chaotisch ist und jedem Element wi ein Folgeelement xν ∈ X zugeordnet wird; – Sortieren der Folgeelemente xν der Größe nach, wobei ein größtes Folgeelement ein erstes Folgeelement einer sortierten Folge X' = {x'ν}, ν > k bildet; – Bilden von Matrixelementen ap,m mit p = 1, ..., kc + 2 und m = 1, ..., nf einer Matrix A = (ap,m), wobei die Matrixelemente ap,m mittels eines oder mehrerer Codierelemente(s) zj gebildet werden, so daß Kandidaten-Codeelemente gebildet werden, die einer Präfixcode-Eigenschaft genügen; – Auswählen jeweils wenigstens eines Codeelementes in jeder Zeile p mit 2 ≤ p ≤ kc + 1 der Matrix A aus den Kandidaten-Codeelementen; – Zuordnen jedes ausgewählten Codeelementes zu je einem der Elemente wi der elektronischen Alphabet-Datenmenge Wi und – Verschlüsseln der abzugebenden Menge V von elektronischen Daten mit dem Verarbeitungsmodul gemäß der vorher getroffenen Zuordnung zwischen den ausgewählten Codeelementen und den Elementen wi der elektronischen Alphabet-Datenmenge W.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß vor dem Ausführen der Funkion φ: Rk+1 → R+ der Elemente wi der elektronischen Alphabet-Datenmenge W eine Anzahl der Schlüsselelemente abgefragt und eine Nutzereingabe zum Festlegen der Anzahl der Schlüsselelemente automatisch erfaßt wird.
  3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß in Abhängigkeit von μ eine verschachtelte Verschlüsselung ausgeführt wird, indem die abzugebende Menge V elektronischer Daten eine verschlüsselte Datenmenge ist.
  4. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß die abzugebende Menge V komprimiert wird.
  5. Verwendung des Verfahrens nach einem der Ansprüche 1 bis 4 zum Verschlüsseln einer elektronischen Datei.
  6. Verwendung des Verfahrens nach einem der Ansprüche 1 bis 4 zur verschlüsselten Datenarchivierung.
  7. Verwendung des Verfahrens nach einem der Ansprüche 1 bis 4 zum Verschlüsseln einer elektronischen Datei mit einem Mobilfunktelefon.
DE2003151022 2003-10-31 2003-10-31 Verfahren zum Verschlüsseln einer von einer Sendeeinrichtung an eine Empfangseinrichtung abzugebenden Menge elektronischer Daten Expired - Fee Related DE10351022B8 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE2003151022 DE10351022B8 (de) 2003-10-31 2003-10-31 Verfahren zum Verschlüsseln einer von einer Sendeeinrichtung an eine Empfangseinrichtung abzugebenden Menge elektronischer Daten
DE112004002623T DE112004002623D2 (de) 2003-10-31 2004-08-20 Verfahren zum Verschlüsseln von elektrischen Daten
PCT/DE2004/001865 WO2005046117A1 (de) 2003-10-31 2004-08-20 Verfahren zum verschlüsseln von elektrischen daten

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2003151022 DE10351022B8 (de) 2003-10-31 2003-10-31 Verfahren zum Verschlüsseln einer von einer Sendeeinrichtung an eine Empfangseinrichtung abzugebenden Menge elektronischer Daten

Publications (3)

Publication Number Publication Date
DE10351022A1 DE10351022A1 (de) 2005-06-09
DE10351022B4 true DE10351022B4 (de) 2006-03-09
DE10351022B8 DE10351022B8 (de) 2006-08-10

Family

ID=34559274

Family Applications (2)

Application Number Title Priority Date Filing Date
DE2003151022 Expired - Fee Related DE10351022B8 (de) 2003-10-31 2003-10-31 Verfahren zum Verschlüsseln einer von einer Sendeeinrichtung an eine Empfangseinrichtung abzugebenden Menge elektronischer Daten
DE112004002623T Expired - Fee Related DE112004002623D2 (de) 2003-10-31 2004-08-20 Verfahren zum Verschlüsseln von elektrischen Daten

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE112004002623T Expired - Fee Related DE112004002623D2 (de) 2003-10-31 2004-08-20 Verfahren zum Verschlüsseln von elektrischen Daten

Country Status (2)

Country Link
DE (2) DE10351022B8 (de)
WO (1) WO2005046117A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011110887A1 (en) 2010-03-11 2011-09-15 Luis Rocha Cryptographic system and method using new one-way function families

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5539827A (en) * 1993-05-05 1996-07-23 Liu; Zunquan Device and method for data encryption
DE19958599A1 (de) * 1999-05-27 2000-11-30 Bosch Gmbh Robert Verfahren zur Verschlüsselung einer numerischen Information und Sendemodul
DE19963042A1 (de) * 1999-12-24 2001-07-05 Websmart Technology Gmbh Vorrichtung und Verfahren zum Verschlüsseln bzw. Entschlüsseln von Daten

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5539827A (en) * 1993-05-05 1996-07-23 Liu; Zunquan Device and method for data encryption
DE19958599A1 (de) * 1999-05-27 2000-11-30 Bosch Gmbh Robert Verfahren zur Verschlüsselung einer numerischen Information und Sendemodul
DE19963042A1 (de) * 1999-12-24 2001-07-05 Websmart Technology Gmbh Vorrichtung und Verfahren zum Verschlüsseln bzw. Entschlüsseln von Daten

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
HABUTSU, T. u.a.: A Secret Key Cryptosystem by Iterating a Chaotic Map. In: LNCS, Vol. 547, Springer-Verlag, 1991, S. 127-140 *
YEH, Y.-S. u.a.: A new cryptosystem using matrix transformation. In: 25th annual 1991 IEEE Interna- tional Carnahan Conference on Security Technology, Proceedings, S. 131-138
YEH, Y.-S. u.a.: A new cryptosystem using matrix transformation. In: 25th annual 1991 IEEE Interna-tional Carnahan Conference on Security Technology,Proceedings, S. 131-138 *
ZHOU, H. u.a.: Problems with the chaotic inverse system encryption approach. In: IEEE Transactions on Circuits and Systems, Vol. 44, 1997, S.268-271 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011110887A1 (en) 2010-03-11 2011-09-15 Luis Rocha Cryptographic system and method using new one-way function families

Also Published As

Publication number Publication date
DE112004002623D2 (de) 2006-09-21
DE10351022B8 (de) 2006-08-10
DE10351022A1 (de) 2005-06-09
WO2005046117A1 (de) 2005-05-19

Similar Documents

Publication Publication Date Title
DE60121566T2 (de) Verschlüsselungsverfahren, Verschlüsselungsprogramm, Speichermedium zur Aufzeichnung des Programms, und Verschlüsselungsvorrichtung sowie Entschlüsselungsverfahren und Entschlüsselungsvorrichtung
EP2433242B1 (de) Verwendung einer zeichenkette in systemen der kryptographie, der statistik, der simulation, der randomisierung, von spielautomaten und dgl.
DE60112130T2 (de) Vorrichtung zur datenverschlüsselung unter verwendung einer schlüsselmatrix
DE69838074T2 (de) Verfahren und vorrichtung zur gleichzeitigen verschlüsselung und komprimierung von daten
DE69929251T2 (de) Verschlüsselungssystem mit einem schlüssel veränderlicher länge
DE60025901T2 (de) Verfahren und Vorrichtung zur Markierung eines Textdokuments mit einem Muster von zusätzlichen Leerstellen zum Zweck der Authentifizierung
DE19742417A1 (de) Vorrichtung und Verfahren zur Durchführung von M-fachem Maschinenendzustands-Entropiekodieren bzw. Entropiekodieren mit einer Maschine mit finitem Zustand
DE112006001221T5 (de) Pseudozufallszahlenerzeugungssystem, Verschlüsselungssystem und Entschlüsselungssystem
DE202022102430U1 (de) Ein optimiertes 2D-Chaotisches Kartierungssystem für die Bildsicherheit unter Verwendung eines verbesserten Sealion-Optimierungsalgorithmus
DE602004001732T2 (de) Datenverschlüsselung in einem elektronischen Gerät mit mehreren symmetrischen Prozessoren
DE60224603T2 (de) Auf einem graphisch implementierten Algorithmus basierendes Verfahren zur Erzeugung und Filtrierung von Datensequenzen für kryptographische Anwendungen
DE10351022B4 (de) Verfahren zum Verschlüsseln einer von einer Sendeeinrichtung an eine Empfangseinrichtung abzugebenden Menge elektronischer Daten
DE102005006713B4 (de) Verfahren zur Binärdatenverschlüsselung
DE60104213T2 (de) Teilverschlüsselung von zusammengesetzten bitströmen
EP0384478A2 (de) Verfahren zum Ver- und Entschlüsseln eines Nachrichtenstromes
EP2288073B1 (de) Vorrichtung zur Verschlüsselung von Daten
DE102018126763B4 (de) Kryptographieverfahren
DE102018113772A1 (de) Verschlüsselungsverfahren
DE10158003B4 (de) Verfahren zur Erzeugung von Schlüsseln für die Datenverschlüsselung sowie Verfahren zur Datenverschlüsselung
EP3484094B1 (de) Übertragungsvorrichtung zum übertragen eines datenpakets
EP2835931A1 (de) Verfahren zur Verschlüsselung von Zeichenketten
DE2136536A1 (de) Verfahren zur komprimierung und dekomprimierung binaerer daten
WO2016096117A1 (de) Verfahren und vorrichtung zum sicheren speichern von daten und zum zugreifen auf diese daten
DE3615255C2 (de)
DE4425158C2 (de) Verfahren und Anordnung zur Realisierung von kryptologischen Funktionen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8381 Inventor (new situation)

Inventor name: ROCHA, LUIS, DR., 12159 BERLIN, DE

8396 Reprint of erroneous front page
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: ROCHA, LUIS, DR., 12159 BERLIN, DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20120501