DE102005024725A1 - System und Verfahren für Chaotische Digitale Signatur, Verschlüsselung und Authentifizierung - Google Patents

System und Verfahren für Chaotische Digitale Signatur, Verschlüsselung und Authentifizierung Download PDF

Info

Publication number
DE102005024725A1
DE102005024725A1 DE102005024725A DE102005024725A DE102005024725A1 DE 102005024725 A1 DE102005024725 A1 DE 102005024725A1 DE 102005024725 A DE102005024725 A DE 102005024725A DE 102005024725 A DE102005024725 A DE 102005024725A DE 102005024725 A1 DE102005024725 A1 DE 102005024725A1
Authority
DE
Germany
Prior art keywords
encryption
integer
key
bytes
document
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
DE102005024725A
Other languages
English (en)
Inventor
Helmut Frey
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.)
Frey Helmut Dr
Original Assignee
Frey Helmut Dr
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 Frey Helmut Dr filed Critical Frey Helmut Dr
Publication of DE102005024725A1 publication Critical patent/DE102005024725A1/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/001Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using chaotic signals
    • 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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • H04L9/0668Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator producing a non-linear pseudorandom sequence
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3093Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/76Proxy, i.e. using intermediary entity to perform cryptographic operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Nonlinear Science (AREA)
  • Storage Device Security (AREA)

Abstract

Ein System und Verfahren zur chaotischen digitalen Signatur, Verschlüsselung und Authentifizierung unter Verwendung eines Chaosgenerators, der in Ganzzahlräumen beliebiger Größenordnung, die durch ganzzahlige Polynomzahlen realisiert sind, operiert.

Description

  • ANWENDUNGSBEREICH
  • Die vorliegende Erfindung bezieht sich allgemein auf ein Verfahren und ein System für chaotische Digitale Signatur, Verschlüsselung und Authentifizierung mittels eines Chaosgenerators, basierend auf einer erweiterten Ganzzahl-Polynom-Arithmetik.
  • HINTERGRUND
  • Mit zunehmender Nutzung von Netzwerk-Technologien wie Internet und Intranet nehmen auch die Anforderungen an einen sicheren Zugriff und eine sichere Übertragung digitaler Daten zu. Dies gilt sowohl für Geschäftstransaktionen als auch für den privaten Datenaustausch jeglicher Art. Bezüglich der Sicherheit von Daten ist es nützlich die folgenden Aspekte zu unterscheiden: Benutzer-Authentifizierung, Dokument-Signatur und Datenverschlüsselung.
  • Benutzer-Authentifizierung bedeutet, dass nur diejenige informationsanfordernde Einheit (der "Client") Zugriff zur besagten angeforderten Information erhält, welche auch die Erlaubnis durch die informationsbesitzende Einheit (den "Server") erhalten hat. Der Client, ebenso wie der Server, kann dabei eine Person, ein Unternehmen, eine Organisation, oder auch eine Maschine etc. sein. Der Client muss sich beim Server authentifizieren bevor er Zugriff auf einen Service (Daten, Information, Netzwerkzugriff, etc.), der vom Server nur für bestimmte Clients zur Verfügung gestellt wird, bekommt. Diese Authentifizierung muss in solch einer Weise sicher sein, dass der Server in der Lage ist, den Sender einer Anfrage als denjenigen erlaublen Client zu identifizieren, den der Sender vorgibt zu sein.
  • Signatur bedeutet, dass der Empfänger eines Dokuments in der Lage ist, eindeutig den Absender des Dokuments als diejenige erlaubte Einheit zu identifizieren, welche der Absender mit seiner am Ende des Dokuments angebrachten digitalen Signatur zu sein vorgibt. Weiterhin muss durch die Signatur garantiert werden, dass das Dokument nach seiner Signierung in keiner Weise mehr verändert wurde, weder vom Absender noch von irgendjemandem sonst während seiner Übertragung.
  • Verschlüsselung bedeutet eine Umformung von Daten in solch einer Weise, dass die daraus resultierende Datenfolge (die im Folgenden als "Ciphertext" bezeichnet wird) keinerlei Informationen über ihr Original erlaubt, und dass die einzige sinnvolle Entschlüsselung nur von demjenigen Empfänger vorgenommen werden kann, welcher auch die Erlaubnis des Absenders bekommen hat, dies zu tun. Es muss garantiert sein, dass jede andere dritte Partei überhaupt keine Möglichkeit hat, die Originaldaten aus dem Ciphertext wieder herzustellen, egal mit welchen Mitteln auch immer.
  • Es wurden bereits viele Anstrengungen unternommen, die Anforderungen an diese drei Sicherheitsaspekte, wie oben beschrieben, zu erfüllen. Eines der bekanntesten Verfahren ist das sogenannte asymmetrische Verschlüsselungsverfahren (im Folgenden als "Public-Key"-Verfahren bezeichnet), das auf einem privaten und öffentlichen Schlüsselpaar basiert. Solche asymmetrischen Public-Key-Verfahren wurden bereits Mitte der 1970er Jahre von Diffie und Hellman und später von Rivest, Shamir und Adleman in deren RSA-Algorithmus sowie z.B. auch von Elgamal entwickelt. Ein weiteres sehr bekanntes Verfahren ist das sogenannte symmetrische Verschlüsselungsverfahren, wie z.B. realisiert in IDEA, Blowfish und DES, das im Oktober 2000 durch AES (Advanced Encryption Standard, basierend auf dem Rijndael-Algorithmus) durch die NIST (National Institute of Standards and Technology, U.S. Department of Commerce) ersetzt wurde. Eine Beschreibung der einzelnen Verfahren kann z.B. gefunden werden in "Cryptography and Network Security: Principles and Practice" von William Stallings, Prentice Hall, New Jersey, 2003, 3rd Edition.
  • Alle diese Verfahren leiden jedoch unter einem gemeinsamen Nachteil: Die Sicherheit hängt in einem großen Ausmaß von der Länge der erzeugten Schlüssel ab aufgrund der Deterministik ihres Erzeugungsalgorithmus (der z.B. auf dem arithmetischen Produkt von relativ hohen Primzahlen basiert). Je länger allerdings der Schlüssel, desto größer wird die benötigte Rechenzeit, und je kürzer der Schlüssel, desto größer wird die Wahrscheinlichkeit und damit das Risiko, dass der Schlüssel gebrochen werden kann. Somit ist Sicherheit immer ein Rennen zwischen anwendbaren Schlüssellängen und vorhandener Rechenkapazität. Z.B. wurde DES für eine lange Zeit als absolut sicher angesehen, bis DES schließlich vor einigen Jahren mit algebraischen Verfahren generell gebrochen wurde. DES wurde durch AES ersetzt, und in einigen Jahren wird sicherlich auch AES durch einen wiederum weiterentwickelten Standard ersetzt werden.
  • Mehr Sicherheit versprechende Verfahren basieren auf nicht-deterministischen, also chaotischen, Systemen, deren Entwicklung mit zunehmender Kenntnis über chaotische Systeme Mitte der 1980er Jahre begann. Solche chaotischen Systeme enstehen aus relativ einfachen aber hoch nicht-linearen mathematischen Funktionen, welche rekursiv so angewandt werden, dass der aus einem Startwert resultierende Funktionswert wiederum als neuer Startwert in die Funktion eingesetzt wird. Ein chaotisches Verhalten solcher Funktionen ist dann gegeben, wenn der resultierende Funktionswert niemals gegen einen Attraktor (welcher ein Fixpunkt oder ein Ensemble von Fixpunkten sein kann) konvergiert, selbst dann nicht wenn die Anzahl der Rekursionsoperationen gegen unendlich geht. Eine Einführung in solche chaotischen Systeme ist z.B. gegeben in "Chaos. Making of new science" von James Gleick, Viking Pinguin, New York, 1987. Aufgrund ihrer relativen Einfachheit sind die zwei der am intensivsten untersuchten dynamischen und chaotischen Systeme die Logistische Gleichung (chaotische Bifurkation) und die Lorenz-Gleichung (chaotischer Lorenz-Attraktor). Die vorliegende Erfindung bezieht sich im Weiteren auf die Logistische Gleichung nur als ein Beispiel ohne sich jedoch auf die Logistische Gleichung zu beschränken.
  • Die Logistische Gleichung ist in ihrer rekursiven und iterativen Form gegeben durch Xn+1 = r·xn(1-xn); xn ∊ [0,1] ∀ n ∊ {0, 1, ... , ⇋}; 0 ≤ r ≤ 4 (1)und bildet die Basis des Beispiels das für die hier vorliegende und offengelegte Erfindung steht. Einer der ersten angewandten Chaosgeneratoren, der auf der Logistischen Gleichung basiert und Berechnungen im Gleitkomma-Zahlenraum durchführt, ist im US-Patent 5,048,086 von Bianco beschrieben. Bianco benutzte den Bifurkationsfaktor r als den privaten and geheimen Schlüssel, und den Startwert x0 als "Präampel". Jedes Iterationsergebnis wurde auf die Bits 0 and 1 mittels einer geeignet Filterfunktion übertragen und lieferte somit den Bitstrom des Ciphertexts für eine Bit-zu-Bit oder auch blockweise Verschlüsselung. Ein weiterer Chaosgenerator, der die Logistische Gleichung für Authentifizierung und digitale Signatur implementiert, ist im Europäischen Patent EP 0 940 675 von Occhipinti und später identisch im US-Patent 6,647,493 beschrieben. Die -nahezu – gleichen Autoren erweiterten die Anwendung dieses Chaosgenerators (den Gleitzahlen-Algorithmus der Logistischen Gleichung) mittels einer zusätzlichen Chiffrierung/Dechiffrierung-Methode auf ein chaotisches Verschlüsselungsverfahren im Europäischen Patent EP 1 179 912 von Di Bernardo.
  • Im Gegensatz zur vorliegenden Erfindung implizieren die oben beschriebenen Methoden jedoch Nachteile bezüglich der Sicherheit:
    • 1) Betreffs der Benutzung des Faktors r in Gleichung (1) als den geheimen und privaten Schlüssel.
    • a) Dies kann nicht-eindeutige und hoch deterministische Zahlenfolgen anstelle von nicht-deterministischen und chaotischen Zahlenfolgen erzeugen. Grundsätzlich ist ein chaotisches Verhalten der Gleichung (1) nur innerhalb des Intervalls 3,58 ≤ r ≤ 4 (2)gegeben, aber selbst innerhalb dieses Bereichs existieren so genannte "Inseln der Ordnung", wo das System durch Attraktoren konvergent anstatt chaotisch und divergent bestimmt ist (Peitgen, H.-O., Jürgens, H., Saupe, D. "Chaos and Fractals – New Frontiers of Science" Springer, New York, 1992). Zum Beispiel existiert innerhalb des Bereichs 3,829 < r < 3,842 ein 3er-Zyklus-Attraktor, wo das System schnell gegen eine Lösung konvergiert, die für alle Zeiten nur noch zwischen drei Fixpunkten hin- und herspringt, und dies unabhängig vom Startwert x0. Das bedeutet, das System ist hier einerseits wohl determiniert und liefert andererseits immer dasselbe Ergebnis auch für unterschiedliche Schlüssel die in einem bestimmten Schlüsselbereich liegen. Unglücklicherweise existieren aufgrund der selbst-ähnlichen fraktalen Systemstruktur innerhalb des Bereichs von r, der chaotisches Verhalten generiert (wie in Gleichung (2) gegeben), eine unendlich große Anzahl solcher "Inseln der Ordnung" mit irgendwelchen beliebigen und unbekannten n-Zyklus-Attraktoren. Somit ist die Wahrscheinlichkeit, in solch einem Attraktor gefangen zu werden, sehr groß wenn der Faktor r als privater und geheimer Kryptographie-Schlüssel verwendet wird.
    • b) Die Anzahl der möglichen verschiedenen Schlüssel ist limitiert und ist abhängig von der Maschine, welche für die Verschlüsselung genutzt wird. Werden die Berechnungen mit einer 64-Bit-Maschine, die intern mit 15 signifikanten Stellen nach dem Dezimalpunkt rechnet, durchgeführt, bedeutet dies, dass die Anzahl der verschiedenen Schlüssel maximal 4 × 1015 – 3,58 × 1015 = 4,2 × 1014 sein kann und im Falle einer 32-Bit-Maschine mit 6 signifikanten Stellen nach dem Dezimalpunkt maximal 4 × 106 – 3,58 × 106 = 4,2 × 105 sein kann. Die letztere Schlüsselanzahl widersteht bereits heutzutage keinem Brute-Force-Angriff (das ist ein Angriff, der alle möglichen Schlüsselwerte mit der Versuch-und-Irrtum-Methode durchprobiert) mehr, und die letztere wird solch einem Angriff in naher Zukunft auch nicht mehr widerstehen.
    • c) Wird der Faktor r als geheimer Schlüssel verwendet, dann bindet dies den Schlüssel an einen ganz bestimmten Chaosgenerator, nämlich den der Logistischen Gleichung. Wenn nun aus irgendwelchen Gründen die Einheit, welche die Schlüssel besitzt, von einem anderen Chaosgenerator, wie z.B. der Lorenz-Gleichung oder einer Julia-Menge etc., Gebrauch machen möchte, dann sind alle Schlüssel, die von dieser Einheit ausgegeben wurden, unbrauchbar und ungültig. Das heißt, diese Einheit müsste entweder an alle ihre Clients neue Schlüssel herausgeben, oder sie müsste große Anstrengungen unternehmen, um die bisherigen Schlüssel an die neuen Erfordernisse anzupassen. Insbesondere betreffs Hardware-fixierten Schlüsselausgaben, wie sie z.B. in so genannten Smartcards realisiert sind, erscheint eine umfassende Schlüsselrücknahme aufgrund einer Systemänderung nicht gerade wünschenswert.
    • 2) Betreffs der Berechnungen der Logistischen Gleichung mittels Gleitzahl-Operationen.
    • a) Jede berechnete Chiffre als Resultat der Chaosgenerator-Rechnungen hängt von der Rechenmaschine (CPU, hart-kodierter IC, etc) und/oder vom Software-Compiler (C, C++, Fortran, Java, etc.) ab, weil die Berechnungen sehr stark von der internen Gleitkommazahl-Darstellung des berechnenden Systems abhängt. Zum Beispiel liefert das einfache arithmetische Produkt 0,00001 × 0,00001 auf einer 32-Bit-Maschine aufgrund des maschineninternen Abbruchfehlers die exakt Zahl 0 (Null), auf einer 64-Bit-Maschine liefert die identische Operation jedoch 0,0000000001. Obwohl der Unterschied, der aus solch einer Gleitzahlen-Multiplikation resultiert, meistens nur die allerletzte signifikante Ziffer betrifft, so wird dennoch die aus dem Chaosgenerator resultierende Zahl nach einigen Iterationen sich je nach Maschine stark unterscheiden, da das chaotische System sehr sensitiv und letztendlich mit großen Auswirkungen auf die kleinsten Störungen reagiert. Gleitzahl-Operationen innerhalb eines Chaosgenerators implizieren somit, dass alle Berechnungen auf identischen System ausgeführt werden müssen, um kongruente Ergebnisse zu erhalten. Die Anwendungen für Authentifizierung, digitale Signatur und Verschlüsselung verlangen jedoch eindeutig die Unabhängigkeit von implentierenden Systemen.
    • b) Die Lösungsmenge des betrachteten Systems ist zu beschränkt. Die Lösungsmenge der Logistischen Gleichung (1) liegt innerhalb des Intervalls [0, 1]. Somit ergeben sich als Lösungsmenge auf einer 64-Bit Maschine mit 15 signifikanten Dezimalstellen nach dem Dezimalpunkt nur 1 × 1015 verschiedene Zahlen. Das heißt, dass unabhängig vom Startwert, dem Faktor r und der Anzahl der Iterationen das Ergebnis zwingend einer dieser Zahlen ist. Dies scheint hinsichtlich eines Brute-Force-Angriffs eine für die Sicherheit ausreichende Anzahl von Variationen zu bieten, diese beschränkte Lösungsmenge beinhaltet allerdings die nicht so offensichtliche aber sehr wahrscheinliche Gefahr, in einem n-Zyklus-Attraktor eingefangen zu werden aufgrund des maschineninternen Abbruchfehlers.
    • c) Folgt man dem Trend in der Entwicklung der Computertechnik, so ist es offensichtlich, dass sich die Prozessor-Taktfrequenz wesentlich schneller erhöht als die Anzahl der Bytes zur maschineninternen Zahlendarstellung. Somit wächst die Wahrscheinlichkeit eines Brute-Force-Angriffs ebenso wesentlich schneller als die Möglichkeit dies zu verhindern, wenn die Lösungsmenge durch die maschineninterne Geneuigkeit beschränkt wird.
    • 3) Betreffs des Übermittelns des Startwerts, x0, und der Anzahl der Iterationen, p, die durchgeführt werdenm sollen, an einen Client und des Empfangens des Ergebnisses (= "RES") der Chaosberechnungen.
    • a) Unter Beachtung der Ausführungen unter 1) und 2) ist es nicht garantiert, dass nur ein einziger Wert des Faktors r das Ergebnis RES liefert.
    • b) Aufgrund der Tatsache, dass der Faktor r der geheime private Schlüssel und gleichzeitig Teil des Algorithmuses selbst ist und aufgrund der Ausführengen unter 1) und 2), ist die Möglichkeit eines Brute-Force-Angriffs in naher Zukunft als sehr wahrscheinlich anzunehmen. Erhält man Kenntnis von dem Tripel (x0, p, RES) für jede Berechnung, so ist Faktor r der einzige Systemparameter, der noch unbekannt ist.
  • Okutomi beschreibt eine weitere Entwicklung eines Chaosgenerators, basierend auf der Logistischen Gleichung, im US-Patent 2003/0091190, indem alle Chaosgenerator-Berechnungen mit plattforminterner Ganzzahl-Arithmetik durchgeführt werden, und somit das oben beschriebene System in der Weise verbessert wird, dass alle Berechnungen nun definitiv plattformunabhängig sind. Jedoch aufgrund der Voraussetzung, dass eine Ganzzahl-Multiplikation den maschineninternen Ganzzahl-Raum nicht verlassen darf, müssen die Beträge der Zahlen für vorzeichenbehaftete Ganzzahlen auf einer 32-Bit-Maschine kleiner sein als der Wert der Wurzel aus 231-1, also kleiner als 215 oder 32768 im Dezimalsystem. Dies ist eine sehr harsche Begrenzung und noch restriktiver als im Gleitzahlen-Raum. Um dieses Problem zu überwinden, unternahm Okutomi große Anstrengungen mit Hilfe getrennter Abbildungsfunktionen und getrennten Lösungsräumen und deren Interaktion, um den charakteristischen Verlauf des Lyapunov-Exponenten für die Logistische Gleichung zu erhalten. Ebenso wird aus demselben Grund eine wesentlich komplexere Handhabung aller Systemparameter benötigt. Abgesehen vom Vorteil der Plattformunabhängigkeit gibt es jedoch keine Anhaltspunkte für eine weitere Verbessung der oben beschriebenen Probleme.
  • Die vorliegende Erfindung ist durch keines dieser, oben beschriebenen, Probleme beschränkt noch bestimmt und ist darüberhinaus leicht zu skalieren betreffs zukünftiger Anforderungen und technischem Stand der Dinge.
  • Andere Methoden, die als sicher erachtet und weit verbreitet angewandt werden, sind RSA, ElGamal, AES, and DSS.
    • a) RSA ist eine asymmetrische Verschlüsselungstechnik und wurde 1977 entwickelt von und benannt nach Ronald L. Rivest, Adi Shamir und Leonard Adleman (US-Patent 4,405,829 von Rivest et al.). Das RSA-Verfahren basiert auf dem so genannten diskreten Funktionenproblem indem es mathematische Funktionen benutzt, die nur sehr schwer umzukehren sind. Im Speziellen basiert RSA auf der Erzeugung dreier großer Primzahlen und deren Produktbildung, und auf Modulo-Arithmetik. Die Sicherheit des Algorithmus' wird dadurch erreicht, dass es schwierig ist die Primzahlen aus deren Produkt mittels Primzahlenfaktorisierung herzuleiten. Somit ist die Sicherheit hauptsächlich abhängig von der Größenordung der Primzahlen: je größer die Primzahlen desto sicherer das Verfahren. Dieser Sachverhalt ist bekannt als so genannte Schlüssellänge, die zur Zeit 128 Bit in allgemein angewandten Kommunikationstechniken wie der Secure Socket Layer (SSL) und bis zu 4096 Bit in speziellen Verschlüsselungstechniken wie Pretty Good Privacy (PGP) und GNU Privacy Guard (GnuPG), die beide unter anderem auch RSA verwenden, beträgt. Somit hängt die Sicherheit des Verfahrens immer von der Kapazität der jeweiligen Rechenmaschine ab, geeignete und effiziente Faktorisierungstechniken anzuwenden. Um die Sicherheit zu gewährleisten, muss also die Bit-Länge des Schlüssels mit der zunehmenden technischen Entwicklung Schritt halten, denn je kleiner die Schlüssellänge, desto größer die Möglichkeit die Verschlüsselung zu brechen. So wie bewiesenermaßen die Rechenleistung der Prozessoren aufgrund der technischen Entwicklung über die Zeit exponentiell zunimmt, muss die Größe der Primzahlen linear anwachsen. In einiger Zukunft müssen, um die Sicherheit des Verfahrens zu gewährleisten, so große Primzahlen benutzt werden, dass das Verfahren nicht mehr als Realzeit-Prozess umgesetzt werden kann. Weitere Optimierungen der Verfahren für Primfaktorenzerlegung, wie sie sich z.B. in der Entwicklung der so genannten Quanten-Computer abzeichnen, stellen ein weiteres zukünftiges Problem dar.
    • b) Ebenso wie RSA basiert das asymmetrische ElGamal-Verfahren auf dem so genannten diskreten Funktionenproblem, benutzt aber im Gegensatz zu RSA Exponentialfunktionen anstatt Primzahlenprodukte. Das Verfahren ist eine Weiterentwicklung der so genannten Diffie-Hellman-Methode (US-Patent 4,200,770 von Hellmann et al.). Taher Elgamal veröffentlichte 1985 (ElGamal, T., "A public key cryptosystem and a signature scheme based on discrete logarithms, " IEEE Transactions on Information Theory, Vol.IT-31, No.4, pp.469--472, 1985) sein Verfahren, welches auf der Exponentenbildung (Exponentiation) ganzzahliger Zufallszahlen und Modulo-Arithmetik mit einer Primzahl als Modulozahl basiert. Exponentiation erzeugt allerding noch größere Zahlenwerte als Primzahlenmultiplikation und somit verschärft sich bei dieser Methode das oben genannte Problem. Ein weiterer Nachteil dieses Verfahrens besteht darin, dass der verschlüsselte Ciphertext doppelt so groß wird wie der Originaltext. Aus diesem Grund wird dieses Verfahren hauptsächlich zur Übertragung geheimer symmetrischer Schlüssel benutzt und weniger für die Verschlüsselung selbst. Beide Verfahren, ElGamal and RSA, können heutzutage nicht mehr als prinzipiell sicher angesehen werden (Boneh, D. et al., "Why Textbook ElGamal and RSA Encryption are Insecure", Proceedings AsiaCrypt'00, Lecture Notes in Computer Science, Vol. 1976, Springer-Verlag, pp. 30-44, 2000). Am 3. Dezember 2003 gewann eine Arbeitsgruppe (J. Franke and T. Kleinjung) am Bundesamt für Sicherheit in der Informationstechnologie, BSI, 10 000 $ für das Brechen eines RSA-576 Schlüssels (RSA-Verfahren, Schlüssellänge 576 Bits). Des Weiteren wurde bereits 1996 von Professor Shor (Shor, P. W., "Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer", SIAM J. Computing 26, pp. 1484-1509, 1997) am Massachusetts Institute of Technology (MIT) gezeigt, dass zukünftige so genannte Quanten-Computer in der Lage sein werden, eine Primfaktorenzerlegung oder eine Rückführung diskreter Logorithmen mit nur demselben Aufwand durchzuführen, der für die Primzahlen-Produktbbildung bzw. für eine Exponentiation benötigt wird. Somit ist das Brechen beider Methoden im Prinzip möglich und nur eine Frage verfügbarer Computertechnik, geeigneter Faktorisierungsalgorithmen und verfügbarer Rechenzeit.
    • c) Der Data Encryption Standard (DES) wurde 1974 entwickelt und als NIST Standard (National Insititute of Standards and Technology) herausgegeben. In diesem Verfahren werden individuelle Bitgruppen permutiert, gemischt oder ersetzt. Für die Verschlüsselung und Entschlüsselung wird derselbe Schlüssel verwendet (symmetrisches Verfahren). Da die DES-Methode gebrochen wurde, wurde der Advanced Encryption Standard, AES, (auch bekannt als Rijndael-Algorithmus) entwickelt und 2001 von NIST (National Institute of Standards and Technology) herausgegeben um das DES-Verfahren zu ersetzen (National Institute of Standards and Technology, "Announcing the ADVANCED ENCRYPTION STANDARD (AES)", Federal Information Processing Standards Publication 197, November 26, 2001). AES basiert im Prinzip auf denselben algebraischen Methoden wie DES, benutzt aber größere Schlüssellängen (128, 192, 256 Bit anstatt vormals 64 Bit) und zeichnet sich durch eine wesentliche höhere Komplexität aus. Allerdings scheint es nur eine Frage der Zeit zu sein, wann AES gebrochen werden wird (Mackenzie, D., "A Game of Chance", New Scientist (06/07/03) Vol. 178, No. 2398, P. 36, 2003). Die Sicherheit und Lebensdauer von AES ist immer noch Thema intensiver Diskussionen der wissenschaftlichen Gemeinde: Optimistische Schätzungen gehen davon aus, dass AES für die nächsten 30 Jahre als sicher angesehen werden kann, pessimistische prognostizieren hierfür nur 5 Jahre.
    • d) Die letzte Erneuerung des Digital Signature Standard wurde von NIST im Januar 2000 veröffentlicht (National Institute of Standards and Technology, "DIGITAL SIGNATURE STANDARD (DDS)", Federal Information Processing Standards Publication 186-2, January 27, 2000). NIST empfielt für DSS entweder RSA oder den Elliptic Curve Digital Signature Algorithmus (ECDSA), wobei die spezifisch für Regierungsorganisationen zur Verwendung empfohlenen elliptischen Kurven im Anhang 6 in der Veröffentlichung FIPS 186-2 angeführt sind. ECDSA ist nur für die Erzeugung digitaler Signaturen vorgesehen und nicht als Kryptographie-Verfahren. Da DSS ebenso auf den oben genannten algebraischen Funktionen, in Verbindung mit so genannten Hash-Funktionen, aufbaut, sind die oben beschriebenen Probleme auch hier von Bedeutung. Die Methoden der vorliegenden Erfindung benutzen keine Hash-Funktionen, sondern signieren ein Dokument in Abhägigkeit jedes einzelnen Bits des Dokuments, und in Abhängigkeit der aktuellen Signierungszeit und des privaten und geheimen Schlüssels des Unterzeichners. Jegliche Änderung, egal von wem, was, wann und wo, des signierten Dokuments hat eine ungültig gewordene Signatur zur Folge.
  • Zusammenfassend: Im Gegensatz zu RSA, ElGamal, AES, und DSS, macht es die vorliegende Erfindung prinzipiell unmöglich, diskrete Umkehrfunktionen oder private und geheime Schlüssel mit algebraischen oder statistischen Angriffsmethoden zu finden. Die rekursive Anwendung der Logistischen Gleichung erzeugt sehr schnell höchst nicht-lineare Funktionen beliebigen und unbekannten polynomischen Grades. Zusammen mit der so genannten selbstähnlichen Struktur der Logistischen Gleichung, die eine absolut chaotische Folge von Funktionswerte innerhalb eines wohl-begrenzten Lösungsraumes, der allerdings unendlich viele Lösungen enthält, erzeugt, ist es unmöglich einen Startwert aus einem Funktionswert zu rekonstruieren. Die einzige Möglichkeit, einen privaten und geheimen Schlüssel zu finden, würde in einem Brute-Force-Angriff bestehen. Da jedoch der private Schlüssel nicht ein Parameter des Algorithmus' selbst ist (wie es in der Methode von Occhipinti der Fall ist), und da der private Schlüssel nichts Anderes darstellt als ein Passwort (Pass-Satz) beliebiger Länge und beliebigen Inhalts, muss ein solcher Brute-Force-Angriff eindeutig scheitern. Dies ist in der Methode von Occhipinti nicht gewährleistet, in welcher der private Schlüssel der Bifurkationsfaktor r ist und in welcher die Anzahl der möglichen privaten Schlüssel sehr begrenzt ist. In der vorliegenden Erfindung bestimmt die Anzahl der Ziffern, die für den erweiterten Ganzzahl-Raum zur Verfügung gestellt werden, den Grad der Sicherheit. Bereits eine Zahlenlänge von 90 Ziffern (320 Bit auf einer 32-Bit Plattform) gewährleistet, dass die Anzahl der möglichen Lösungen größer ist als die Anzahl der Atome innerhalb des Universums (diese wird auf 1080 geschätzt). Somit ist das Verfahren der vorliengenden Erfindung nicht brechbar.
  • ÜBERBLICK
  • Die Zielsetzung der vorliegenden Erfindung ist es, ein Verfahren und ein System zur Authentifizierung, digitalen Signatur und digitalen Verschlüsselung bereit zu stellen, welche einen Fortschritt bezüglich der Sicherheit, Benutzbarkeit, und Skalierbarkeit darstellen. Um diese Zielsetzung zu erreichen, sind in der vorliegenden Erfindung verschiedene Methoden und Systeme vorgesehen.
  • Die Erfindung beinhaltet eine Methode und ein System zur Durchführung von Berechnungen basierend auf Ganzzahl-Arithmetik, wobei die Größenordnung der Ganzzahlen nur durch den adressierbaren Speicher der Systemimplentierung begrenzt wird. Diese Ganzzahl-Maschine impliziert die Erzeugung von Ganzzahlen theoretisch beliebiger Größe als auch die arithmetischen Operationen die nötig sind, um mathematische Berechnungen durchführen zu können. Diese Ganzzahl-Maschine bildet die rechnerische Grundlage des Chaosgenerators.
  • Die Erfindung beinhaltet einen Chaosgenerator auf der Basis von Chaos- Funktionen, wie z.B. der Logistische Gleichung, wobei alle Berechnungen mit Hilfe der oben genannten Ganzzahl-Maschine durchgeführt werden und somit zum einen Plattformunabhängigkeit gewährleistet ist und zum anderen eine theoretisch beliebige Genauigkeit aller Berechnungen erzielt werden kann. Dieser Chaosgenerator transformiert den Lösungsraum der gebrochen rationalen Zahlen (für die Logistische Gleichung innerhalb des Intervalls [0, 1]) auf den Lösungsraum von Ganzzahlen. Dieser ist für die Logistische Gleichung gegeben durch das Intervall [0, An], wobei A die Basis des benutzen Zahlensystems darstellt (zum Beispiel ist A=16 für das hexadezimale, A=10 für das dezimale, A=8 für das oktale Zahlensystem), und wobei die Zahl n theoretisch jeden beliebig großen Ganzzahlwert annehmen kann. In der Praxis kann die Zahl n auf einer 32-Bit-Maschine mit A=10 (nur zum Zweck der verständlicheren Illustration wird im Folgenden das Dezimalsystem als Zahlenbasis verwendet) maximal den Wert 9.663.676.416 erreichen. Tatsächlich jedoch können solch hohe Zahlen wie 109.663.676.416 hinsichtlich der benötigten Rechenzeit für arithmetische Operationen und hinsichtlich der Begrenztheit des adressierbaren Speichers niemals benutzt werden und, glücklicherweise, sind solche hohe Zahlen in der Praxis auch überhaupt nicht nötig. Bereits mit n = 90 (dies ergibt mit A=10 den Maximalwert 1090) stellt der Chaosgenerator mehr verschiedene Lösungen zur Verfügung als es Atome im Universum gibt (die Anzahl der Atome im Universum wird auf ungefähr 1080 geschätzt).
  • Die Erfindung beinhaltet ein Konzept eines (privater Schlüssel)-(öffentliche Schlüssel-ID)-Paares in dem Sinne, dass die verschiedenen privaten Schlüssel nichts anderes darstellen als Passwörter beliebiger Länge und beliebigen Inhalts, und dass die entsprechenden öffentlichen Schlüssel-IDs irgendwelche angemessen geeignete Identifizierer sind, welche eine eindeutige Erkennung des entsprechend zu bentzenden privaten Schlüssel durch den Schlüsselbesitzer erlauben. Dieses hier vorgelegte Konzept ist nicht das Konzept, wie es allgemeinhin in den asymmetrischen Verfahren, wie z.B. RSA, benutzt wird, wo ein Dokument mit dem öffentlichen Schlüssel verschlüsselt und mit dem privaten Schlüssel, der sich vom öffentlichen unterscheidet, entschlüsselt wird. Das hier vorgelegte Konzept benutzt ausschließlich den privaten Schlüssel für die Signierung, Verschlüsselung, Entschlüsselung, und Verifizierung, und die öffentliche Schlüssel-ID wird nur dazu benutzt, den Signierer und den entsprechenden privaten Schlüssel zu identifizieren. Die einzige aber wesentliche Einschränkung zur Erzeugung solch einer öffentlichen Schlüssel-ID besteht darin, dass diese öffentliche Schlüssel-ID einzigartig bezüglich einer privaten Schlüsselsammlung sein muss und dass es absolut unmöglich sein muss, aufgrund der Kenntnis der öffentlichen Schlüssel-ID Informationen über die Struktur oder den Inhalt oder irgendeine andere Information über den dazugehörigen privaten Schlüssel abzuleiten.
  • Die Erfindung beinhaltet ein Verfahren und ein System zur digitalen Signatur basierend auf dem (privater Schlüssel)-(öffentliche Schlüssel-ID)-Paar-Konzept und dem Chaosgenerator. Die chaotische digitale Signatur gewährleistet die eindeutige Identifizierung des Unterzeichners und gewährleistet, dass jedes signierte Dokument, das jegliche digitale Information beliebiger Länge und beliebiger Art beinhalten kann, hinsichtlich eines Angriffs oder einer Veränderung nach dem Signieren geprüft werden kann. Die chaotische digitale Signatur ist einzigartig und nur gültig für ein bestimmtes Dokument und einen bestimmten Unterzeichner.
  • Die Erfindung beinhaltet ein Verfahren und ein System zur chaotischen digitalen Verschlüsselung basierend auf dem (privater Schlüssel)-(öffentliche Schlüssel-ID)-Paar-Konzept und dem Chaosgenerator. Die chaotische digitale Verschlüsselung wechselt in chaotischer Weise den Verschlüsselungsschlüssel für jedes Bit, oder jedes Byte oder jeden (variablen) Datenblock, und die chaotisch wechselnden Verschlüsselungsschlüssel sind abhängig von der aktuellen Zeit, dem aktuellen Anwender und dem aktuellen Dokument und garantieren somit äußerst hohe Sicherheit. Brute-Force-Angriffe und statistische Angriffe (das sind Angriffe, die versuchen den Verschlüsselungsschlüssel zu finden indem sie den Ciphertext mit statistischen Methoden analysieren) schlagen fehl, auch bei zukünftigen Technologien, weil der oben beschriebene Lösungsraum von keiner Maschine innerhalb der Lebenszeit des Universums erfasst werden kann.
  • Die Erfindung beinhaltet ein Verfahren und ein System zur Authentifizierung mit der so genannten "Challenge and Response"-Methode, kombiniert mit der chaotischen Verschlüsselung und chaotischen Signatur dieser Erfindung. Authentifizierung, Verschlüsselung und Signatur werden für jede einzelne Transaktion durchgeführt und garantieren so absolut sicheren Datenverkehr auch über unsichere Übertragungskanäle wie z.B. dem Internet.
  • Alle diese Verfahren und Systeme, die von dieser Erfindung wie oben beschrieben bereit gestellt werden, sind skalierbar in dem Sinne, dass jeglicher zukünftiger Zuwachs an Rechnerleistung aufgrund zukünftiger technologischer Entwicklung kein Grund zur Besorgnis bezüglich der Sicherheit darstellt.
  • Des Weiteren sind alle diese Verfahren und Systeme der vorliegenden Erfindung nicht beschränkt auf bestimmte Realisierungen sondern im Gegensatz anwendbar auf jegliche Art von digitalem Daten-Transfer, -Speicherung, -Lizenzierung und -Schutz etc, und auf jegliche Art von Übertragungs- und Speicherungsmethoden, und in jeder Art von Hardware- und/oder Software-Implementierung.
  • KURZBESCHREIBUNG DER FIGUREN
  • 1 zeigt die schematische mathematische Struktur der Ganzzahl-Maschineneinheit, die ganzzahlige Polynomzahlen bis maximal 109,663,676,416 – 1 erzeugt.
  • 2 zeigt das mathematische Schema der Byte-Umwandlereinheit, die Byte-Werte auf einen bestimmten Ganzzahlraum transformiert.
  • 3 zeigt in Form von Pseudo-Code die logische Struktur der Byte-Packereinheit, die ganzzahlige Polynomzahlen aus einem Byte-Strom unter Gebrauch der Ganzzahl-Maschineneinheit und Byte-Umwandlereinheit konstruiert.
  • 4 zeigt in Form von Pseudo-Code die logische Struktur der Chaosgeneratoreinheit, die chaotische ganzzahlige Polynomzahlen unter Gebrauch der Byte-Packereinheit, der Ganzzahl-Maschineneinheit, und der transformierten Logistischen Gleichung, die in Form der Gleichung (17) in die Ganzzahl-Maschineneinheit eingespeist wird, konstruiert.
  • 5 zeigt in Form von Pseudo-Code die logische Struktur der chaotischen Byte-Encodereinheit, die chaotische ganzzahlige Polynomzahlen aus einem Byte-Strom unter Gebrauch der Byte-Packereinheit und der Chaosgeneratoreinheit konstruiert.
  • 6 zeigt in Form von Pseudo-Code die logische Struktur der chaotischen String-Encodereinheit, die chaotische ganzzahlige Polynomzahlen aus einer Zeichenfolge unter Gebrauch der chaotischen Byte-Encodereinheit konstruiert.
  • 7 zeigt das Konzept zur Erzeugung einer öffentlichen Schlüssel-ID aus einem privaten Schlüssel unter Gebrauch der chaotischen String-Encodereinheit.
  • 8 zeigt in Form von Pseudo-Code die logische Struktur der "chaotischen Encryptor und Signierer"-Einheit (CHAES-Einheit), die einen Dokumentkopf erzeugt, die Dokumentdaten verschlüsselt, und den Dokumentkopf und die verschlüsselten Dokumentdaten signiert unter Gebrauch der Ganzzahl-Maschineneinheit, der chaotischen String-Encodereinheit und der Chaosgeneratoreinheit.
  • 9a ist ein Diagramm, das die prozentuale Verteilung der Zeichen eines Testtextes vor der Verschlüsselung mit der CHAES-Einheit zeigt, der 262.144 mal das Zeichen'a' enthält.
  • 9b ist ein Diagramm, das das FFT-Spektrum der periodischen Signale des Testtextes aus 9a zeigt.
  • 10a ist ein Diagramm, das die prozentuale Verteilung der Zeichen des Testtextes aus 9a nach der Verschlüsselung mit der CHAES-Einheit zeigt.
  • 10b ist ein Diagramm, das das FFT-Spektrum der periodischen Signale des Testtextes aus 10a zeigt.
  • 10c ist ein Diagramm, das die Rauschenergiedichte des FFT-Spektrums aus 10b zeigt.
  • 11a ist ein Diagramm, das die prozentuale Verteilung der Zeichen eines Testtextes vor der Verschlüsselung mit der CHAES-Einheit zeigt, der 262.144 Zeichen enthält, die aus einer Sinusschwingung um das Zeichen 'Z' mit einer Periode von 1024 Zeichen und einer Amplitude von 32 ASCII-Tabellennummern gebildet wurden.
  • 11b ist ein Diagramm, das das FFT-Spektrum der periodischen Signale des Testtextes aus 11a zeigt.
  • 12a ist ein Diagramm, das die prozentuale Verteilung der Zeichen des Testtextes aus 11a nach der Verschlüsselung mit der CHAES-Einheit zeigt.
  • 12b ist ein Diagramm, das das FFT-Spektrum der periodischen Signale des Testtextes aus 12a zeigt.
  • 12c ist ein Diagramm, das die Rauschenergiedichte des FFT-Spektrums aus 12b zeigt.
  • 13 zeigt in Form von Pseudo-Code die logische Struktur der Schlüsselpaarsammlung-Providereinheit, welche die privaten Schlüssel anhand der öffentlichen Schlüssel-ID ausliefert, indem sie die öffentlichen Schlüssel-IDs vergleicht und mit Hilfe der chaotischen String-Encodereinheit den Vergleich entsprechend bestätigt.
  • 14 zeigt in Form von Pseudo-Code die logische Struktur der Initialschlüssel-Providereinheit, die einen initialen Schlüssel anhand des Dokumentenkopftextes und der Signatur unter Gebrauch der Schlüsselpaarsammlung-Providereinheit und der chaotischen String-Encodereinheit erzeugt.
  • 15 zeigt in Form von Pseudo-Code die "chaotische Entschlüsselung und Verifizierung"-Einheit (CHADV), die eine Prüfnachricht und die entschlüsselten Daten aus einem Dokument, das mit der CHAES-Einheit verschlüsselt wurde, zurückliefert unter Gebrauch der Ganzzahl-Maschineneinheit, der Initialschlüssel-Providereinheit und der Chaosgenerator-Einheit.
  • 16 zeigt den Verbindungsunterbrecher in Form einer Liste der einzelnen Aktionen der Client- und/oder Servermaschinen zum Beenden einer Verbindung über einen Client-Server-Übertragungkanal.
  • 17a, b, c, d, e, f zeigen in fortlaufender Reihenfolge und in Form von Pseudo-Code die Operationsabfolge einer möglichen Systemimplementierung für die sichere Authentifizierung und verschlüsselte und signierte Datenübertragung über einen unsicheren Übertragungskanal unter Gebrauch all der oben beschriebenen Maschinen und Einheiten der Erfindung und einer 6-stufigen Anwendungs- und Maschinenimplementierung.
  • Spezielle Ausprägungen der Erfindung sind beispielhaft in den Abbbildungen gezeigt worden und werden im Detail beschrieben, wobei die Erfindung generell zugänglich ist für verschiedenartige Modifikationen und Formen. Dies sollte jedoch so verstanden werden, dass keine Absicht besteht, die Erfindung auf die beschriebenen speziellen Ausführungen zu beschränken. Im Gegenteil besteht die Absicht darin, alle möglichen Modifikationen, Entsprechungen und Alternativen abzudecken, die in den Rahmen und Sinn der angefügten Patentansprüche fallen.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • 1. Definitionen
  • Der Begriff "Ganzzahl" wie hier benutzt bezieht sich auf eine Zahl aus der mathematischen Menge der Natürlichen Zahlen.
  • Der Begriff "Gleitkommazahl" wie hier benutzt bezieht sich auf die maschineninterne Darstellung gebrochen rationaler Zahlen mit einem Dezimalpunkt und einem Exponenten. Die Anzahl der Stellen hinter dem Dezimalpunkt ist aufgrund der benötigten Stellen vor dem Dezimalpunkt und der festen Anzahl der Gesamtstellen für alle Ziffern variabel.
  • Der Begriff "Polynomzahl" wie hier benutzt bezieht sich auf die Darstellung von Zahlen mittels Polynomen. Zum Beispiel ist die Zahl 1234567890 mit folgenden Polynomen darstellbar: a) Polynombasis sei 1.000: 1 × 109 + 234 × 106 + 567 × 103 + 890 × 100. b) Polynombsis sei 1.000.000: 1234 × 106 + 567890 × 100.
  • Der Begriff "ganzzahlige Polynomzah1" wie hier benutzt bezieht sich auf die Darstellung von Zahlen aus der mathematischen Menge der natürlichen Zahlen in deren Darstellung als Polynomzahl.
  • Die Begriffe "Integer" und "Integer-Zahl" und "Integerzahl" wie hier im Kontext digitaler Zahlen benutzt bezieht sich auf die maschineninterne Darstellung einer Ganzzahl in Form von Bits.
  • Die Begriffe "Zeichenkette" und "String" wie hier benutzt beziehen sich auf eine Sequenz (Aufeinanderfolge) beliebiger Länge von digital kodierbaren Zeichen.
  • Der Begriff "Pseudo-Zufallszahlengenerator" wie hier benutzt bezieht sich auf jedweden mathematischen Algorithmus, der in der Lage ist, iterativ eine Folge Zahlen so zu erzeugen, dass diese erzeugte Zahlenabfolge mit sehr hoher Wahrscheinlichkeit keine periodischen Signale oder Wiederholungen von Untermengen enthält, weder im Gesamten noch in Teilbereichen, und weder in seiner ursprünglichen Form noch in Form irgendwelcher Permutationen.
  • Der Begriff "Chaosgenerator" wie hier benutzt bezieht sich auf einen Pseudo-Zufallszahlengenerator mit einem mathematischen Algorithmus, der auf auf einer Chaos-Funktion, wie z.B. der Zeltfunktion oder der Logistische Gleichung oder einem anderen der Chaostheorie bekannten Algorithmus, beruht.
  • Der Begriff "Einheit" wie hier benutzt bezieht sich auf eine Person, ein Unternehmen, eine Organisation, oder auf eine Maschine. Wenn die Einheit im Sinne einer Maschineneinheit ("Device") zu verstehen ist, dann kann diese Einheit aus Hardware und/oder Software bestehen.
  • Der Begriff "Plaintext" wie hier benutzt bezieht sich auf jedwede Art digital Daten in deren ursprünglicher Kodierung und Formatierung.
  • Der Begriff "Ciphertext" wie hier benutzt bezieht sich auf jedwede Art digitaler Daten, die nach Anwendung einer Verschlüsselungsmethode auf die Plaintext-Daten aus diesen Plaintext-Daten entstehen.
  • Die Begriffe "Kryptographieverfahren" und "kryptographisches Verfahren" und "Verschlüsselungsverfahren" und "Kryptographiemethode" und "kryptographische Methode" und "Verschlüsselungsmethode" wie hier benutzt beziehen sich auf jedwede Methode, die Plaintext-Daten in Ciphertext-Daten umwandelt, wobei eine geheime Information dergestalt in den Umwandlungsalgorithmus mit einfließt, dass es nur für diejenige Einheit, welche die geheime Information kennt, möglich ist, aus den Ciphertext-Daten die Plaintext-Daten zu rekonstruieren, und dass es für alle anderen Einheiten, die diese geheime Information nicht kennen, unmöglich ist, aus den Ciphertext-Daten die Plaintext-Daten zu rekonstruieren oder irgendwelche Informationen über den Inhalt oder die Struktur der Plaintext-Daten aus den Ciphertext-Daten abzuleiten.
  • Die Begriffe "Verschlüsselung" und "verschlüsseln" wie hier benutzt beziehen sich auf eine Umwandlung von Plaintext-Daten in Ciphertext-Daten mit Hilfe eines Verschlüsselungsverfahrens.
  • Die Begriffe "Entschlüsselung" und "entschlüsseln" wie hier benutzt beziehen sich auf eine Rückumwandlung von Ciphertext-Daten in Plaintext-Daten mit Hilfe eines Verschlüsselungsverfahrens.
  • Die Begriffe "Encryptor" und "Encoder" und "Kodierer" und "Chiffrierer" wie hier benutzt beziehen sich auf eine Maschineneinheit, die eine digitale Information auf irgeneine Art und Weise auf eine andere Form abbilden, umwandeln, maskieren, oder verstecken ohne jedoch den einzigartigen originalen Informationsgehalt zu zerstören.
  • Die Begriffe "Decryptor" und "Decoder" und "Dekodierer" und "Dechiffrierer" wie hier benutzt beziehen sich auf eine Maschineneinheit, die eine digitale Information, die mit einem Encoder umgewandelt wurde, auf irgeneine Art und Weise wieder auf die ursprüngliche originäre Form abbilden oder umwandeln.
  • Die Begriffe "XOR" und "XORen" wie hier benutzt beziehen sich auf ein Bitweise Anwendung des mathematischen Exklusiv-ODER-Operators auf zwei Bytes oder zwei Byte-Folgen. Das mathematische Symbol dieses Operators ist: ⊕. Die Ergebnisse der Anwendung des XOR-Operators auf zwei Bits in allen möglichen Permutationen ist in der folgenden Tabelle dargestellt
    Figure 00170001
    wobei der Wert 0 ein angesetztes Bit und der Wert 1 ein gesetztes Bit kennzeichnet.
  • Der Begriff "Wort" wie hier im Kontext digitaler Zahlen benutzt bezieht sich auf eine maschineninterne Speichereinheit, die von einer Machine benötigt wird, um intern eine Ganzzahl (= Integer-Zahl) darzustellen. Zum Beispiel besitzt eine 64-Bit-Maschine eine Wortlänge von 64 Bits = 8 Bytes.
  • Die Begriffe "Dokument" und "digitales Dokument" und "elektronisches Dokument" wie hier benutzt beziehen sich auf jedwede Art digitaler Daten und Datensequenzen beliebiger Länge und beliebigen Inhalts.
  • Die Begriffe "Dokumentkopf" und "Kopf" wie hier benutzt beziehen sich auf jede Art digitaler Daten, die Informationen oder Meta-Informationen über ein Dokument und dessen Hersteller beinhalten.
  • Der Begriff "Meta-Information" wie hier benutzt bezieht sich auf Informationen, welche eher die Struktur, Kodierung und Formatierung von Dokumenten und deren Gebrauch beschreiben als den Dokumentinhalt selbst.
  • Die Begriffe "Zeitstempel" und "Zeitmarke" wie hier benutzt beziehen sich auf jedwede Größe, die einzigartig ist bezüglich einer riesigen Sammlung von Zeitstempeln. Mit anderen Worten, ein Zeitstempel muss eine einzigartige Größe darstellen. Ein Zeitstempel ist zum Beispiel das aktuelle Datum plus der aktuellen Uhrzeit einer jeden Aktion, die durchgeführt wird und solch einen Zeitstempel erfordert. Ein Zeitstempel kann auch eine andere Information beinhalten, wie zum Beispiel eine zeitabhängige Zufallszahl oder Pseudo-Zufallszahl, bei deren Erzeugung ein Datums-Uhrzeit-Wert als Intialisierungswert gewählt wird, solange der daraus resultierende Zeitstempel auf der Zeitachse einzigartig ist.
  • Die Begiffe "privater Schlüssel" und "geheimer Schlüssel" und "privater geheimer Schlüssel" und "Verschlüsselungsschlüssel" und "Kryptographieschlüssel" wie hier benutzt beziehen sich auf eine Einheits-spezifische, persönliche und geheime Information, die aus einem Passwort oder einem Pass-Satz, der aus mehreren Wörtern besteht, oder aus einer beliebigen Bitfolge beliebigen Inhalts und beliebiger Länge bestehen kann.
  • Der Begriff "öffentliche Schlüssel-ID" wie hier benutzt bezieht sich auf eine Information beliebiger Art, die es ermöglicht, einen bestimmten privaten Schlüssel vom Besitzer dieses privaten Schlüssels auszuwählen, um dann den privaten Schlüssel für die Ver- und Entschlüsselung von Dokumenten mittels eines Kryptographieverfahrens zu benutzen. Im Allgemeinen kann die öffentliche Schlüssel-ID mit einer beliebigen Methode erzeugt werden, solange die einschränkende Bedingung erfüllt ist, dass die öffentliche Schlüssel-ID einzigartig ist bezüglich einer Sammlung von Paaren von privaten Schlüsseln und öffentlichen Schlüssel-IDs, und dass die öffentliche Schlüssel-ID keinerlei Rückschlüsse auf den Inhalt oder die Struktur eines privaten Schlüssels durch Einheiten, die nicht im Besitz dieses privaten Schlüssels sind, ermöglicht. Im speziellen kann die öffentliche Schlüssel-ID eine ganzzahlige Polynom-Zahl sein, die aus einem privaten Schlüssel mit dem Chaosgenerator dieser Erfindung hergestellt wurde. Dies ist jedoch nur ein Spezialfall für die bevorzugte Ausführung der Erfindung.
  • Der Begriff "Client" wie hier benutzt bezieht sich auf eine Einheit, die eine Kommunikationseinheit besitzt, die es ermöglicht, elektronische Informationen mit anderen Kommunikationseinheiten auszutauschen, Informationen zu speichern und Rechnungen wie in den Patentansprüchen formuliert durchzuführen, und die einen Zugriff auf spezielle Informationen oder Serviceleistungen wünscht, die von einer anderen Einheit mit einem entsprechenden Service zur Verfügung gestellt werden (vom "Server"). Der Client muss sich beim Server authentifizieren, bevor er Zugriff auf die gewünschten Informationen oder Serviceleistungen erhält..
  • Der Begriff "Server" wie hier benutzt bezieht sich auf eine Einheit, die eine Kommunikationseinheit besitzt, die es ermöglicht, elektronische Informationen mit anderen Kommunikationseinheiten auszutauschen, Informationen zu speichern und Rechnungen wie in den Patentansprüchen formuliert durchzuführen, und die im Besitz von Informationen oder Serviceleistungen ist und diese bestimmten Clients zur Verfügung stellt. Der Server identifiziert den Client vor der Herausgabe der Information oder Serviceleistung.
  • Die Begriffe "Service" und "Serviceleistung" wie hier benutzt beziehen sich auf Daten, Informationen und Netzwerkzugriffe (Internet und Intranet) jeglicher Art, die von einem Server für bestimmte Clients zur Verfügung gestellt werden.
  • Der Begriff "Maschine" wie hier benutzt bezieht sich auf jede Einheit, die in der Lage ist, mathematische Berechnungen auszuführen, digitale Informationen zu speichern, und Verbindung zu anderen Maschinen in beliebiger Weise (z.B. leitungsgebunden, leitungslos, optisch, akustisch oder elektromagnetisch) herzustellen, wenn elektronische Dokumente übertragen werden sollen.
  • Der Begriff "Provider" wie hier benutzt bezieht sich auf eine Maschineneinheit, die bestimmte Informationen, Speicherungen und/oder Serviceleistungen zur Verfügung stellt. Dies kann zum Beispiel eine Datenbank oder ein Netztwerkserver allgemeiner Art sein.
  • Der Begriff "Übertragungskanal" wie hier benutzt bezieht sich auf eine physikalische Verbindung zwischen zwei Maschinen, die in der Lage sind, elektronische Dokumente von einer Maschine auf die andere Maschine zu übertragen. Die pysikalische Verbindung kann dabei leitungsgebunden, leitungslos, optisch, akustisch oder elektromagnetisch hergestellt sein. Im speziellen bezieht sich der Begriff auf das Internet, kabelgebundene Telefonleitungen, kabellose Telefonleitungen, kabelgebundene Datenleitungen und kabellose Datenleitungen, wobei kabelgebundene Leitungen isolierte und nicht-isolierte metallische Stromleiter und Glasfasern sein können, und kabellose Leitungen über elektromagnetische, optische, und akustische Wellen jeder beliebigen und möglichen Wellenlänge sein können.
  • Der Begriff "unsicherer Übertragungskanal" wie hier benutzt bezieht sich auf einen Übertragungskanal, der nicht vor einem unauthorisierten Zugriff durch unauthorisierte Einheiten geschützt ist (wie zum Beispiel das Internet).
  • Der Begriff "Übertragungsprotokoll" wie hier benutzt bezieht sich auf jede ASrt von Meta-Information, die von der informationsabsendenden Maschine an die informationsempfangende Maschine gesendet wird, um die generelle Struktur der nachfolgenden elektronischen Daten zu definieren und zu erklären (zum Beispiel TCP/IP).
  • Der Begriff "Software" wie hier benutzt bezieht sich auf jedweden digitalen Code in jeglicher Form, der nach dem digitalen Laden und der digitalen Speicherung auf einer Maschine in der Lage ist, auf dieser Maschine bestimmte Aufgaben digitaler Natur auszuführen.
  • Der Begriff "Hardware" wie hier benutzt bezieht sich auf jedwede technische Einheit, die mit beliebigen technischen Methoden hergestellt wurde, und die nach dem Einbau oder der Implemtierung in eine Maschine in der Lage ist, bestimmte Aufgaben auf oder in dieser Maschine auszuführen, und die programmierbar oder auch nicht programmierbar sein kann. Im Speziellen kann dies ein integrierter Schaltkreis (Integrated circuit, IC), jede Art von Chip, jede Art von Smartcard, jedwede andere Maschine, oder jedwede Art von Speichereinheit oder Recheneinheit sein.
  • Es ist zu verdeutlichen, dass Singularformen wie "ein", "eine", "einer", "der", "die", "das" und wie hier im gesamten Patenttext und den Patentansprüchen benutzt so zu verstehen sind, dass sie die Pluralform mit einschließen solange dies nicht explizit anders erwähnt ist.
  • Ebenso ist zu verdeutlichen, dass die maskuline Form einiger Sprachelemente ebenso wie die feminine Form nur aufgrund von Sprachkonventionen oder aus Unachtsamkeit so erscheinen und keine Festlegung darstellen, ob es sich in einem personifizierten Kontext um eine männliche oder weibliche natürliche Person handelt, außer dies wird explizit so erwähnt.
  • 2. Einführung
  • Die folgende Beschreibung der bevorzugten Ausführung beschränkt nicht die generelle Anwendbarkeit der Erfindung, sondern ist als Beispiel zu verstehen, um die Mächtigkeit, die Leistungsfähigkeit und das Potenzial der Erfindung zu veranschaulichen.
  • Im Allgemeinen wird hier ein Kryptographieverfahren und -System offengelegt, das beinhaltet, dass ein Dokument sequentiell in mindestens einen Block von Datenbytes, BD, zerlegt wird. Jeder Block von Datenbytes wird kombiniert mit den Bytes, BK, eines privaten Kryptograpieschlüssels, PK, mit der Kombinationsfunktion F=f(BD, BK) in solch einer Weise, dass die Anwendung dieser Kombinationsfunktion die verschlüsselten Cipherbytes, BC=F(BD, BK), liefern. Wesentlich für die Erfindung ist, dass die besagten Kryptograpieschlüssel, PK, ganzzahlige Polynomzahlen sind. Diese ganzzahligen Polynomzahlen werden von einem Pseudo-Zufallszahlengenerator erzeugt, und die Kombinationsfunktion F muss die Bedingung BD=F(F(BD, BK), BK) erfüllen. Diese Kombinationsfunktion kann, zum Beispiel, aus der bitweisen Anwendung des Exclusiv-ODER-Operators (XOR-Operator) auf die BD und entsprechenden BK in der Weise bestehen, dass die resultierenden Cipherbytes gegeben sind durch BC = F(BD, BK) = (BD⊕BK) wobei ⊕ das Symbol für den XOR-Operator darstellt.
  • Im Speziellen, in der bevorzugten Ausführung, wird jeder Block von Datenbytes (BD)j, j={1, ..., J}, verschlüsselt mit den Bytes, (BK)j-1, des Kryptographieschlüssels, (PK)j-1, der wiederum aus dem Prozessdurchlauf des Chaosgenerators für den vorhergehenden Block von Datenbytes gewonnen wurde, und mit der Kombinationsfunktion F dann den Block von Cipherbytes, (BC)j, liefert. Der Block von Datenbytes, (BD)j, wird in eine ganzzahlige Polynomzahl mit einer Byte-Packerfunktion G=f(BD) gepackt, und ergibt somit eine bytegepackte ganzzahlige Polynomzahl, (Pbp)j=G((BD)j). Die Byte-Packerfunktion G erzeugt eine ganzzahlige Polynomzahl dergestalt, dass die Datenbyte-Werte so in eine ganzzahlige Polynomzahl transformiert und angeordnet werden, wie es bezüglich des Zahlensystems, das benutzt werden soll, und bezüglich der gewünschten Länge der ganzzahligen Polynomzahl geeignet erscheint. Der Startwert für die Logistische Gleichung, die ganzzahlige Polynomzahl Po, wird gewonnen, indem eine weitere Kombinationsfunktion H=f(PK, Pbp) auf (PK)j and (Pbp)j so angewandt wird, dass (P0)j=H((PK)j, (Pbp)j). Dann wird die Logistische Gleichung mit einer bestimmten Anzahl von Iterationsschritten und einem bestimmten Bifurkationsfaktor r durchlaufen und liefert so eine ganzzahlige Polynomzahl, welche als Kryptographieschlüssel, (PK)j, für die Verschlüsselung des nächsten Blocks von Datenbytes, (BD)j+1, benutzt wird. Diese Prozedur wird solange wiederholt, bis alle Blocks, J, der Datenbytes verschlüsselt sind. Die Entschlüsselung wird entsprechend durchgeführt, indem jeder Block von Cipherbytes, (BC)j, j={1, 2, ..., J}, mit den Bytes, (BK)j-1, des Kryptographieschlüssels, (PK)j-1, der wiederum aus dem Prozessdurchlauf des Chaosgenerators für den vorhergehenden Block von Datenbytes gewonnen wurde, und mit der Kombinationsfunktion F entschlüsselt wird, und somit der Block von Datenbytes, (BD)j, gewonnen wird. Der Block von Datenbytes, (BD)j, wird dann mit derselben Byte-Packerfunktion G=f(BD), wie sie für die Verschlüsselung benutzt wurde, in eine ganzzahlige Polynomzahl gepackt, woraus dann wieder eine bytegepackte ganzzahlige Polynomzahl, (Pbp)j=G((BD)j), resultiert. Der Startwert für die Logistische Gleichung, die ganzzahlige Polynomzahl P0, wird dann gewonnen durch die Anwendung derselben Kombinationsfunktion H=f(PK, Pbp), wie sie für die Verschlüsselung benutzt wurde, auf (PK)j und (Pbp)j so dass (P0)j=H((PK)j, (Pbp)j). Dann wird die Logistische Gleichung mit derselben Anzahl von Iterationsschritten und mit demselben Bifurkationsfaktor r, wie sie für die Verschlüsselung benutzt wurden, durchlaufen und somit die ganzzahlige Polynomzahl erhalten, die dann wiederum der Kryptographieschlüssel, (PK)j, ist für die Entschlüsselung des nächsten Blocks von Cipherdaten, (BC)j+1. Diese Prozedur wird solange wiederholt, bis alle Blocks, J, von Cipherbytes entschlüsselt sind. Der allererste Initialschlüssel, (PK)0, für die Verschlüsselung und Entschlüsselung wird gewonnen aus dem geheimen privaten Schlüssel, PK, und aus weiteren anderen Informationen, OI, indem die Inhalte von PK und OI in eine neue Information, NI, zusmmengemischt werden und wobei die Bytes von NI mit dem Chaosgenerator bearbeitet werden, und wobei dann die resultierende ganzzahlige Polynomzahl als erster Initalschlüssel, (PK)0, benutzt wird. Um den Chaosgenerator das allererste mal mit einem Starwert, Po, zu starten, wird Po dadurch gewonnen, dass in irgendeiner beliebigen Weise alle Bytes oder eine bestimmte Untermenge der Bytes von NI in eine ganzzahlige Polynomzahl gepackt werden. Die allerletzte Iteration der Logistischen Gleichung für den allerletzten Block von Datenbytes liefert eine allerletzten Kryptographieschlüssel, (PK)J, welcher eine ganzzahlige Polynomzahl ist und als elektronische Signatur des Dokuments benutzt wird, und welche beim Entschlüsseln entsprechend geprüft werden kann.
  • In der bevorzugten Ausführung wird die Authentifizierung einer sendenden Einheit durch eine empfangende Einheit folgendermaßen durchgeführt: Eine öffentliche Schlüssel-ID wird von der sendenden Einheit and die empfangende Einheit gesendet. Die empfangende Einheit ermittelt mittels der öffentlichen Schlüssel-ID den entsprechenden privaten Schlüssel, der dann für die weitere verschlüsselte Kommunikation benutzt wird. Die empfangende Einheit erzeugt einen Zeitstempel, mischt den Zeitstempel und den privaten Schlüssel zu einer neuen Information, NI, zusammen, bearbeitet dann NI mit dem Chaosgenerator und erhält dann daraus einen Prüfwert, CV. Dann übermittelt die empfangende Einheit den Zeitstempel an die sendende Einheit. Die sendende Einheit erzeugt nun einen Testwert, PV, indem sie den erhaltenen Zeitstempel zusammen mit dem privaten Schlüssel in derselben Weise bearbeitet wie es die empfangende Einheit zum Erzeugen von CV getan hat, und schickt diesen Testwert, PV, an die empfangende Einheit. Die empfangende Einheit vergleicht nun den Testwert PV mit dem selbst erzeugten Prüfwert CV und kann nun anhand des Vergleichsergebnisses entscheiden ob die sendende Einheit auch diejenige Einheit ist, die sie zu sein vorgibt: Liefert der Vergleich, dass CV nicht gleich PV ist, dann ist die sendende Einheit nicht diejenige, die sie zu sein vorgibt, und die Verbindung wird beendet; ansonsten wird die Verbindung für den weiteren verschlüsselten Datenverkehr aufrecht erhalten.
  • Die bevorzugte Ausführung konzentriert sich auf das Dezimalzahlen-System. Dies geschieht jedoch nur aus Gründen der Anschaulichkeit und soll in keiner Weise die generelle Anwendbarkeit der Erfindung und ihrer Patentansprüche auf jedwedes Zahlensystem einschränken.
  • Die bevorzugte Ausführung konzentriert sich auf eine öffentliche Schlüssel-ID-Form, die mit Hilfe des Chaosgenerators dieser Erfindung aus dem privaten Schlüssel erzeugt wird. Dies soll jedoch nicht die generelle Anwendbarkeit dieser Erfindung und ihrer Patentansprüche auf jede andere beliebige öffentliche Schlüssel-ID-Form einschränken.
  • Die bevorzugte Ausführung konzentriert sich auf Übertragungen und Transaktionen über Netzwerke wie dem Internet und Intranet, ohne dabei die generelle Anwendbarkeit der Erfindung und ihrer Patentansprüche einzuschränken. Nur aus Gründen der Anschaulichkeit beschreibt die bevorzugte Ausführung beispielhaft ein Client-Server-System mit dem HTTP-Protokoll von TCP/IP-Verbindungen, ohne dabei die generelle Anwendbarkeit der Erfindung und ihrer Patentansprüche einzuschränken.
  • Die bevorzuge Ausführung beschreibt eine Systemimplementierung der Maschineneinheiten der Erfindung teilweise in Form kodierter Software, die auf den Maschineneinheiten ausführbar ist. Dies geschieht nur aus Veranschaulichungsgründen und es wird explizit betont, dass alle Einheiten dieser Erfindung sowohl in Form von Hardware als auch in Form von Software für eine Implementierung hergestellt werden können und dass die Patentansprüche von der bevorzugten Ausführung nicht betroffen sind.
  • 3. Die Ganzzahl-Maschine 11 in 1
  • Auf einer 32-Bit Machine werden 4 Bytes, mit jeweils 8 Bit Länge, verwendet, um intern eine Integerzahl (Ganzzahl) darzustellen. Diese 32 Bits erlauben vorzeichenbehaftete (ein Bit für das Vorzeichen) Integerzahlen bis zu einer Größe von 231-1 = 2,147,483,647. Generell konstruiert die Ganzzahl-Maschine Integerzahlen als Polynome der Form
    Figure 00240001
    welche als Felder von Integerzahlen der Feldlänge m in der Little-Endian-Kodierung (das heißt, dass die niedrigste Adresse den kleinsten Wert enthält) gespeichert werden, und wobei A die Basis des Zahlensystems ist, i die Anzahl der Bits, die für eine vorzeichenbehaftete Integerzahl von der implementierenden Maschine zur Verfügung gestellt werden, und wobei jedes Feldelement ak, das heißt jedes Wort, eine positiv definierte Integerzahl ist, die den maximalen Wert von Ab-1 annehmen kann, und wobei sign das Vorzeichen der ganzzahligen Polynomzahl P bezeichnet. Der größte Wortexponent ist in seiner Größe limitiert auf 2i-2 anstatt auf den möglichen Wert 21-1, dies aufgrund interner arithmetischer Notwendigkeiten. Der Wert b ist abhängig vom Zahlensystem, das benutzt werden soll, und abhängig von der implementierenden Maschine, um eine interne Integer-Multiplikation innerhalb des Integerzahlenraums zu gewährleisten. Wenn die implementierende Maschine eine Integerzahl-Adressierung nur bis 32 Bit Länge erlaubt, dann muss b=4 für das dezimale Zahlensystem (A=10) gewählt werden. In der bevorzugten Ausführung erlaubt die implementierende Maschine eine Integerzahl-Adressierung bis zu 64 Bit Länge in Form so genannter "Long"-Zahlentypen. Somit wird, ohne die Patentansprüche dieser Erfindung einzuschränken, in der bevorzugten Ausführung und auch aus Gründen der Veranschaulichung gesetzt i = 64 A = 10 b = 9 (4)
  • Das bedeutet, dass die Obergrenze der Werte für jedes Wort ak der Zahlenwert 999.999.999 ist (im hexadezimalen Zahlensystem A=16, zum Beispiel, würde dies b=8 ergeben und somit eine Obergrenze für jedes Wort ak von 168–1 = 4.294.967.295). Es soll ausdrücklick erwähnt werden, dass die hier beschriebene Polynomform nicht identisch ist mit einer allgemeinhin benutzten Kodierung mit der Zahlenbasis 2, wie sie zum Beispiel in Form einer Big-Endian-Kodierung in der Java-Klasse BigInteger der Java 2 Platform API von Sun Microsystems Inc. realisiert ist. Alle arithmetischen Operationen, die für die Integer-Operationen im Chaosgenerator benötigt werden, sind in die Ganzzahl-Maschine implementiert, die ebenso eine Ausgabe einer ganzzahligen Polynomzahl als natürliche Zahl in Form einer Zeichenkette ermöglicht.
  • Der größte Ganzzahlwert, der in der bevorzugten Ausführung mit den oben beschriebenen ganzzahligen Polynomzahlen berechnet werden kann, ist theoretisch Pmax = sign·((109)1,073,741,824 –1) = sign·(109,663,676,416 – 1); sign ε {+1, –1} (5)
  • In der Praxis wird dies durch den adressierbaren Maschinen-Rechenspeicher eingeschränkt, was jedoch kein Problem darstellt. Zum Beispiel sollen für eine ganzzahlige Polynomzahl P 100.000 Bytes, das sind 100 KB und stellen für jede Rechenmaschine heutzutage kein Problem dar, adressiert werden. Da eine interne Integerzahl auf einer 32-Bit Maschine 4 Bytes benötigt, ergibt dies einen maschinenbegrenzten Maximalwert für P von Pmax lim = sign·(109·25,000 –1) = sign·(10225,000 – 1); sign ε {+1, –1} (6) Dies ist in der Tat immer noch eine riesige Zahl und solch riesige Zahlen werden in der Praxis nicht benötigt.
  • Es ist somit offensichtlich, dass der adressierbare Rechenspeicher von geringer Bedeutung ist bezüglich einer Obergrenze für die ganzzahligen Polynomzahlen. Eine weit restriktivere Größe ist die Kapazität der implementierenden Maschine bezüglich einer schnellen Ausführung der polynom-arithmetischen Operationen. Zum Beispiel muss die Maschine 1.000.000 (im schlechtesten Fall) interne Integerzahl-Multiplikationen durchführen, um zwei ganzzahlige Polynomzahlen mit jeweils einer Feldlänge von 1.000 zu multiplizieren. Doch auch dies ist kein Grund zur Besorgnis. Wie bereits oben erwähnt wurde, übersteigt ein Lösungsraum von 1090 bereits die Anzahl der im Universum vorhandenen Atome. Tatsächlich genügt ein Lösungsraum von 1045 bereits bei weitem. In diesem Lösungsraum werden – unter Berücksichtigung der Gleichung (4) – nur 25 interne Integerzahl-Multiplikationen benötigt um zwei ganzzahlige Polynomzahlen mit jeweils einer Feldlänge von 5 Worten miteinander zu multiplizieren.
  • Die geforderte Plattformunabhängigkeit der Ganzzahl-Maschine ist offensichtlich. Es sei zum Beispiel die Zeichenfolge der Zahl N = 65.095.880.309.854.981 betrachtet, welche die Ganzzahl-Maschine benutzt, um die entprechende ganzzahlige Polynomzahl P(N) zu erzeugen. Mit A=10 und der Annahme, dass für drei verschiedene Maschinen jeweils b = 4, b = 5, und b = 9 zu setzen ist, dann ist P(N) jeweils definiert als:
    mit b = 4: P(N) = 6 × 1016 + 5.095 × 1012 + 8.803 × 108 + 985 × 104 + 4.981 × 100
    mit b = 5: P(N) = 65 × 1015 + 9.588 × 1010 + 3.098 105 + 54.981 × 100
    mit b = 9: P(N) = 65.095.880 × 109 + 309.854.981 × 100
  • Obwohl also b für unterschiedliche Maschinen verschieden sein kann, bezeichnen dennoch alle drei Varianten von P(N) exakt denselben Zahlenwert. Und da die arithmetischen Integer-Operationen für die ganzzahlige Polynomzahlen-Arithmetik auf allen Rechenmaschinen identisch sind, und ferner der Austausch ganzzahliger Polynomzahlen P zwischen allen Maschinen durch deren String-Darstellung erfolgt, liefert die Ganzzahl-Maschine in jeder implementierenden Maschine identische Ergebnisse für identische Operationen. Um den Aufwand für die Polynomzahl-Arithmetik zu minimieren, sollte der Wert b so hoch wie möglich gewählt werden.
  • 4. Der Chaosgenerator 41 in 4
  • Der Chaosgenerator basiert auf der Logistischen Gleichung wie in Gleichung (1) definiert. Wird der Faktor r variabel benutzt, wie es zum Beispiel der Fall sein würde wenn r den privaten Schlüssel darstellt, so ist dies ein Problem bezüglich des möglichen Auftretens von hochfrequenten n-Zyklus-Attraktoren, wie dies zum Beispiel der Fall ist wenn r einen Wert innerhalb des Intervalls 3.829 < r < 3.842 annimmt. Wird r jedoch für alle Berechnungen konstant gehalten, so kann zum Beispiel mit Hilfe des Lyapunov-Exponenten λ, der für die Logistische Gleichung die Form
    Figure 00270001
    annimmt und anzeigt ob dieser Wert von r einen hochfrequenten n-Zyklus-Attraktor produziert oder nicht, r geprüft werden und diese Prüfung muss für jeden Wert von r nur ein einziges Mal durchgeführt werden. Des Weiteren stellt aufgrund des riesigen Lösungsraums, den die Ganzzahl-Maschine zur Verfügung stellt, ein konstanter Wert von r keine Einschränkung mehr dar bezüglich der Gewährleistung eines zeitlich und räumlich einzigartigen Ergebnisses für jede Chaosgenerator-Aktivierung. Des Weiteren gilt, dass je dichter r sich dem Wert 4 annähert, desto chaotischer verhält sich das System. Somit garantiert ein Wert von r in der dichten Nähe vom Wert 4 auch eine maximale chaotische Divergenz im Lösungsraum für jede Chaosgenerator-Aktivierung. Der Wert r = 4 selbst wird vermieden um zu gewährleisten, dass das System nicht aufgrund eines Rundungsfehlers den Lösungsraum verlässt. Ein solch optimaler Wert für r ist r = 3,99 + ε; ε ∊ {–0,005, + 0,005} (8)und wird in der bevorzugten Ausführung benutzt, ohne die Patentansprüche der Erfindung einzuschränken. Die Variable ε in Gleichung (8) erlaubt eine gewisse dynamische Fluktuation von r um den konstanten Optimalwert. Betrachtet man Gleichung (1) etwas genauer, so ist offensichtlich, dass die Intervallgrenzen mit den Werten 0 und 1 "verbotene" Werte für einen Startwert x0 sind. Der Wert x0 = 1 läuft sofort in den Attraktor x0 = 0. Ebenso "verboten" als Startwerte sind alle Werte der weiteren n-Zyklus-Attraktoren des Systems. Diese Attraktoren sind durch all die Polynome Xn = r·xn+m(1 – xn+m) ∀ n, m ∊ {0, 1, ..., ∞} (9)definiert. Dies ergibt mit m = 0 und nach der Elimierung der Lösung x = 0, dass die Lösung
    Figure 00270002
    auch ein Attraktor und als Startwert x0 "verboten" ist.
  • Mit m = 1 ergibt Gleichung (9) – nach Eliminierung des Attraktors x = 0 – ein Polynom 3. Grades r3x3 – 2r3x2 + (r3 + r2) x – r2 + 1 = 0 (11)
  • Nach der weiteren Eliminierung des Attraktors aus Gleichung (10) durch Polynomdivision, liefert Gleichung (11) ein Polynom 2. Grades mit r2x2 – (r2 + r) x + r + 1 = 0 (12)mit zwei weiteren Attraktoren, die gegeben sind durch
    Figure 00280001
    und ebenso als Starwerte "verboten" sind. Offensichtlich kann von m=1 an erwartet werden, dass alle weiteren Lösungen der Gleichung (9), die die n-Zyklus-Attraktoren des Systems beschreiben, irrationale Zahlen sind. Somit besteht keine Gefahr, in diese Attraktoren zu laufen, da alle Startwerte und alle berechneten Werte endliche Ganzzahlen sind. Des Weiteren gilt, dass sich das System umso chaotischer verhält je dichter r am Wert 4 liegt, da sich die Attraktoren umso mehr als so genannte "Repelloren" verhalten. Um allerdings zu gewährleisten, dass der Chaosgenerator nicht in einen der n-Zyklus-Attraktoren aufgrund von Abbruchfehlern läuft, ist es notwendig, die Berechnung der Zahlenwerte mit soviel Stellen wie möglich durchzuführen, was nur alleine mit maschineninterner Zahlendarstellung innerhalb des Lösungsraums der maschineninternen 32-Bit Gleitkommazahlen oder Integerzahlen nicht gegeben ist.
  • Um die wichtige Bedeutung dieses Problems zu veranschaulichen, soll im Folgenden ein praktisches Rechenbeispiel für die Logistische Gleichung betrachtet werden, wobei r = 3,99, wie in Gleichung (8) gegeben, und ein Startwert von x0 = 0,1 benutzt wird:
    Figure 00290001
  • Die oben dargestellte Tabelle zeigt: Wenn jedes Rechenergebnis nach der 4. Stelle hinter dem Komma abgeschnitten wird, das heißt der Lösungsraum auf den Integerraum [0, 104] transformiert wird, dann ergibt die Berechnung nach 179 Iterationen den Wert x179 = 0,9974. Dieser Wert jedoch tauchte bereits beim Iterationsschritt 86 als x86 = 0,9974 auf. Somit wurde das System aufgrund des Abbruchfehlers in einem 93-Zyklus-Attraktor nach bereits 179 Iterationen gefangen. Die tatsächliche Lösungsmenge ist damit reduziert auf nur 179 verschiedene Zahlen, was ungefähr nur 2% der möglich 104 ausmacht Wenn jedes Rechenergebnis nach der 10. Stelle hinter dem Komma abgeschnitten wird, das heißt der Lösungsraum auf den Integerraum [0, 1010] transformiert wird, dann ergibt die Berechnung nach 87984 Iterationen den Wert x87984 = 0,9974999999 der bereits als x36499. auftauchte Das System ist somit in einem 51485-Zyklus-Attraktor nach 87984 Iterationen gefangen. Die tatsächliche Lösungsmenge ist damit reduziert auf nur 87984 verschiedene Zahlen, was ungefähr nur 0,001% der möglichen 1010 ausmacht. Das Lösungsverhalten ist also tatsächlich vor allem durch die Abbruchfehler bestimmt. Das ist auch offensichtlich anhand der Werte des Lyapunov-Exponenten, der trotz allem ein gut-entwickeltes chaotisches System diagnostiziert (ausser für den Fall "4 Stellen", wo während der Iteration x = 0,5 auftaucht und sofort einen Lyapunov Exponenten von negativer Unendlichkeit zur Folge hat).
  • Dieselben Berechnungen werden nun mit einem Startwert von x0 = 0,3 durchgeführt:
    Figure 00300001
  • Die oben dargestellte Tabelle zeigt: Ausser für den Fall "7 Stellen" ist die Länge des Attraktors genau dieselbe, und tatsächlich ist es auch derselbe n-Zyklus-Attraktor, wie in den Berechnungen mit x0 = 0,1, obwohl der Wert, mit dem der Attraktor betreten wird, unterschiedlich ist. Erstaunlicherweise gilt dies ebenso für jeden anderen beliebigen Startwert. Das bedeutet, dass die Gefahr in einen Attraktor zu laufen vor allem durch die Rechengenaugkeit der berechnenden Maschine definiert wird. Betrachtet man dieses Verhalten und stellt die grobe Schätzung auf, dass aufgrund von Abbruchfehlern der theoretische Lösungsraum in der Praxis bei höherer Rechengenauigkeit auf etwa 0,001% reduziert wird, dann wird also ein Lösungsraum von 1045 Variationen reduziert auf 1040. Unter der Annahme, dass jede Iteration nur einen einzigen Rechenschritt benötigen würde und dass die implementierende Maschine in der Lage wäre, 1012 Rechnungen pro Sekunde (das ist eine Taktfrequenz von 1 Terahertz) durchzuführen, dann würde es 3×1020 Jahre dauern bis das System in einen Attraktor läuft. Das heißt, dass auch ein Brute-Force-Angriff diese Zeit benötigen würde um den Starwert für einen berechneten Funktionswert zu finden. Zum Vergleich: Wenn unter denselben Annahmen dieselben Berechnungen auf einer 64-Bit Maschine im maschineninternen Gleitkommazahlenraum mit 15 signifikanten Stellen hinter dem Komma durchgeführt werden würden, dann würde es nur 0,01 Sekunden dauern bis das System in einen Attraktor läuft.
  • Mit Hilfe der Ganzzahl-Maschine der Erfindung, die bereits oben beschrieben wurde, wird nun der Lösungsraum der Logistischen Gleichung auf den Ganzzahl-Lösungsraum der Form
    Figure 00310001
    transformiert, wobei P eine ganzzahlige Polynomzahl entsprechend Gleichung (3) ist, A die Basis des Zahlensystems, i die Anzahl der Bits, die von der implementierenden Maschine für die interne Darstellung einer Integerzahl zur Verfügung gestellt wird, k die gewünschte Größenordnung des Ganzzahl-Lösungsraums [0, Ak], N+ die Menge aller positiv definierten natürlichen Zahlen, und d ein Skalierungsfaktor, der so gewählt wird, dass alle (dezimalen) Stellen von r nach dem (Dezimal)Punkt berücksichtigt werden und dass k+d ein ganzzahliges Vielfaches von b aus Gleichung (3) darstellt. Der Skalierungsfaktor d wird eingeführt, um die Leistungsfähigkeit des Systems zu steigern: Eine Polynomdivision ist diejenige Operation, die die meiste Rechenzeit benötigt. Durch d wird diese Polynomdivision reduziert auf ein einfaches Abschneiden der kleinsten Polynom-Worte. Ohne die Patentansprüche der Erfindung einzuschränken, wird hier in der bevorzugten Ausführung gesetzt k = 45 (15)k kann zwar jeden beliebigen Wert annehmen, sollte aber als untere Grenze mindestens k=45 betragen. Nun ergibt Gleichung (14) zusammen mit Gleichungen (4), (8), und (15)
    Figure 00310002
    wobei die Division durch 1054 einfach dadurch realisiert wird, indem die kleinsten 6 Polynom-Worte einfach abgeschnitten werden.
  • Des Weiteren wird, um alle Berechnungserbnisse auf eine gemeinsame Anzahl von Ziffern zu skalieren, das ursprüngliche Intervall [0, 1] auf das Ganzzahl-Intervall [Ak–1, Ak] anstatt auf [0, Ak] transformiert. Unter Berücksichtigung, dass P≥Ak und P≤Ak–1 als Starwerte verboten sind und sonst auch niemals erreicht werden während der Iteration der Logistischen Gleichung, haben alle berechneten Ergebnisse eine Länge von exakt k Ziffern. Dies reduziert den Lösungsraum von Ak verschiedenen Zahlen auf Ak – Ak-1 = (A-1)xAk–1, was jedoch keine wirkliche Einschränkung darstellt. Die Gleichung (14) wird dadurch geändert in
    Figure 00320001
  • Nun ergibt Gleichung (17) zusammen mit den Gleichungen (4), (8), und (15)
    Figure 00320002
    wobei wiederum die Division durch 1054 einfach dadurch realisiert wird, indem die kleinsten 6 Polynom-Worte einfach abgeschnitten werden. Zur Beachtung: In den Gleichungen (16) und (18) ist der Wert für ε laut Gleichung (8) nur aus Gründen einer vereinfachenden Darstellung auf ε = 0 gesetzt und dies soll in keiner Weise die Patentansprüche der Erfindung beeinträchtigen. Wird ε ≠ 0 gesetzt, erfordert dies eine entsprechende Korrektur des Parameters d aufgrund der zusätzlichen Stellen für ε. Eine weitere Art und Weise, eine einheitliche Skalierung aller Ergebnisse auf eine Länge von k Ziffern zu erhalten, besteht darin, das folgende System
    Figure 00320003
    anstatt Gleichung (17) zu benutzen. Gleichung (17) sollte jedoch bevorzugt werden, und ist auch das in der bevorzugten Ausführung angewandte System.
  • Um die Beschreibung des Chaosgenerators dieser Erfindung zusammenzufassen: Es ist dieser Vorteil, die Werte für r und k frei wählen zu können, welcher – zusammen mit der Ganzzahl-Maschine dieser Erfindung – Plattformunabhängigkeit garantiert, optimales chaotisches Verhalten über alle Zeiten, optimierte ganzzahlige Polynom-Arithmetik, unbegrenzte Skalierbarkeit, was wiederum alles zusammen genommen absolute Sicherheit garantiert. Die weitere Beschreibung benutzt i=64 und A=10, das Dezimalzahlen-System, nur aus Gründen der Veranschaulichung ohne die allgemeine Anwendbarkeit auf alle Zahlensysteme, wie in den Patentansprüchen angeführt, einzuschränken.
  • In der Praxis wird der Chaosgenerator 41 in 4 gestartet mit einem initialen Wert P, welcher eine ganzzahlige Polynomzahl der Größenordnung 10k–1 ist. Dieser initiale Wert P wird generiert mit dem chaotischen String-Encoder 61 (6), welcher eine beliebige Zeichenfolge als Eingabe annimmt und eine ganzzahlige Polynomzahl der Größenordnung 10k–1 zurückliefert unter Verwendung des chaotischen Byte-Umwandlers 62 (51 in 5). In den Chaosgenerator 41 in 4 wird weiterhin ein beliebiger Byte-Strom von beliebiger Länge M eingespeist, wobei diese Bytes blockweise dergestalt bearbeitet werden, dass die Blocklänge N gegeben ist durch das Minimum aus K/3 und M/MINLOOPS, wobei 10K–1 die gewünschte Größenordnung der ganzzahligen Polynomzahlen ist und wobei MINLOOPS bestimmt, dass der Kodierungsalgorithmus (in der WHILE-Schleife in 4) mindestens MINLOOPS Mal durchlaufen wird um eine rekursive Rückrechnung unmöglich zu machen. In der bevorzugten Ausführung wird MINLOOPS = 10 gesetzt, könnte aber jeden anderen plausiblen Wert annehmen oder auch auf irgendeine Art dynamisch variiert werden. Der erste Block von N Bytes wird in eine ganzzahlige Polynomzahl PDATA mit dem Byte-Packer 42 (31 in 3) gepackt, welcher den Byte-Umwandler 34 in 3 (21 in 2) implementiert. Der Byte-Umwandler ist so konstruiert, dass keine symmetrischen Werte im Sinne der Logistischen Gleichung produziert werden, wo ein Startwert x dasselbe Resultat produziert wie der Startwert x' = (1–x). PDATA wird dann mit der Ganzzahl-Maschine 43 (11 in 1) zu PINI addiert, dann wird dieses Ergebnis mit der Ganzzahl-Maschine 43 durch 2 geteilt und man erhält somit die ganzzahlige Polynomzahl P, um die Iteration der Logistischen Gleichung zu starten. Die Vermengung von PINI mit PDATA ist ein wesentlicher Schritt, der garantiert, dass der vorhergehende Lösungsraum verlassen und ein vollständig neuer Lösungsraum beschritten wird, und die in den Daten und in den chaotischen Systemen enthaltene Entropie optimal genutzt wird. Die Logistische Gleichung wird dann entsprechend der Gleichung (17) mit der Ganzzahl-Maschine 44 berechnet, wobei der Bifurkationsfaktor r dynamisch um den konstanten Wert r = 3.99 + ε mit einem ε im Bereich von [-0.005, +0.005] variieren kann, wobei diese Variation auf irgendeine Art und Weise funktional abhängig ist vom Wert der ganzahligen Polynomzahl PINI. Diese Funktion kann ganz beliebig sein, sollte jedoch auf irgendeine Weise den Wert PINI als Parameter beinhalten, um so auch die Variation des Bifurkationsfaktors r chaotisch zu gestalten. Die Anzahl der Iterationen wird ebenfalls chaotisch variiert und bestimmt durch eine Funktion mit PINI als Parameter und einer oberen und unteren Iterationsschrittgrenze. Auch diese Funktion mag beliebiger Art sein, solllte jedoch auch PINI als Parameter benutzen, um die Variation chaotisch zu gestalten und damit eine Rückrechnung noch zusätzlich zu verhindern. Nach diesen Iterationen liefert der Chaosgenerator 41 eine neue ganzzahlige Polynomzahl. Solange noch Bytes in dem Byte-Strom übrig sind, wird dieses neue P als der neue Initialwert PINI gesetzt, die nächsten N Bytes werden mit dem Byte-Packer 42 gepackt und die Berechnung wird in der Weise wiederholt, wie für den vorhergehenden Datenblock. Wenn keine Bytes mehr im Byte-Strom übrig sind, dann ist die neue ganzzahlige Polynomzahl das Resultat der chaotischen Kodierung des Byte-Stroms. Dieses Resultat ist einzigartig für genau diesen Byte-Strom und würde vollständig verschieden sein, wenn auch nur ein einziges Bit im Byte-Strom anders gesetzt wäre.
  • 5. Beschreibung des Konzepts der privaten Schlüssel und öffentlichen Schlüssel-IDs in 7
  • Der geheime private Schlüssel ist nichts anderes als ein geheimes Passwort beliebiger Länge und beliebigen Inhalts, das jedoch mindestens 10, besser 20, Zeichen lang sein sollte. Je länger das Passwort, desto besser. Dieses Passwort ist geheim, das heißt, es darf keinesfalls über einen unsicheren Übertragungskanal übertragen werden. Um den Austauch von privaten Schlüsseln über einen sicheren Übertragungskanal auf ein einziges Mal zu beschränken, wird eine chaotische Passwortzahl, die im folgenden mit "öffentliche Schlüssel-ID" bezeichnet wird, mit dem chaotischen String-Encoder 71(61 in 6) aus dem privaten Schlüssel berechnet. Diese öffentliche Schlüssel-ID kann über einen unsicheren Übertragungskanal an eine andere Einheit übertragen werden ohne irgendwelche Sicherheitsaspekte berücksichtigen zu müssen, da es unmöglich ist, den privaten Schlüssel aus der öffentlichen Schlüssel-ID abzuleiten. Die Vorteile solch einer Berechnung von öffentlichen Schlüssel-IDs sind offensichtlich: Jede Einheit kann seine eigene private Datenbank mit (privater Schlüssel)-(öffentliche Schlüssel-ID)-Paaren anlegen und dann kann sich jede Einheit bei einer anderen Einheit mit Hilfe der öffentlichen Schlüssel-IDs authentifizieren indem der Kommunikationspartner den entsprechenden privaten Schlüssel durch einen Vergleich der öffentlichen Schlüssel-IDs heraussucht. Tatsächlich wird die öffentliche Schlüssel-ID auch nur zur Authentifizierung bei einer anderen Einheit benutzt, und nur der private Schlüssel wird für chaotische Kodierung jeglicher Art benutzt. So wird auch verhindert, dass irgendeine dritte Einheit nur aufgrund der Kenntnis der öffentlichen Schlüssel-ID vorgeben könnte, jemand anderes zu sein.
  • 6. Die chaotische Datenverschlüsselung und digitale Signatur mit dem Chaotischen Encryptor und Signierer 81 in 8
  • Der Chaotische Encryptor und Signierer (im Folgenden abgekürzt mit "CHAES") 81 wird gestartet mit dem privaten Schlüssel des Unterzeichners, einem Zeitstempel, der das aktuelle Datum und die aktuelle Zeit des Verschlüsselungsprozesses enthält, der öffentlichen Schlüssel-ID, optional mit weiteren Informationen über den Unterzeichner wie zum Beispiel dem Namen, den (geheimen) Daten des Unterzeichners, die (verschlüsselt und) signiert werden sollen, der gewünschten Länge K, die für die Erzeugung der ganzzahligen Polynomzahlen benutzt werden soll, und einer Kodierungskennung, die anzeigt ob die Daten nur signiert (SO) oder – für den Fall dass die Daten geheim sind – auch verschlüsselt (ES) werden sollen. Zuerst werden Zeitstempel, privater Schlüssel, optionale weitere Unterzeichnerinformationen, öffentliche Schlüssel-ID, Kodierungskennung und K an den chaotischen String-Encoder 82, das ist 61 in 6, geschickt. Die Reihenfolge, in der diese Informationen übertragen werden, wird durch ein spezielles Kodierungsprotokoll geregelt, da es wesentlich ist, dass die Entschlüsselungs- und Verifizierungsmaschine dies in genau der gleichen Weise handhabt. Ebenso wesentlich ist, dass mindestens der private Schlüssel und der Zeitstempel an den chaotischen String-Encoder 82 geschickt wird, um eine einizigartige Polynomzahl PNEW zu erhalten. Des Weiteren ist wesentlich, dass alle Informationen, die in den Dokumentenkopf der kodierten Daten eingehen, an den chaotischen String-Encoder 82 übermittelt werden, um diese zum Bestandteil der signierten Information zu machen. Der chaotische String-Encoder 82 liefert die erste ganzzahlige Polynomzahl PNEW zurück, welche einzigartig bezüglich des privaten Schlüssels und des Zeitstempels ist. Die Blocklänge L zum Kodieren der Daten wird nach oben begrenzt durch NBD = K/3 da der Byte-Packer 31 nur maximal K/3 Bytes in eine ganzzahlige Polynomzahl packen kann. Wenn die Kodierungskennung auf den Wert ES gesetzt ist, das heißt auf verschlüsseln und signieren, dann wird die Blocklänge L weiter limitiert durch L = Minimum(NBD, NBK) wobei NBK die Anzahl der Bytes ist, die aus einer Little-Endian-Dekodierung der ganzzahligen Polynomzahl in der Ganzzahl-Maschine 81, das ist 11 in 1, resultiert. Im Falle von ES wird die initiale Polynomzahl PNEW in ihre Bytes dekodiert, die im folgenden "Schlüsselbytes" genannt werden, dann wird der erste Block der Datenbytes an den Chaosgenerator 84, das ist 41 in 4, geschickt, der eine neue ganzzahlige Polynomzahl P zurückliefert. Wenn SO gesetzt ist, werden die Datenbytes nichrt verändert. Wenn ES gesetzt ist, dann werden die originären Datenbytes dieses Blocks mit den Schlüsselbytes geXORed wodurch die verschlüsselten Cipherbytes dieses Blocks enstehen. Solange noch Datenbytes im Byte-Strom übrig sind, startet die Kodierungsprozedur für den nächsten Datenblock von Neuem indem die neue Polynomzahl PNEW als Kryptographieschlüssel für den nächsten Block benutzt wird (im Fall von ES) und als neuer initialer Wert für den Chaosgenerator 84. Wenn keine Bytes mehr im Byte-Strom übrig sind dann ist die neue Polynomzahl PNEW die Signatur für all die kodierten (und im Fall von ES verschlüsselten) Bytes. Nach der Generierung des Kopftexts aus den Informationen, die in CHAES 81 einfließen, liefert CHAES 81 den Kopftext, die verschlüsselten/kodierten Cipherbytes/Datenbytes und die Signatur der kodierten Daten zurück.
  • Beispiel: Um die Zuverlässigkeit und statistische Unabhängigkeit der Verschlüsselung zu testen, wurde ein Byte-Strom generiert, der 262,144 (L = 218) Mal das Zeichen 'a' enthält, welches die Zeichennummer 97 in der ASCII-Zeichentabelle besitzt. Die prozentuale Zeichenverteilung dieses Byte-Stroms ist in 9a dargestellt und zeigt, dass die Zeichennummer 97 den Byte-Strom zu 100% füllt. 9b zeigt anhand des Amplitudenspektrums dieses Byte-Stroms, das mit einer Fast-Fourier-Transformation (FFT) berechnet wurde, dass der Byte-Strom um den Mittelwert von 97,0 keinerlei periodischen Signale noch Rauschen aufweist. Dann wurde dieser Byte-Strom mit CHAES 81 in 8 verschlüsselt. 10a zeigt anhand der prozentualen Zeichenverteilung der verschlüsselten Bytes in Form von Zeichennummern entsprechend der ASCII-Zeichentabelle, dass alle Zeichen enthalten sind und alle Zeichen zu einem Prozentsatz zwischen 0,36% and 0,42% vorkommen. Somit zeigt kein Zeichen eine signifikant höhere Häufigkeit als die anderen. Die prozentuale Zeichenverteilung allein erlaubt jedoch keine Rückschlüsse auf etwaige periodischen Signale. Deshalb wurde eine FFT durchgeführt, um dies zu untersuchen. 10b zeigt das Amplitudenspektrum, das mit der FFT berechnet wurde. Der resultierende konstante Mittelwert c0 ist in diesem Beispiel c0=127,83 und somit nahezu gleich dem arithmetischen Mittelwert von 127,5. Um diesen Mittelwert zeigt das Spektrum kein signifikantes periodisches Signal sondern ist ausschließlich von Rauschen bestimmt. Um die "Farbe" des Rauschens zu bestimmen wurde die Rauschenergiedichte RNE berechnet mit
    Figure 00370001
    wobei Ak die diskrete Amplitude des Rauschens bei der Kreisfrequenz ωk ist. Diese Rauschenergiedichte ist in 10c dargestellt und zeigt, dass das Rauschen unkorreliertes "Weißes Rauschen" ist.
  • Beispiel: Ein weiterer Test wurde durchgeführt, in dem ein anderer Byte-Strom 262,144 Zeichen (L = 218) enthält, die mit einer Sinusschwingung um das Zeichen 'Z', welches die Zeichennummer 90 in der ASCII-Zeichentabelle besitzt, hergestellt wurden, wobei die Wellenlänge 1024 Zeichen beträgt und die Amplitude 32 Zeichennummern entsprechend der ASCII-Zeichentabelle. Die prozentuale Zeichenverteilung dieses Byte-Stroms ist in 11a dargestellt. 11b zeigt anhand des Amplitudenspektrums der FFT-Analyse dieses Byte-Stroms wie zu erwarten den konstanten Mittelwert von 90 und als einziges Signal die Welle mit der 1024er-Periode (210) und einer Amplitude von 32. Dann wurde dieser Byte-Strom mit CHAES 81 in 8 verschlüsselt. 12c zeigt anhand der prozentualen Zeichenverteilung des verschlüsselten Byte-Stroms, dass wiederum alle Zeichen enthalten sind und wiederum alle Zeichen mit einem Prozentsatz zwischen 0,36% and 0,42% vorkommen ohne dass ein Zeichen signifikant häufiger auftreten würde als ein anderes. 12b zeigt das Amplitudenspektrum der FFT-Analyse des verschlüsselten Byte-Stroms: Der konstante Mittelwert c0 ist c0=127.56 und somit wiederum nahezu gleich dem arithmetischen Mittel von 127,5. Um den Mittelwert ist wieder kein signifikantes periodisches Signal zu erkennen ausser Rauschen. Die Rauschenergiedichte RNE, berechnet nach Gleichung (20) und dargestellt in 12c, zeigt auch hier, dass das Rauschen unkorreliertes "Weißes Rauschen" ist.
  • Unter Benutzung der Formel
    Figure 00370002
    für die Berechnung des Signal-Rausch-Abstands RSN, wobei Dk die diskrete Amplitude der sinusmodulierten Datenbytes bei der Kreisfrequenz ωk ist (11b), und Ck die entsprechende diskrete Rauschamplitude der verschlüsselten Cipherbytes (12b), ergibt sich aus der Verschlüsselung des Testtexts in 11 ein Signal-Rausch-Abstand von RSN = -40 dB. Dieses Ergebnis zusammen mit den Ergebnis in 12c zeigt, dass CHAES 81 in 8 absolut chaotisches Weißes Rauschen erzeugt, das mit keinem statistischen Angriff entschlüsselt werden kann.
  • Zusammenfassend: Der Vorteil dieser Erfindung ist, dass die Kryptographieschlüssel chaotisch generiert werden und sich chaotisch für jeden Datenblock ändern. Jeder Brute-Force-Angriff wird somit scheitern sowie auch jeder Angriff auf Basis einer statistischen Analyse des Ciphertexts.
  • Ein weiterer Vorteil ist, dass sich die Signatur aus der chaotischen Kodierung jedes einzelnen Datenbytes und des erzeugten Kopftextes ergibt. Das bedeutet, die Signatur ist für genau ein Dokument einzigartig gültig. sobald auch nur ein einziges Bit im Dokument oder in der Signatur nach dem Signieren verändert wird, resultiert daraus beim Dekodieren des Dokuments eine vollständig andere und damit ungültige Signatur.
  • Die absolut sichere Verschlüsselungs- und Entschlüsselungsverfahren und deren Implementierung in die Maschineneinheiten dieser Erfindung sind deshalb die geeigneten Werkzeuge zur Verschlüsselung, Entschlüsselung und Signierung jedweder Daten für jegliche Zwecke wie zum Beispiel für sichere Speicherung, Lizenzierung, Übertragung, zur sicheren Authentifizierung/Identifikation eines Senders oder einer Information oder einer Datenanfrage, gesetzlich akzeptierte Unterschriften, und sicherer Schutz gegen Angriffe durch unauthorisierte dritte Parteien, und all dies in jeglicher Realisierung durch jedwede Mittel.
  • 7. Die chaotische Datenentschlüsselung und Signaturverifizierung mit dem Chaotischen Decryptor und Verifizierer 151 in 15
  • Der Chaotische Decryptor und Verifizierer (im Folgenden abgekürzt mit "CHADV") 151 wird gestartet mit dem Kopftext, dem Ciphertext (den Cipherbytes), und der Signatur des vom Unterzeichner mit CHAES 81 in 8 verschlüsselten Dokuments. Der Kopftext und die Signatur werden an den Initialschlüssel-Provider 152, das ist 141 in 14, gesendet. Der Initialschlüssel-Provider 141 extrahiert die öffentliche Schlüssel-ID (und optional etwaige weitere enthaltene Informationen über den Unterzeichner) aus dem Kopftext und sendet diese an den Schlüsselpaarsammlung-Provider 142, das ist 131 in 13. In der bevorzugten Ausführung ist der Schlüsselpaarsammlung-Provider eine lokale Datenbank oder eine Benutzerschnittstelle (UI), welche den entsprechenden privaten Schlüssel zurückliefert indem sie die gesendete öffentliche Schlüssel-ID mit denjenigen der (verschlüsselt) gespeicherten (privater Schlüssel)-(öffentliche Schlüssel-ID)-Paaren vergleicht oder indem das entsprechende Passwort über eine UI eingegeben wird. Es wird ausdrücklich darauf hingewiesen, dass dies keine Einschränkung der Patentansprüche dieser Erfindung darstellt, da die bevorzugte Ausführung nur als veranschaulichendes Beispiel einer Anwendung zu verstehen ist. Der Schlüsselpaarsammlung-Provider kann auch durch die Einbeziehung einer unabhängigen lokalen (local) oder entfernten (remote) Zertifizierungsauthorität (CA) realisiert werden. Der Schlüsselpaarsammlung-Provider kann auch die oben genannten Paare so halten, dass er als Rückgabewert nur eine Art Sitzungsschlüssel, der sich vom privaten Schlüssel unterscheidet, direkt zurücksendet, so dass niemend Kenntnis vom privaten Schlüssel erhält ausser der CA und dem Besitzer des privaten Schlüssels selbst. Nun, in der bevorzugten Ausführung, sendet der Schlüsselpaarsammlung-Provider 142 den privaten Schlüssel zurück – oder die Kennung "UNBEKANNT" falls kein entsprechender privater Schlüssel gefunden wurde – an den Initialschlüssel-Provider 141 in 14. Wenn der Initialschlüssel-Provider 141 die Kennung "UNBEKANNT" vom Schlüsselpaarsammlung-Provider 142 zurückerhält, sendet er diese Kennung direkt an den CHADV 151 zurück anstatt einen initialen Schlüssel. Ansonsten benutzt der Initialschlüssel-Provider 141 den empfangenen privaten Schlüssel und die Informationen, die im Kopftext enthalten sind, um eine chaotische ganzzahlige Polynomzahl P zu kodieren, wobei der chaotische String-Encoder 143 und dasselbe Kodierungsprotokoll wie im CHAES 81 benutzt wird. Diese Polynomzahl wird dann als der initiale Schlüssel an den CHADV 151 gesendet. Wenn der initiale Schlüssel nichts anderes als die Kennung "UNBEKANNT" ist, dann liefert der CHADV 151 in 15 genau diese Kennung zurück. Wenn der initiale Schlüssel wohl definiert ist dann wird er als der erste Schlüssel PNEW benutzt. Dieser erste Schlüssel lieferten den ersten Satz der Schlüsselbytes um den ersten Block der Cipherbytes zu entschlüsseln indem diese im Falle ES zusammen mit den Keybytes der XOR-Operation unterworfen werden und so die entschlüsselten Datenbytes erhalten werden. Im Falle SO sind die Cipherbytes bereits die entschlüsselten Datenbytes. Dann wird der erste Block der entschlüsselten Datenbytes zusammen mit dem ersten Schlüssel an den Chaosgenerator 154 gesendet, welcher dann den nächsten Schlüssel PNEW zurücksendet. Solange noch Bytes im Byte-Strom übrig sind, wiederholt sich diese Prozedur für alle folgenden Datenblocks wie für den ersten Datenblock beschrieben. Wenn keine Bytes mehr im Byte-Strom übrig sind, dann ist dieser neue Schlüssel PNEW die aktuell berechnete Signatur. Diese aktuell berechnete Signatur muss exakt dieselbe Signatur sein, welche vom Unterzeichner gesendet wurde. Wenn dies nicht der Fall ist, dann wurde entweder der Kopftext, oder der Ciphertext, oder die Signatur des Unterzeichners unauthorisiert nach dem Signieren des Dokuments verändert, denn eine Veränderung dieser Daten auch nur in einem einzigen Bit resultiert in einer vollständig unterschiedlichen aktuell berechneten Signatur. In diesem Fall liefert der CHADV 151 eine entsprechende Fehlermeldung. Nur im Fall, dass die aktuell berechnete Signatur exakt identisch ist mit der gesendeten Signatur des Unterzeichners, ist definitiv die Garantie gegeben, dass alle Daten nach dem Signieren unberührt geblieben sind.
  • Somit garantiert die Kombination von CHADV 151 mit CHAES 81, dass
    • 1) die Daten wirklich vom Unterzeichner gesendet wurden und nicht von einer anderen Einheit.
    • 2) die Daten nach dem Signieren von niemandem verändert wurden, auch nicht in einem einzigen Bit.
    • 3) die Signaur einzigartig ist und nur für ein bestimmtes Dokument gültig ist.
    • 4) im Falle einer Verschlüsselung niemand in der Lage ist, Kenntnis vom Inhalt oder von der Art der gesendeten Daten zu erhalten.
  • 8. Beispielausführung des Verfahrens und des Systems zur Authentifizierung, digitalen Signatur und Datenverschlüsselung und Datenentschlüsselung zwischen zwei entfernten (remote) Einheiten über ein Netzwerk in 16,17a–f:
  • Wie bereits oben erwähnt, ist die bevorzugte Ausführung und diese Beispielausführung nur ein Beispiel für eine Authentifizierung, digitale Signatur und Verschlüssel/Entschlüsselung für die Benutzung der spezifischen Verfahren und Systemen dieser Erfindung wie in den 18 und 1315 dargelegt. Das Beispiel benutzt das HTTP-Protokoll des TCP/IP-Netzwerkverkehrs. Im Prinzip können die Verfahren und Systeme dieser Erfindung implementiert werden in völlig andere alleinstehende (standalone) Systeme oder Client-Server-Systeme (wie zum Beispiel Smartcards, Mobiltelefonie, Banksysteme, etc), die jede Art von Übertragungskanal (über Kabel oder drahtlos) und jede Art von Übertragungsprotokoll (wie zum Beispiel TCP, UDP, HTTP, WAP, SMTP, FTP, etc.) nutzen können.
  • Das Beispielsystem in 17 besteht aus einer Web-Browser-Maschine 171, einer Client-Maschine 173, und einer Client-Proxy-Maschine 172 auf der Clientseite. Jeder Datenverkehr zwischen diesen clientseitigen Maschinen wird über TCP/IP auf einem lokalen Host (im folgenden als "Localhost" bezeichnet) auf einer alleinstehenden implementierenden Maschine innerhalb eines geschützten Intranets ausgeführt. Auf der Serverseite besteht das Beispielsystem aus einer Server-Maschine 175, einer Server- Proxy-Maschine 176, und einer HTTP-Server-Maschine 177. Alle Maschinen auf der Serverseite sind so genannte Multithread-Maschinen, das heißt dass diese Maschinen in der Lage sind, Anfragen von verschiedenen Clients gleichzeitig parallel zu bearbeiten. Jeder Datenverkehr zwischen diesen serverseitigen Maschinen wird über TCP/IP auf einem lokalen Host (im folgenden als "Localhost" bezeichnet) auf einer alleinstehenden implementierenden Maschine innerhalb eines geschützten Intranets, das nicht mit demjenigen der Clientseite identisch ist, ausgeführt. Der Netzwerkverkehr zwischen den Client-Maschinen und den Server-Maschines soll in diesem Beispiel über einen unsicheren Netzwerk-Übertragungskanal (wie zum Beispiel das Internet) 174 ablaufen, um die Vorteile der Erfindung zu demonstrieren. Dieses beispielhafte Szenario beinhaltet, dass ein bestimmter Client eine Verbindung zu einem bestimmten Server herstellen möchte, um Zugriff zu bestimmte Informationen und/oder Serviceleistungen zu erhalten, die vom Server nicht öffentlich zur Verfügung gestellt werden, sondern nur für bestimmte authorisierte und registrierte Clients. Es beinhaltet weiterhin, dass der Server sicher sein möchte, dass auch wirklich nur solch ein Client Zugriff bekommt, der er vorgibt zu sein und auf der Serverseite als authorisierter Client registriert ist, und dass die Datenübertragung zwischen Client und Server geheim bleiben muss, das bedeutet, in solcher Weise verschlüsselt werden muss, dass niemand sonst Kenntnis erhalten kann von Inhalt und Art der Daten, und dass jede Modifikation der Daten durch eine dritte Einheit sofort erkannt werden kann.
  • Beginnend mit Schritt (A) in 17a, gibt der Client 173 sein Passwort ein, welches der geheime private Schlüssel (im Folgenden abgekürzt mit "PRIVK") ist, und die erwünschte Länge K der Kodierung in ganzzahlige Polynomzahlen wird auf den voreingestellten (Default) Wert gesetzt (zum Beispiel K=45). Generell kann K frei und dynamisch gewählt werden, es sollte jedoch die Bedingung erfüllt sein, dass K ≥ 45. Die Eingabe von PRIVK in den chaotischen String-Encoder 178 liefert eine chaotische ganzzahlige Polynomzahl, welche die öffentliche Schlüssel-ID (im Folgenden abgekürzt mit "PUBK") darstellt. Wenn PUBK bereits auf der Client-Maschine auf irgendeine Art genau für diesen Client gespeichert ist (wie zum Beispiel in Smartcards, SIMM-Karten, etc.), das heißt clientspezifisch kodiert ist, vergleicht eine erste Prüfung die berechnete PUBK mit der gespeicherten zum Zweck der Authentifizierung. Wenn diese beiden PUBK nicht gleich gleich sind, wird jede weitere Aktion mit dem Client 173 von der Client-Maschine zurückgewiesen. Im Falle dass die Authentifizierung erfolgreich war oder die Client-Maschine nicht clientspezifisch kodiert ist, sendet der Client 173 die PUBK an den bekannten Server 175 über das Netzwerk 174. Der Server 175 empfängt die PUBK des Clients und prüft in seiner Verbindungsliste ob dieser Client bereits mit dem Server in einer anderen Sizung verbunden ist, da der Server 175 aus Sicherheitsgründen nicht mehere Verbindung gleichzeitig pro Client 173 erlaubt. Wenn der Client 173 bereits in einer anderen Sitzung verbunden ist, dann unterbricht der Server 175 die aktuelle Sitzung mit dem Verbindungsunterbrecher 1710, das ist 161 in 16. Ansonsten sucht der Server 175 den entsprechenden privaten Schlüssel für diesen Client in seinem Schlüsselpaarsammlung-Provider 179 (131 in 13) durch Vergleich der gesendeten PUBK mit den im Schlüsselpaarsammlung-Provider 179 registrierten. Es sei ausdrücklich erwänt, dass die Beispielausführung nur aus Anschaulichkeitsgründen einen lokalen Schlüsselpaarsammlung-Provider verwendet und dass solch ein Schlüsselpaarsammlung-Provider auch eine entfernte dritte Einheit wie zum Beispiel eine Zertifizierungsauthorität (CA) sein kann, die entweder den privaten Schlüssel des Clients oder einen entsprechenden zeitabhängigen Sitzungsschlüssel zurückliefert. Es sei ebenso ausdrücklich erwähnt, dass der Schlüsselpaarsammlung-Provider 179 verschiedene Paare für denselben Client für verschiedene Schlüssellängen besitzen kann und dass eine voreingestellte (Default) Schlüssellänge hier nur der Einfachheit halber benutzt wird. Der Schlüsselpaarsammlung-Provider 179 liefert eine Antwort an der Server 175 zurück, welche die Nachricht "UNBEKANNT" enthält für den Fall dass PUBK nicht bekannt ist, oder welche den privaten Schlüssel PRIVK für den Client enthält für den Fall dass die gesendete PUBK in den speicherten öffentlichen Schlüssel-IDs gefunden wurde. Im Fall "UNBEKANNT" unterbricht der Server 175 die Verbindung mit dem Client 173 mit dem Verbindungsunterbrecher 1710. Nach dem Erhalt des clientspezifischen PRIVK erzeugt der Server 175 einen Zeitstempel T1 (das ist hier zum Beispiel das aktuelle Datum und die aktuelle Zeit) und erzeugt dann mit T1, PRIVK, and K und unter Benutzung des String-Encoders 1711 einen Bestätigungsschlüssel CK, der einzigartig für diese eine Sitzung ist und so nie wieder auftauchen wird aufgrund der client- und zeitspezifischen Abhängigkeit. Dann sendet der Server 175 T1 an den Client 173 über das Netztwerk 174.
  • In 17b empfängt nun der Client 173 den Zeitstempel T1 vom Server 175 und erzeugt mit dem chaotischen String-Encoder 1712 und mit T1, PRIVK und K einen Antwortschlüssel RK in genau derselben Weise wie der Server 175 CK erzeugt hat. Dann sendet der Client 173 RK an den Server 175 über das Netzwerk 174. Der Server 175 empfängt RK vom Client 173 und vergleicht den vom Client 173 berechneten RK mit dem von ihm selbst berechneten CK. Wenn diese beide Polynomzahlen nicht identisch sind, dann wurde RK von einer anderen Einheit gesendet aber nicht von dem Client, zu dem die PUBK gehört. Diese Authentifizierungsprüfung ist absolut zuverlässig, da sie von einem Zeitstempel und vom PRIVK des Clients, den nur der Client und der Server kennt, aber niemals eine andere dritte Einheit, abhängig ist. Wenn die Authentifizierungsprüfung fehlgeschlagen ist, unterbricht der Server 175 die Verbindung zum Client 173 mit dem Verbindungsunterbrecher 1713. Wenn die Authentifizierung erfolgreich war, fügt der Server 175 die PUBK des Clients zu seiner Verbindungsliste der verbundenen Clients hinzu und erzeugt zwei weitere Schlüssel, das Web-Konto WA und das Web-Password WP, mit zwei weiteren Zeitstempeln, T2 und T3, und mit PRIVK und K unter Benutzung des chaotischen String-Encoders 1714. Die Kombination WA-WP wird in Form eines authorisierten Benutzerzugangs in der Zugriffskontendatei des HTTP-Servers 177 hinzugefügt um dem Client den Zugriff auf das nun WA/WP-geschützte Verzeichnis der URL des HTTP-Servers zu erlauben. Niemand kennt dieses Konto ausser dem Server 175 und dem HTTP-Server 177. Der Server 175 kodiert weiterhin die WA-WP-Kombination in die Zeichen der Base64-Kodierung als Sitzungskonto SA und erzeugt dann eine Webmaske, die eine beliebige Zeichenfolge beliebiger Länge sein kann, um die URL des HTTP-Servers zu maskieren. Dann startet der Server 175 (auf dem lokalen Host Localhost oder innerhalb des serverseitigen Intranets) a neue Server-Proxy-Instanz 176 für diese spezifische Clientsitzung und sendet PRIVK, PUBK, SA, und die Webmaske an den Server-Proxy 176.
  • In 17c empfängt der Server-Proxy 176 PRIVK, PUBK (und erhält K aus der Länge von PUBK), SA, und die Webmaske vom Server 175 und wartet auf weitere Anfragen vom Client. Nach der Aktivierung der neuen Server-Proxy-Iinstanz 176 kodiert der Server 175 die Webmaske und die IP-Adresse der Server-Proxys in einen Byte-Strom von Datenbytes DB, erzeugt einen neuen Zeitstempel T4, setzt die Kodierungskennung auf ES (das heißt auf Verschlüsseln und Signieren), und sendet PRIVK, T4, PUBK, "OKAY", DB, K, und die Kodierungskennung ES an den Chaotischen Encryptor und Signierer (CHAES) 1716. CHAES 1716 liefert den protokollkonformen Kopftext HT (der – selbstverständlich – nicht den PRIVK enthält, siehe 8), die verschlüsselten Cipherbytes CB und die Signatur SIG. Der Server 175 sendet HT, CB, and SIG an den Client 173 über das Netzwerk 174. Aufgrund der Verschlüsselung erhält niemand Kenntnis über die Webmaske noch über die sitzungsspezifische IP-Adresse der Server-Proxy-Instanz 176, und niemand sonst ausser dem Client kann die Daten entschlüsseln weil niemand sonst im Besitz des PRIVK ist. Dann wartet der Server 175 auf weitere Anfragen vom Client. Client 173 empfängt HT, CB, und SIG vom Server 175 und sendet HT, CB, und SIG an den Chaotischen Decryptor und Verifizierer (CHADV) 1717 (151 15). CHADV 1717 liefert eine Nachricht und den Byte-Strom DB der entschlüsselten Cipherbytes CB an den Client 173 zurück. Wenn die Nachricht nicht "OKAY" ist, dann war entweder der Sender nicht der Server 175, oder irgendjemand hat irgendwelche Daten von HT, CB, or SIG verändert. In diesem Fall unterbricht der Client 173 die Verbindung mit dem Verbindungsunterbrecher 1718. War die Nachricht "OKAY", dann extrahiert der Client 173 die Webmaske und die IP-Adresse SPIPA des Server-Proxys aus DB, startet (auf einem lokalen Host Localhost oder innerhalb des clientseitigen Intranets) eune neue Client-Proxy-Instanz 172, und sendet PRIVK, PUBK, Webmaske and SPIPA an diese neue Client-Proxy-Instanz 172. Dieser Schritt (B) ist das Ende des so genannten Handshakings, das mit Schritt (A) in 17a gestartet wurde, und den Zweck hat, alle Systemkomponenten für eine sichere Datenübertragung vorzubereiten und zu aktivieren. Der Client 173 wartet nun auf weitere Nachrichten vom Server.
  • In 17d empfängt die Client-Proxy-Instanz 172 PRIVK, PUBK (und erhält K aus der Länge von PUBK), Webmaske, und SPIPA vom Client 173 und startet den Web-Browser 171 mit der Webmaske und der IP-Adresse und dem IP-Port des Client-Proxys. Der Web-Browser 171 startet eine HTTP-Anfrage mit der Webmasken-URL an den Client-Proxy 172. Der Client-Proxy 172 empfängt die HTTP-Anfrage vom Web-Browser 171, erzeugt einen neuen Zeitstempel T, und kodiert die HTTP-Anfrage in einen Byte-Strom DB. Dann sendet der Client-Proxy 172 PRIVK, T, PUBK, "ANFRAGE", DB, K und die Kodierungskennung ES (das heißt Verschlüsseln und Signieren) an den Chaotischen Encryptor und Signierer CHAES 1719. CHAES 1719 liefert den protokollkonformen Kopftext, die verschlüsselten Cipherbytes CB und die entsprechende Signatur SIG an den Client-Proxy 172, der nun selbst wiederum HT, CB, und SIG an den Server-Proxy 176 über das Netzwerk 174 sendet. Der Server-Proxy 176 empfängt HT, CB, und SIG vom Client-Proxy 172, und sendet HT, CB, und SIG an CHADV 1720. CHADV 1720 liefert eine Nachricht und den Byte-Strom DB der enschlüsselten Cipherbytes CB an den Server-Proxy 176 zurück. Wenn die Nachricht nicht "OKAY" war, dann war entweder der Sender nicht der Client-Proxy 172, oder eine andere Einheit hat irgendwelche Daten von HT, CB, or SIG modifiziert. In diesem Fall unterbricht der Server-Proxy 176 die Verbindung mit dem Verbindungsunterbrecher 1721. War die Nachricht "OKAY", dann extrahiert der Server-Proxy 176 die HTTP-Anfrage aus DB, tauscht die Webmaske durch die wahre URL des HTTP-Servers 177 aus, und fügt das Base64-kodierte Sitzungskonto an den Kopf der HTTP-Anfrage an. Dann sendet der Server-Proxy 176 die HTTP-Anfrage (auf dem lokalen Host Localhost oder innerhalb des serverseitigen Intranets) an den HTTP-Server 177.
  • In 17e empfängt der HTTP-Server 177 die HTTP-Anfrage vom Server-Proxy 176 und prüft ob das Sitzungskonto gültig ist indem er prüft ob die WA/WP-Kennungen dieses Sitzungskontos in seiner Zugriffskontendatei enthalten sind. Wenn das Sitzungskonto und die URL gültig sind, dann sendet der HTTP-Server 177 den angeforderten Inhalt/Information dieser URL als Antwort an den Server-Proxy 176. Wenn das Sitzungskonto oder die URL nicht gültig sind, dann sendet der HTTP-Server als Antwort den Inhalt einer Fehler-Webpage. Der Server-Proxy 176 empfängt die HTTP-Antwort vom HTTP-Server 177, kodiert diese Antwort in einen Byte-Strom DB und erzeugt einen neuen Zeitstempel T. Dann sendet der Server-Proxy 176 PRIVK, T, PUBK, "ANTWORT", DB, K, und die Kodierungskennung ES (das heiß Verschlüsseln und Signieren) an CHAES 1722. CHAES 1722 liefert den protokollkonforman Kopftext HT, die verschlüsselten Cipherbytes CB der HTTP-Antwort, und die entsprechende Signatur SIG an den Server-Proxy 176 zurück. Dann sendet der Server-Proxy 176 HT, CB, und SIG an den Client-Proxy 172 über das Netztwerk 174. Der Client.Proxy 172 empfängt HT, CB, und SIG vom Server-Proxy 176 und sendet HT, CB, und SIG an CHADV 1723. CHADV 1723 liwefert eine Nachricht und den Byte-Strom DB der entschlüsselten Cipherbytes CB an den Client-Proxy 172 zurück. War die Nachricht nicht "OKAY", dann war entweder der Sender nicht der Server-Proxy 176, oder eine andere Einheit hat irgendwelche Daten von HT, CB, or SIG modifiziert. In diesem Fall unterbricht der Client-Proxy 172 die Verbindung mit dem Verbindungsunterbrecher 1724. War die Nachricht "OKAY", dann extrahiert der Client-Proxy 172 die HTTP-Antwort aus dem entschlüsselten Byte-Strom DB und sendet die HTTP-Antwort an den Web-Browser 171.
  • In 17f empfängt der Web-Browser 171 die HTTP-Antwort vom Client-Proxy 172 und zeigt den Inhalt dieser Antwort (das heißt die gewüschte und angeforderte Information) in seiner graphischen Benutzeroberfläche (GUI) an. Wenn der Web-Browser eine neue HTTP-Anfrage mit der Webmaske an den Client-Proxy 172 startet, dann wiederholt sich die gesamte Prozedur von Neuem mit Schritt (C) in 17d beginnend.
  • Falls einer der Kommunikationspartner die Sitzung beenden will, dann startet er den Verbindungsunterbrecher 1725, der im Übrigen auch dann aktiviert wird, wenn nach einer gewissen Zeit kein Datenverkehr mehr über das Netzwerk 174 stattfindet.
  • Zusammenfassend für die 17a–f: Jede Information, das heißt jede Datentransaktion (sowohl Anfrage als auch Antwort), die über das unsichere Netzwerk übermittelt wird, wird verschlüsselt. Somit ist niemand in der Lage irgendwelche Kenntnisse weder über den Inhalt noch die Art der übermittelten Daten zu erhalten. Im Speziellen ist dies unbedingt erforderlich wenn irgendwelche geheimen Informationen aus einem Intranet über das Internet verschickt werden sollen. Diese geforderte absolute Sicherheit ist garantiert durch die extrem dynamisch chaotische und nicht-lineare Verschlüsselung, die Kryptographieschlüssel benutzt, die sich von Byteblock zu Byteblock, von Transaktion zu Transaktion und von Sitzung zu Sitzung ständig ändern und somit einzigartig sind für jede einzelne Byteblock-Transaktion-Sitzung-Kombination.
  • Weiterhin wird jede Datentransaktion so signiert, dass eine Modifikation selbst eines einzelnen Bits nach dem Signieren sofort als unerlaubter Angriff zu erkennen ist. Gleichzeitig garantiert die Signatur jeder einzelnen Transaktion, dass der Sitzungsverkehr auch tatsächlich zwischen demjenigen Client, der er vorgibt zu sein, und demjenigen Server, der Kenntnis vom privaten Schlüssel des Clients und die von Client angeforderten Informationen besitzt, abläuft und sich keine andere dritte Einheit unerlaubt in diesen Verkehr einschaltet. Diese Prüfung wird für jede einzelne Transaktion einer Sitzung durchgeführt und ist eindeutig und einzigartig für jede einzelne Transaktion-Daten-Sitzung-Kombination.
  • 9. Weitere Beispiele für die Anwendung der Erfindung:
  • Anwendungsbeispiel 1:
  • Das hier vorgestellte Verfahren hat viele Anwendungen. Eine solche Anwendung ist die sichere Email-Kommunikation zwischen einem Anwalt und seinem Klienten. Anwalt und Klient einigen sich auf einen Schlüssel für ihre Kommunikation und beide Seiten speichern verschlüsselt den Schlüssel auf ihrem Computer. Wenn der Anwalt ein Dokument an seinen Klienten sendet, verschlüsselt er das Dokument mit dem hier dargestellten Verfahren und hängt es an eine Email an. Der Klient entschlüsselt das Dokument mit dem hier beschriebenen Verfahren. Das Verfahren kann automatisiert werden, so dass der Klient nur noch doppelt auf das angehängte verschlüsselte Dokument klicken muß und die Software oder Hardware die automatische Entschlüsselung vornimmt. Weitere Anwendungen sind die Kommunikation zwischen Anwalt und Anwalt, Steuerberater und Klient, Steuerberater und Steuerberater, beliebiger Berater und Klient, beliebiger Berater und beliebiger Berater, Regierungsverwaltung und Bürger, Regierungsverwaltung und Regierungsverwaltung, Bank und Kunde, Bank und Bank, Unternehmen und Kunde, Unternehmen und Unternehmen, Vertriebsorganisation und Vertriebsmitarbeiter, Krankenhaus und Patient, Krankenhaus und Krankenhaus, Arzt und Patient, Arzt und Arzt, und irgendeine Person und irgendeine Person.
  • Anwendungsbeispiel 2:
  • Eine weitere Anwendung des hier vorgestellten Verfahrens ist ein digitales Zahlungssystem mittels Telephonie (stationär, oder über Kabel oder drahtlos) oder sogenannte Bluetooth Geräte, im Weiteren als Kommunikationsinstrument bezeichnet. Der Benutzer eines solchen Kommunikationsinstrumentes hat mit seinem Kreditinstitut (Bank, Kreditkartengesellschaft, etc.) einen privaten Schlüssel vereinbart und auf seinem Kommunikationsinstrument das hier beschriebene Verfahren in der Hardware oder als Software implementiert. Wenn der Benutzer einen Geldbetrag von seinem Konto bei seinem Kreditinstitut zu einem anderen Kreditinstitut überweisen will, oder Produkte in einem Laden kaufen will, ruft er mit dem Kommunikationsinstrument sein Kreditinstitut an und erreicht sein Konto durch Erkennung und Authentisierung mittels des privaten Schlüssels. Alle Daten zur Durchführung des Geldtransfers werden dann unter Nutzung des hier vorgestellten Verfahrens verschlüsselt übertragen.
  • Anwendungsbeispiel 3:
  • Ein weiteres Beispiel ist die gegen Dritte abgesicherte Speicherung von vertraulichen Informationen auf öffentlich zugänglichen Computern.
  • 11
    Ganzzahl-Maschineneinheit
    21
    Byte-Umwandlereinheit
    31
    Byte-Packereinheit
    32
    Ganzzahl-Maschineneinheit
    33
    Ganzzahl-Maschineneinheit
    34
    Byte-Umwandlereinheit
    35
    Ganzzahl-Maschineneinheit
    41
    Chaosgeneratoreinheit
    42
    Byte-Packereinheit
    43
    Ganzzahl-Machineneinheit
    44
    Ganzzahl-Maschineneinheit
    51
    Chaotische Bytes-Encodereinheit
    52
    Byte-Packereinheit
    53
    Chaosgeneratoreinheit
    61
    Chaotische String-Encodereinheit
    62
    Chaotische Byte-Encodereinheit
    71
    Chaotische String-Encodereinheit
    81
    "Chaotischer Encryptor und Signerer"-Einheit
    82
    Chaotische String-Encodereinheit
    83
    Ganzzahl-Maschineneinheit
    84
    Chaosgeneratoreinheit
    131
    Schlüsselpaarsammlung-Providereinheit
    132
    Chaotische String-Encodereinheit
    141
    Initialschlüssel-Providereinheit
    142
    Schlüsselpaarsammlung-Providereinheit
    143
    Chaotische String-Encodereinheit
    151
    "Chaotischer Decryptor und Verifizierer"-Einheit
    152
    Initialschlüssel-Providereinheit
    153
    Ganzzahl-Maschineneinheit
    154
    Chaosgeneratoreinheit
    161
    Verbindungsunterbrechereinheit
    171
    Web-Browser-Maschine
    172
    Client-Proxy-Maschine
    173
    Client-Maschine
    174
    Netzwerk-Übernagungskanal
    175
    Server-Maschine
    176
    Server-Proxy-Maschine
    177
    HTTP-Server-Maschine
    178
    Chaotische String-Encodereinheit
    179
    Schlüsselpaarsammlung-Providereinheit
    1710
    Verbindungsunterbrechereinheit
    1711
    Chaotische String-Encodereinheit
    1712
    Chaotische String-Encodereinheit
    1713
    Verbindungsunterbrechereinheit
    1714
    Chaotische String-Encodereinheit
    1715
    Chaotische String-Encodereinheit
    1716
    "Chaotischer Encryptor und Signerer"-Einheit
    1717
    "Chaotischer Decryptor und Verifizierer"-Einheit
    1718
    Verbindungsunterbrechereinheit
    1719
    "Chaotischer Encryptor und Signerer"-Einheit
    1720
    "Chaotischer Decryptor und Verifizierer"-Einheit
    1721
    Verbindungsunterbrechereinheit
    1722
    "Chaotischer Encryptor und Signerer"-Einheit
    1723
    "Chaotischer Decryptor und Verifizierer"-Einheit
    1724
    Verbindungsunterbrechereinheit
    1725
    Verbindungsunterbrechereinheit
  • Liste der Abkürzungen:
  • A
    Zahlensystembasis, zum Beispiel ist A=16 für das hexadezimal Zahlensystem
    AES
    Advanced Encryption Standard
    API
    Application Program Interface
    ASCII
    American Standard Code for Information Interchange
    BC
    Block von Cipherbytes
    BD
    Block of Datenbytes
    BK
    Block von Schlüsselbytes
    CHADV
    Chaotischer Decryptor und Verifizierer
    CHAES
    Chaotischer Encryptor und Signierer
    CHADSEA
    Chaotic Digital Signature, Encryption and Authentication
    CPU
    Central Processing Unit
    DES
    Data Encryption Standard
    DSS
    Digital Signature Standard
    ECDSA
    Elliptic Curve Digital Signature Algorithm
    ElGamal
    Encryption technique named after its inventor Tahel ElGamal
    F
    Kombinationsfunktion F=f(BD, BK) die die Bedingung BD=F(F(BD, BK), BK) erfüllt und einen Block von Cipherbytes aus einem Block von Datenbytes und den Schlüsselbytes liefert
    FFT
    Fast Fourier Transform
    FTP
    File Transfer Protocol
    G
    Bytepackende Funktion G=f(BD), die eine ganzzahlige Polynomzahl P aus einem Block von Datenbytes liefert
    GNU
    Gnu is Not Unix, Projekt der Free Software Foundation
    GnuPG
    GNU Privacy Guard, Verschlüsselungswerkzeug
    H
    Kombinationsfunktion H=f(P1, P1), die eine ganzzahlige Polynomzahl P aus der Kombination einer ganzzahligen Polynomzahl, P1, mit einer anderen ganzzahligen Polynomzahl, P2, liefert
    HTTP
    HyperText Transfer Protocol
    IC
    Integrated Circuit, Integrierter Schaltkreis
    IDEA
    International Data Encryption Algorithm
    J
    Anzahl der Datenbyte- oder Cipherbyte-Blöcke innerhalb eines Dokuments
    KB
    KiloByte (= 1024 Bytes)
    NIST
    National Institute of Standards and Technology
    P
    ganzzahlige Polynomzahl
    P0
    ganzzahlige Polynomzahl und Startwert für den Chaosgenerator
    Pbp
    Bytegepackte ganzzahlige Polynomzahl, erzeugt mit G
    PK
    Kryptograhieschlüssel in Form einer ganzzahlige Polynomzahl
    PGP
    Pretty Good Privacy, Verschlüsselungswerkzeug
    RSA
    Rivest, Shamir and Adleman Algorithmus
    SIMM
    Single In-line Memory Module
    SMTP
    Simple Mail Transfer Protocol
    TCP
    Transmission Control Protocol
    TCP/IP
    Transmission Control Protocol/Internet Protocol
    UDP
    User Datagram Protocol
    URL
    Universal/Uniform Resource Locator
    WAP
    Wireless Application Protocol
    XOR
    Ist der Bit-Operator Exclusive OR
    XORen
    Anwenden des XOR-Operators auf zwei Bits.

Claims (35)

  1. Ein Verfahren zur Verschlüsselung von Daten, dadurch gekennzeichnet, dass die Kryptographieschlüssel PK zur Verschlüsselung ganzzahlige Polynomzahlen sind und diese Kryptographieschlüssel durch einen Pseudo-Zufallszahlengenerator generiert sind.
  2. Ein Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass ein Dokument sequentiell in mindestens einen Block von Datenbytes BD aufgeteilt ist, und jeder Block mit den Bytes BK des Kryptographieschlüssel PK mit der Funktion F=f(BD, BK) kombiniert wird, und dies die verschlüsselten Cypherbytes BC=F(BD, BK) ergibt und die Funktion der Bedingung BD=F(F(BD, BK), BK) genügt.
  3. Ein Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Pseudo-Zufallszahlengenerator ein Chaosgenerator ist.
  4. Ein Verfahren nach Ansprüchen 1 und 3, dadurch gekennzeichnet, dass der Chaosgenerator auf der Logistischen Gleichnung Xn+1 = r·xn(1–xn); xn ∊ [0,1] ∀ n ∊ {0,1, ..., ⇋}; 0 ≤ r ≤ 4basiert wobei r der Bifurkationsfaktor ist.
  5. Ein Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die ganzzahligen Polynomzahlen Teil des Systems
    Figure 00520001
    sind wobei P die ganzzahlige Polynomzahl ist, sign das Vorzeichen von P ist, M jeder gewünschte polynomische Grad ist, am die Polynomkoeffizienten sind, A die Basis jedes gewünschten Zahlensystems ist, i die Anzahl der Bits ist, die eine implementierende Maschine für die interne Darstellung einer Ganzzahl zur Verfügung stellt, b den Maximalwert jedes ganzzahligen Polynomkoeffizienten bestimmt und selbst bestimmt ist durch die implementierende Maschine und durch die Basis A des gewählten Zahlensystems.
  6. Ein Chaosgenerator nach Anspruch 4, dadurch gekennzeichnet, dass er ganzzahlige Polynomzahlen nach Anspruch 5 berechnet und dadurch gekennzeichnet, dass die Logistische Gleichung auf den Ganzzahlenraum transformiert ist und eine der folgenden Formen annimmt
    Figure 00530001
    wobei P eine ganzzahlige Polynomzahl ist, A die Basis des gewählten Zahlensystems ist, k die gewünschte Anzahl von Ziffern (Länge) der ganzzahligen Polynomzahl ist, r der Bifurkationsfaktor der Logistischen Gleichung ist, d ein beliebiger Skalierungsfaktor ist und N+ die Menge der positiv definierten natürlichen Zahlen ist.
  7. Ein Verfahren nach Ansprüchen 1 – 6, dadurch gekennzeichnet, dass die Basis A des Zahlensystems Teil der Teilmenge aller natürlichen Zahlen im Intervall [2, 2'] ist, wobei i die Anzahl der Bits ist, die eine implementierende Maschine für die interne Darstellung einer Ganzzahl zur Verfügung stellt, und wobei A=256 die Basis des Byte-Zahlensystems ist, A=16 die Basis des hexadezimalen, A=10 die Basis des dezimalen, A=8 die Basis des oktalen und A=2 die Basis des binären Zahlensystems ist.
  8. Ein Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass die Kombinationsfunktion F bitweise die Datenbytes BD mit den Kryptographieschlüsselbytes BK mittels des Bitoperators Exklusiv-OR (XOR) so verknüpft, dass sich die resultierenden Chypherbites BC ergeben zu BC = F(BD, BK) = (BD⊕BK) wobei ⊕ das Symbol für den XOR-Operator ist.
  9. Ein Verfahren nach Ansprüchen 1 und 2, dadurch gekennzeichnet, dass das Verfahren zur Verschlüsselung, Entschlüsselung, Signierung oder Verifizierung eines Dokuments oder für eine Kombination aus diesen für ein Dokument genutzt wird.
  10. Ein Verfahren für die elektronische Verschlüsselung eines Dokuments, dadurch gekennzeichnet, dass es ein Kryptographieverfahren nach Ansprüchen 1 – 9 beinhaltet, und dass jeder Block von Datenbytes, (BD)j, j={1, ..., J}, mit den Bytes, (BK)j–1, des Kryptographieschlüssels, (PK)j–1, der aus dem Prozessdurchlauf des Chaosgenerators für den vorhergehenden Block von Datenbytes resultiert, und mit der Kombinationsfunktion F verschlüsselt wird woraus sich der Block von Cipherbytes, (BC)j ergibt; dass dann der Block von Datenbytes, (BD)j, mit der Byte-Packerfunktion G=f(BD) in eine ganzzahlige Polynomzahl gepackt wird woraus eine bytegepackte ganzzahlige Polynomzahl (Pbp)j=G((BD)j) resultiert; dass dann der Startwert für die Logistische Gleichung nach Anspruch 6, die ganzzahlige Polynomzahl P0, erzeugt wird mit einer weiteren Kombinationsfunktion H=f(PK, Pbp), die auf (PK)j und (Pbp)j so angewandt wird, dass (P0)j=H((PK)j, (Pbp)j) wobei eine beliebige algebraische Operation darstellt; dass dann die Logistische Gleichung eine bestimmte Anzahl von N Mal mit einem bestimmten Bifurkationsfaktor R rekursiv durchlaufen wird woraus eine neue ganzzahlige Polynomzahl resultiert, die dann der Kryptographieschlüssel, (PK)j, für die Verschlüsselung des nächsten Blocks von Datenbytes, (BD)j+1, ist; dass diese gesamte Prozedur solange wiederholt wird, bis alle Blocks, J, von Datenbytes verschlüsselt sind.
  11. Ein Verfahren für die elektronische Entschlüsselung eines Dokuments, dadurch gekennzeichnet, dass es ein Kryptographieverfahren nach Ansprüchen 1 – 9 beinhaltet, und dass jeder Block von Cipherbytes, (BC)j, j={1, 2, ..., J}, mit den Bytes, (BK)j–1, des Kryptographieschlüssels, (PK)j–1, der aus dem Prozessdurchlauf des Chaosgenerators für den vorhergehenden Block von Datenbytes resultiert, und mit der Kombinationsfunktion F entschlüsselt wird woraus sich der Block von Datenbytes, (BD)j ergibt; dass dann der Block von Datenbytes, (BD)j, mit derselben Byte-Packerfunktion G=f(BD) wie sie für die Verschlüsselung nach Anspruch 10 benutzt wurde in eine ganzzahlige Polynomzahl gepackt wird woraus eine bytegepackte ganzzahlige Polynomzahl (Pbp)j=G((BD)j) resultiert; dass dann der Startwert für die Logistische Gleichung nach Anspruch 6, die ganzzahlige Polynomzahl P0, erzeugt wird mit derselben Kombinationsfunktion H=f(PK, Pbp) wie sie für die Verschlüsselung nach Anspruch 10 benutzt wurde und die auf (PK)j und (Pbp)j so angewandt wird dass (P0)j=H((PK)j, (Pbp)j) wobei der algebraische Operator derselbe Operator sein muss wie er in der entsprechenden Kombinationsfunktion H für die Verschlüsselung benutzt wurde; dass dann die Logistische Gleichung mit derselben Anzahl von N Mal und demselben bestimmten Bifurkationsfaktor R wie bei der Verschlüsselung verwendet rekursiv durchlaufen wird woraus eine neue ganzzahlige Polynomzahl resultiert, die dann der Kryptographieschlüssel, (PK)j, für die Entschlüsselung des nächsten Blocks von Cipherbytes, (BC)j+1, ist; dass diese gesamte Prozedur solange wiederholt wird, bis alle Blocks, J, von Cipherbytes entschlüsselt sind.
  12. Ein Verfahren zum elektronischen Signieren eines elektronischen Dokuments, dadurch gekennzeichnet, dass es ein Kryptographieverfahren nach Ansprüchen 1 – 9 und ein Verschlüsselungsverfahren nach Anspruch 10 enthält, und dass die allerletzte Iteration der Logistischen Gleichung für den allerletzten Block von Datenbytes den allerletzten Kryptographieschlüssel, (PK)J, der eine ganzzahlige Polynomzahl ist, liefert; und dass diese allerletzte ganzzahlige Polynomzahl, (PK)J, als Signatur des Dokumentes benutzt wird.
  13. Ein Verfahren zum elektronischen Verifizieren einer elektronischen Signatur eines elektronisch signierten elektronischen Dokuments, dadurch gekennzeichnet, dass es ein Kryptographieverfahren nach Ansprüchen 1 – 9 und ein Entschlüsselungsverfahren nach Anspruch 11 enthält, und dass die allerletzte Iteration der Logistischen Gleichung für den allerletzten Block von entschlüsselten Datenbytes den allerletzten Kryptographieschlüssel, (PK)J, der eine ganzzahlige Polynomzahl ist, liefert; und dass diese allerletzte ganzzahlige Polynomzahl, (PK)J, verglichen wird mit der Signatur des Dokuments, die mit dem Signierungsverfahren nach Anspruch 12 erzeugt wurde.
  14. Ein Verfahren zur Verschlüsselung, Entschlüsselung, Signierung und Verifizierung nach Ansprüchen 10 – 13, dadurch gekennzeichnet, dass die Anzahl der Iterationsschritte N sowie der Bifukationsfaktor R für jeden einzelnen Datenblock verschieden sein kann und dass diese Verschiedenheit basieren kann auf einer beliebigen funktionalen Abhängigkeit von den Kryptographieschlüsseln und/oder den Bytes der Datenblöcke, oder von jeder anderen Information, die auf jede beliebige Art gewonnen oder erzeugt werden kann.
  15. Ein Verfahren zur Verschlüsselung, Entschlüsselung, Signierung und Verifizierung nach Ansprüchen 10 – 13, dadurch gekennzeichnet, dass der allererste initiale Kryptographieschlüssel, (PK)0, gewonnen wird aus dem geheimen privaten Schlüssel, PK, und jeder beliebigen weiteren Information, OI, dadurch dass die Inhalte von PK und OI zu einer neue Information, NI, zusammengemischt werden; und dass dann die Bytes von NI mit dem Verfahren nach Anspruch 10 bearbeitet werden aber ohne Cipherbytes zu erzeugen; und dass dann die daraus resultierende Signatur von NI wie in Anspruch 12 beschrieben benutzt wird als der erste initiale Kryptographieschlüssel, (PK)0; und dass der Chaosgenerator wie in Anspruch 6 beschrieben zum allerersten Mal mit einem Startwert, P0, der auf irgendeine Art dadurch gewonnen wird, dass alle oder eine Teilmenge der Bytes von NI in eine ganzzahlige Polynomzahl gepackt werden, gestartet wird.
  16. Ein Verfahren zur Verschlüsselung, Entschlüsselung, Signierung und Verifizierung nach Ansprüchen 10 – 13, dadurch gekennzeichnet, dass die Byte-Packerfunktion G eine ganzzahlige Polynomzahl wie in Anspruch 5 beschrieben erzeugt, und dass dabei die Bytewerte mit beliebigen Mitteln so transformiert und geordnet werden, wie es für die Basis A des aktuell benutzten Zahlensystems und für die gewünschte Länge k der ganzzahligen Polynomzahl wie in Anspruch 6 beschrieben geeignet erscheint.
  17. Ein Verfahren zur Verschlüsselung, Entschlüsselung, Signierung und Verifizierung nach Ansprüchen 10 – 13, dadurch gekennzeichnet, dass die Kombinationsfunktion H eine ganzzahlige Polynomzahl der Länge k aus zwei anderen ganzahligen Polynomzahlen derselben Länge k generiert.
  18. Ein Verfahren zur Verschlüsselung, Entschlüsselung, Signierung und Verifizierung nach Anspruch 17, dadurch gekennzeichnet, dass die Kombinationsfunktion H eine Funktion ist aus der Gruppe von Funktionen die gebildet wird aus arithmetischen Mittelungsfunktionen, beliebigen anderen gewichteten Interpolationsfunktionen und Funktionen unter Verwendung der biweisen Anwendung des XOR-Operators.
  19. Ein Verfahren zur Verschlüsselung, Entschlüsselung, Signierung und Verifizierung nach Anspruch 15, dadurch gekennzeichnet, dass die weitere Information, OI, besteht aus der öffentlichen Schlüssel-ID, oder dem Namen der unterzeichnenden Einheit, oder einem einzigartigen Zeitstempel, oder Kodierungskennungen, die Aufschluß geben über eine potenziell vorher durchgeführte Datenkompression, oder die aktuell benutzt Länge k der ganzzahligen Polynomzahlen, oder einer beliebigen Kombination aus all den gerade genannten Möglichkeiten.
  20. Ein Verfahren zur Verschlüsselung, Entschlüsselung, Signierung und Verifizierung nach Anspruch 19, dadurch gekennzeichnet, dass die öffentliche Schlüssel-ID jede beliebige Information sein kann, die geignet erscheint, anhand dieser Information einen privaten Schlüssel zum Entschlüssel von der entschlüsselnden Einheit ausfindig zu machen, ohne jedoch irgendwelche Informationen über den Inhalt und die Struktur des privaten Schlüssels selbst preiszugeben.
  21. Ein Verfahren zur Verschlüsselung, Entschlüsselung, Signierung und Verifizierung nach Anspruch 20, dadurch gekennzeichnet, dass die öffentliche Schlüssel-ID aus dem privaten Schlüssel dadurch gewonnen wird, indem die Bytes des privaten Schlüssels in derselben Weise bearbeitet werden wie für die neue Information, NI, in Anspruch 15 beschrieben, und dass dann der dadurch gewonnene allererste initiale Kryptographieschlüssel, (PK)0, die öffentliche Schlüssel-ID ist.
  22. Ein Verfahren zur Verschlüsselung, Entschlüsselung, Signierung und Verifizierung nach Anspruch 19, dadurch gekennzeichnet, dass der einzigartige Zeitstempel aus einer beliebigen Sequenz von Bytes besteht, die geeignet erscheint, bezüglich aller durchzuführenden Verschlüsselungen einzigartig zu sein.
  23. Ein Verfahren zur Verschlüsselung, Entschlüsselung, Signierung und Verifizierung nach Anspruch 19, dadurch gekennzeichnet, dass der einzigartige Zeitstempel die aktuelle Uhrzeit und das aktuelle Datum des aktuellen Verschlüsselungsprozesses in irgendeiner beliebigen Form repräsentiert.
  24. Ein Verfahren nach Ansprüchen 1 und 2, dadurch gekennzeichnet, dass das Dokument von einer sendenden Einheit an eine empfangende Einheit übermittelt wird; und dass das Dokument eine Signatur nach Anspruch 12 beinhaltet; und dass das Dokument einen Dokumentkopf beinhaltet wobei der Dokumentkopf die weiteren Informationen, OI, wie in Ansprüchen 19 – 23 beschrieben, beinhaltet.
  25. Ein Verfahren nach Anspruch 24, dadurch gekennzeichnet, dass der Dokumentkopf am Anfang, oder am Ende, oder an einer beliebig definierten Position oder mehereren beliebig definierten Positionen innerhalb des Dokuments in das Dokument eingefügt ist.
  26. Ein Verfahren nach Anspruch 24, dadurch gekennzeichnet, dass die Signatur am Anfang, oder am Ende, oder an einer beliebig definierten Position oder mehreren beliebig definierten Positionen innerhalb des Dokuments in das Dokument eingefügt ist.
  27. Ein Verfahren nach Anspruch 24, dadurch gekennzeichnet, dass die Übermittlung auf einem beliebigen Übertragungskanal erfolgt und unabängig ist von ihrer physikalischen Implementierung und ein beliebiges Übertragungsprotokoll nutzt.
  28. Ein Verfahren nach Anspruch 24, dadurch gekennzeichnet, dass das Dokument zwischen einem Paar von Einheiten ausgetauscht wird, und das das Paar von Einheiten zu der Gruppe von Einheitenpaaren gehört, die gebildet wird aus den Paaren Anwalt und Klient, Anwalt und Anwalt, Steuerberater und Klient, Steuerberater und Steuerberater, beliebiger Berater und Klient, beliebiger Berater und beliebiger Berater, Regierungsverwaltung und Bürger, Regierungsverwaltung und Regierungsverwaltung, Bank und Kunde, Bank und Bank, Unternehmen und Kunde, Unternehmen und Unternehmen, Vertriebsorganisation und Vertriebsmitarbeiter, Krankenhaus und Patient, Krankenhaus und Krankenhaus, Arzt und Patient, Arzt und Arzt, und irgendeine Person und irgendeine Person.
  29. Ein Verfahren nach Ansprüchen 1 und 2, dadurch gekennzeichnet, dass das verschlüsselte Dokument auf einer beliebigen Speichereinheit gespeichert wird.
  30. Ein Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das Verfahren benutzt wird, um eine sendende Einheit (SE) durch eine empfangende Einheit (EE) zu authentifizieren; und das die öffentliche Schlüssel-ID laut den Ansprüchen 20 and 21 von der sendenden Einheit SE an die empfangende Einheit EE laut Anspruch 27 gesendet wird; und dass dann die EE den entsprechenden privaten Schlüssel für die weitere Kommunikation anhand der öffentlichen Schlüssel-ID ausfindig macht; und das dann die EE einen Zeitstempel laut den Ansprüchen 22 und 23 erzeugt, diesen Zeitstempel und den privaten Schlüssel zu einer neuen Information, NI, mischt und NI mit dem Chaosgenerator laut Anspruch 15 bearbeitet und in Form der daraus resultierenden Signatur einen Prüfwert, CV, erhält; und das dann die EE den Zeitstempel an die SE sendet; und das dann die SE eine Signatur aus dem privaten Schlüssel und diesem Zeitstempel auf dieselbe Weise erzeugt, wie die EE zur Erzeugung von CV, und dann diese Signatur als Testwert, PV, an die EE sendet; und dass dann die EE den empfangenen PV-Wert mit dem lokal berechnet CV-Wert vergleicht; und dass dann die EE entscheidet, dass die SE diejenige Einheit ist, die sie vorgibt zu sein, wenn die Werte von CV und PV identisch sind, und entscheidet, dass die SE nicht diejenige Einheit ist, die sie vorgibt zu sein, wenn die Werte von CV und PV nicht identisch sind.
  31. Ein Verfahren nach Ansprüchen 1 – 30, dadurch gekennzeichnet, dass einzelne oder alle Komponenten in Maschinen oder Maschineneinheiten in jeder beliebigen Art von Software oder Hardware, oder in jeder beliebigen Kombination hieraus implementiert sind.
  32. Ein System, das dadurch gekennzeichnet ist, dass einzelne oder alle Systemkomponenten zur Ausführung der Verfahren laut den Ansprüchen 1 – 31 in beliebiger technischer Bauform als Ganzes in einer eigenständigen Maschine implementiert sind oder in Teilen in verschiedenen Maschinen implementiert sind.
  33. Ein System nach Anspruch 32, das dadurch gekennzeichnet ist, dass einzelne Systemkomponenten in beliebiger Softwarekodierung auf den technisch implentierten Systemkomponenten und eventuell anderer notwendiger Hardware-Komponenten lauffähig sind.
  34. Ein System nach Anspruch 32, das dadurch gekennzeichnet ist, dass die technisch implementierenden Systemkomponenten zu der Gruppe von technischen Bauformen gehören, die besteht aus beliebigen RAMs (Random-Access Memory), beliebigen ROMs (Read Only Memory), beliebigen ICs (Integrated Circuit), beliebigen EPROMs (Erasable Programmable Read Only Memory), beliebiger Harddisks (Festplatte), beliebigen optischen und magnetischen Speichereinheiten und Speichermedien, beliebigen Prozessoren (CPUs, Central Processing Unit), beliebigen Co-Prozessoren, beliebigen Chips, beliebigen Smartcards, beliebigen SIMMs (Single In-line Memory Module), und allen anderen beliebigen technischen Bauteilen, die in der Lage sind zu speichern, oder kodierte oder festverdrahtete Befehle oder Rechnungen auszuführen, oder mit anderen Bauteilen zu kommunizieren, oder beliebige Kombinationen dieser Funktionen auszuführen.
  35. Ein System nach Ansprüchen 32 und 33, dadurch gekennzeichnet dass insbesondere einzelne oder alle der folgenden Systemkomponenten in Form von eigenständigen Einheiten implementiert sind: Ganzzahl-Maschine, Byte-Umwandler, Byte-Packer, Chaosgenerator, Chaotischer Bytes-Encoder, Chaotischer String-Encoder, Chaotischer Encryptor und Signerer, Schlüsselpaarsammlung-Provider, Initialschlüssel-Provider, Chaotischer Decryptor und Verifizierer, Verbindungsunterbrecher, Client-Proxy, Client, Server, Server-Proxy, HTTP-Server.
DE102005024725A 2004-06-05 2005-05-31 System und Verfahren für Chaotische Digitale Signatur, Verschlüsselung und Authentifizierung Withdrawn DE102005024725A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US57745204P 2004-06-05 2004-06-05
US60/577,452 2004-06-05

Publications (1)

Publication Number Publication Date
DE102005024725A1 true DE102005024725A1 (de) 2005-12-22

Family

ID=35433361

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005024725A Withdrawn DE102005024725A1 (de) 2004-06-05 2005-05-31 System und Verfahren für Chaotische Digitale Signatur, Verschlüsselung und Authentifizierung

Country Status (2)

Country Link
US (1) US20050271207A1 (de)
DE (1) DE102005024725A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009035016A1 (de) * 2009-07-28 2011-02-03 Diehl Bgt Defence Gmbh & Co. Kg Verfahren zur drahtlosen Übermittlung von aus Datenpaketen gebildeten Informationen

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7509250B2 (en) * 2005-04-20 2009-03-24 Honeywell International Inc. Hardware key control of debug interface
US7894606B2 (en) * 2005-11-28 2011-02-22 Panasonic Electric Works Co., Ltd. Systems and methods for facilitating secure key distribution to an embedded device
CA2571891C (en) * 2006-12-21 2015-11-24 Bce Inc. Device authentication and secure channel management for peer-to-peer initiated communications
US8719336B2 (en) * 2009-02-03 2014-05-06 Microsoft Corporation Method and apparatus for thwarting traffic analysis in online games
KR101095386B1 (ko) * 2010-04-29 2011-12-16 동국대학교 산학협력단 이산화된 카오스 함수를 이용한 암호 시스템
US9319877B2 (en) * 2010-12-21 2016-04-19 Massachusetts Institute Of Technology Secret key generation
EP2686978B1 (de) * 2011-03-18 2017-03-15 Certicom Corp. Verschlüsselte pv-signaturen
WO2012128916A2 (en) * 2011-03-24 2012-09-27 AYaH, LLC Method for generating a human likeness score
WO2012151351A1 (en) * 2011-05-04 2012-11-08 Marvell World Trade Ltd. Wireless authentication using beacon messages
US9778912B2 (en) * 2011-05-27 2017-10-03 Cassy Holdings Llc Stochastic processing of an information stream by a processing architecture generated by operation of non-deterministic data used to select data processing modules
US9215076B1 (en) 2012-03-27 2015-12-15 Amazon Technologies, Inc. Key generation for hierarchical data access
US8892865B1 (en) 2012-03-27 2014-11-18 Amazon Technologies, Inc. Multiple authority key derivation
US8739308B1 (en) 2012-03-27 2014-05-27 Amazon Technologies, Inc. Source identification for unauthorized copies of content
WO2014030186A1 (ja) * 2012-08-23 2014-02-27 富士通株式会社 中継装置、中継方法、中継プログラムおよび中継システム
MX364063B (es) 2013-03-05 2019-04-11 Fasetto Inc Sistema y metodo para usuarios de interfaces de graficas cubicas.
CN103346875B (zh) * 2013-05-08 2016-10-26 东南大学 混沌保密通信系统中数字混沌密码的产生方法
JP6248422B2 (ja) * 2013-06-05 2017-12-20 富士通株式会社 情報開示システム、情報開示プログラム及び情報開示方法
US10095873B2 (en) 2013-09-30 2018-10-09 Fasetto, Inc. Paperless application
US9584402B2 (en) 2014-01-27 2017-02-28 Fasetto, Llc Systems and methods for peer to peer communication
US10904717B2 (en) 2014-07-10 2021-01-26 Fasetto, Inc. Systems and methods for message editing
US10437288B2 (en) 2014-10-06 2019-10-08 Fasetto, Inc. Portable storage device with modular power and housing system
EP3227790A4 (de) 2014-12-05 2018-12-26 Honeywell International Inc. Überwachungs- und steuerungssystem unter verwendung von cloud-diensten
US10075502B2 (en) 2015-03-11 2018-09-11 Fasetto, Inc. Systems and methods for web API communication
JP6580430B2 (ja) * 2015-09-11 2019-09-25 ルネサスエレクトロニクス株式会社 センサ制御装置、センサシステム、及び、橋梁監視システム
US9882807B2 (en) * 2015-11-11 2018-01-30 International Business Machines Corporation Network traffic classification
US11388174B2 (en) 2016-02-29 2022-07-12 Secret Double Octopus Ltd System and method for securing a communication channel
CN106027262B (zh) * 2016-07-01 2017-02-22 陕西科技大学 一种抵抗密钥恢复攻击的多变量签名方法
MX2019005965A (es) 2016-11-23 2019-10-24 Fasetto Inc Sistemas y metodos para transmision de medios.
EP3576992A4 (de) 2017-02-03 2020-12-02 Fasetto, Inc. Systeme und verfahren zur datenspeicherung in verschlüsselten vorrichtungen
US11025724B2 (en) * 2017-07-24 2021-06-01 Facebook, Inc. Transport of control data in proxy-based network communications
US10763630B2 (en) 2017-10-19 2020-09-01 Fasetto, Inc. Portable electronic device connection systems
US11985244B2 (en) 2017-12-01 2024-05-14 Fasetto, Inc. Systems and methods for improved data encryption
CN112292708B (zh) 2018-04-17 2022-06-17 法斯埃托股份有限公司 具有实时反馈的演示系统和方法
CN108712261B (zh) * 2018-05-10 2021-02-26 杭州智块网络科技有限公司 一种基于区块链的密钥生成方法、装置及介质
CN110896387B (zh) * 2018-09-12 2021-01-01 宁德时代新能源科技股份有限公司 数据传输方法、电池管理系统和存储介质
US11233637B2 (en) * 2018-10-18 2022-01-25 Secret Double Octopus Ltd System and method for validating an entity
CN109902483B (zh) * 2019-01-10 2023-01-10 如般量子科技有限公司 基于多个密钥池的抗量子计算代理数字签名方法和系统
CN110677236B (zh) * 2019-11-01 2022-10-21 辽宁工程技术大学 一种基于复合混沌系统与异或运算的ofdm加密方法
CN112100983B (zh) * 2020-08-14 2024-05-10 许继集团有限公司 一种用于系统中的标识码以及标识码的生成方法
CN113163232B (zh) * 2021-04-21 2022-08-05 杭州叙简科技股份有限公司 一种基于混沌的多用户的视频文件加密系统及方法
CN113795023B (zh) * 2021-09-26 2024-03-19 深圳市芯中芯科技有限公司 一种基于混沌序列和分组加密的蓝牙数据传输加密方法
US11902420B2 (en) * 2021-11-23 2024-02-13 Theon Technology Llc Partial cryptographic key transport using one-time pad encryption
CN114142987B (zh) * 2021-11-25 2023-05-26 南京信息工程大学 一种基于新型Logistic混沌加密方式的OCDM系统
CN115622795B (zh) * 2022-11-15 2023-02-28 青岛以萨数据技术有限公司 基于混沌加密算法的文件加密方法、电子设备及存储介质
CN116527233B (zh) * 2023-03-13 2023-09-19 安徽合工质能双碳科技有限公司 基于云计算的能源监测数据管理系统
CN116521210B (zh) * 2023-04-18 2024-05-03 宁夏隆基宁光仪表股份有限公司 一种物联网水表固件差量升级的方法
CN116743461B (zh) * 2023-06-15 2023-12-22 上海银满仓数字科技有限公司 基于时间戳的商品数据加密方法和装置
CN117459322B (zh) * 2023-12-22 2024-03-08 济南工程职业技术学院 基于物联网的计算机软件数据加密方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003152706A (ja) * 2001-11-12 2003-05-23 Toshiba Information Systems (Japan) Corp 暗号生成装置、暗号復号装置、暗号生成プログラム、暗号復号プログラム、認証システム、電子装置
EP1467512B1 (de) * 2003-04-07 2008-07-23 STMicroelectronics S.r.l. Verschlüsselungsverfahren unter Verwendung von chaotischen Abbildungen und digitale Unterschriftsverfahren

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009035016A1 (de) * 2009-07-28 2011-02-03 Diehl Bgt Defence Gmbh & Co. Kg Verfahren zur drahtlosen Übermittlung von aus Datenpaketen gebildeten Informationen

Also Published As

Publication number Publication date
US20050271207A1 (en) 2005-12-08

Similar Documents

Publication Publication Date Title
DE102005024725A1 (de) System und Verfahren für Chaotische Digitale Signatur, Verschlüsselung und Authentifizierung
DE60302276T2 (de) Verfahren zur ferngesteuerten Änderung eines Kommunikationspasswortes
DE60209475T2 (de) Datensicherungs-kommunikationsvorrichtung und -verfahren
DE19514084C1 (de) Verfahren zum rechnergestützten Austausch kryptographischer Schlüssel zwischen einer Benutzercomputereinheit U und einer Netzcomputereinheit N
DE69534192T2 (de) Verfahren zur gemeinsamen Nutzung einer geheimen Information, zur Erzeugung einer digitalen Unterschrift und zur Ausführung einer Beglaubigung in einem Kommunikationssystem mit mehreren Informationsverarbeitungseinrichtungen und Kommunikationssystem zur Anwendung dieses Verfahrens
DE602005002652T2 (de) System und Verfahren für das Erneuern von Schlüsseln, welche in Public-Key Kryptographie genutzt werden
DE102010002241B4 (de) Vorrichtung und Verfahren zur effizienten einseitigen Authentifizierung
DE112020004236T5 (de) Vorwärts gerichtete sicherheit in der transport layer security unter verwendung von ephemeren schlüsseln
EP1125395B1 (de) Verfahren und anordnung zur authentifikation von einer ersten instanz und einer zweiten instanz
US20020191796A1 (en) Symmetric and asymmetric encryption method with arbitrarily selectable one-time keys
DE69935455T2 (de) Kryptographisches verfahren unter verwendung eines öffentlichen und eines privaten schlüssels
DE102009061045A1 (de) Erzeugung eines Session-Schlüssels zur Authentisierung und sicheren Datenübertragung
CH694601A5 (de) Verfahren zur Verifizierung der Echtheit von ausgetauschten Nachrichten.
DE69838258T2 (de) Public-Key-Datenübertragungssysteme
CH711133A2 (de) Protokoll zur Signaturerzeugung.
Li et al. Lattice-based privacy-preserving and forward-secure cloud storage public auditing scheme
CH708240A2 (de) Signaturprotokoll und Gerät zu dessen Umsetzung.
US20080181397A1 (en) Secure data transmission and storage using limited-domain functions
RU2533087C2 (ru) Криптография с параметризацией на эллиптической кривой
Lin et al. Research on authentication and key negotiation based on smart water environment
Tutoveanu Active implementation of end-to-end post-quantum encryption
DE60105328T2 (de) Öffentliche Schlüsselverteilung unter Verwendung einer näherungsweise linearen Funktion
DE60211008T2 (de) Authentifizierung eines entfernten benutzers zu einem host in einem datenkommunikationssystem
DE19518546C1 (de) Verfahren zum rechnergestützten Austausch kryptographischer Schlüssel zwischen einer Benutzercomputereinheit U und einer Netzcomputereinheit N
CN110572788A (zh) 基于非对称密钥池和隐式证书的无线传感器通信方法和系统

Legal Events

Date Code Title Description
R005 Application deemed withdrawn due to failure to request examination

Effective date: 20120601