DE10355865B4 - Verfahren und Chip zur kryptographischen Verschlüsselung von Daten - Google Patents

Verfahren und Chip zur kryptographischen Verschlüsselung von Daten Download PDF

Info

Publication number
DE10355865B4
DE10355865B4 DE2003155865 DE10355865A DE10355865B4 DE 10355865 B4 DE10355865 B4 DE 10355865B4 DE 2003155865 DE2003155865 DE 2003155865 DE 10355865 A DE10355865 A DE 10355865A DE 10355865 B4 DE10355865 B4 DE 10355865B4
Authority
DE
Germany
Prior art keywords
bapa
key
chip
bit
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE2003155865
Other languages
English (en)
Other versions
DE10355865A1 (de
Inventor
Lutz Paul
Gudrun Bartscher
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.)
KVH BETEILIGUNGS GMBH & CO. KG, 20259 HAMBURG, DE
WITT, KARSTEN, 99428 NOHRA, DE
Original Assignee
Bartscher Gudrun Dipl-Ing
Paul Lutz Dipl-Ing
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 Bartscher Gudrun Dipl-Ing, Paul Lutz Dipl-Ing filed Critical Bartscher Gudrun Dipl-Ing
Priority to DE2003155865 priority Critical patent/DE10355865B4/de
Publication of DE10355865A1 publication Critical patent/DE10355865A1/de
Application granted granted Critical
Publication of DE10355865B4 publication Critical patent/DE10355865B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/067Network architectures or network communication protocols for network security for supporting key management in a packet data network using one-time keys
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • 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/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of 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/26Testing cryptographic entity, e.g. testing integrity of encryption key or encryption algorithm
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

Verfahren zum kryptographischen Verschlüsseln und Entschlüsseln von Daten mit einem symmetrischen Chiffrieralgorithmus nach dem Stromprinzip, gekennzeichnet durch folgende Schritte;
a Schritte der Chiffrierung
a.a Chiffrierung eines Zeichens eines Datenbusses mit einen Schlüsselgenerator zur Erzeugung eines strukturierten Schlüssels, mit den Schritten
a.b eine bestimmte geordnete Menge von ONE-TIME-PAD {T1, T2, ..., TG} und Initialisierungsvektoren, die den Schlüssel bilden und die Umwandlung vorgeben, wird erzeugt,
a.c Öffnung einer zu chiffrierenden Datei D0,
a.d Vorgabe einer Anzahl von Chiffrierzyklen e und Zurücksetzung des Iterationszählers auf Null (i := 0), wobei der Chiffrierzyklus abhängig von der Ausgangsdatei ist,
a.e Erzeugung einer Zufallszahl fi,
a.f Ermittlung einer Nummer des anzuwendenden ONE-TIME-PAD Ti = Ti(fi),
a.g Substitution eines Zeichens aus der zu verschlüsselnden Datei mit Symbolen aus dem ONE-TIME-PAD,
a.h Veränderung des ausgewählten Symbols durch Bitmanipulation und Bildung der Teilchiffren sPart und bPart,
a.i Umwandlung eines...

Description

  • Die Erfindung betrifft ein neues Verfahren und einen neuen Chip zur kryptographischen Verschlüsselung von Daten in modernen Kommunikationssystemen.
  • Die digitale Verfügbarkeit jedweder Daten öffnet der Manipulation, ob via Telefon oder Computer, Tür und Tor. Zu ihrem Schutz werden sehr gute Verschlüsselungstechniken benötigt. Ein Hacker braucht zum Knacken eines 40-Bit-Codes rund eine Woche, ein Dienst aber nur 0,0002 Sekunden. Das bedeutet in einer 10-tausendstel Sekunde ist das Geheimnis eine Offenbarung. Die revolutionären Veränderungen in den IT-Technologien haben dafür gesorgt, dass heute kürzere Entschlüsslungszeiten erreicht werden.
  • Beispielsweise ist eine E-Mail ohne Verschlüsselung wie eine Postkarte zu begreifen, die sich an jedem Internet-Knotenpunkt mitlesen und sogar verändern lässt. Auf ihrem Weg passieren sie oftmals Dutzende von Servern, werden auf Festplatten zwischengespeichert und tauchen in diversen Logdateien auf. Um sicherzustellen, dass niemand mitlesen oder gar manipulieren kann, muss eine wirksame Verschlüsselungs-Software eingesetzt werden.
  • Internetspionage ist heut keine technische, personale und finanzpolitische Kapazitätsfrage, denn die "Programmierer" haben bei dieser Art der Spionage den Menschen durch Cookies, Applets, Active-X, Plug-ins usw. fast überflüssig gemacht. Somit wurden Beiträge zur "Gläsernen Gesellschaft" erbracht. Sicherheitslöcher finden sich im Internet-Explorer zuhauf, denn jeder Homepage-Aktive kann mit Microsoft-Aversion unendliche Möglichkeiten für den Missbrauch nutzen, um auf den Computern von Anwendern des Internet-Explorers Schaden zu verursachen.
  • Die Kryptographie ist die Wissenschaft von den Methoden der Verschlüsselung (Chiffrierung) und Entschlüsselung (Dechiffrierung) von Daten. Es wird also nicht die Existenz der eigentlichen Information versteckt, sondern deren Bedeutung. Die Sicherheit der Verschlüsselung hängt eindeutig von der Standhaftigkeit der kryptographischen Algorithmen ab. Die Kryptographie spannt somit den gesamten Bogen von theoretischen Untersuchungen in der Mathematik bis hin zum Full-Custom-Entwurf in VLSI.
  • [Stand der Technik]
  • Kryptographische Verfahren haben eine grundlegende Bedeutung, um die Anforderung an die Datensicherheit in informationstechnischen Systemen zu erfüllen. Dabei geht es um Geheimhaltung, Fälschungssicherheit und Authentizität. Immer wichtiger wird in Zeiten rapide wachsender digitaler Datennetze die Verschlüsselung der versandten Daten in Echtzeit. Maßstäbe hierfür setzen die Übertragungsraten von 9,6 kBit/s einer Chipkarte, von 64 kBit/s im ISDN-Netz der Telekom und von 8 MBit/s für das digitale Fernsehen. Sowohl Anforderungen an die Geschwindigkeit als auch Aspekte der Sicherheit legen es nahe, kryptographische Algorithmen in Hardware zu implementieren. Dabei reichen in den bekannten Systemen, insbesondere für die Übertragung großer Datenmengen, weder Realisierungen von „optimierten" Algorithmen in standardmäßiger Hardware noch Realisierungen von Standardalgorithmen in „optimierter" Hardware aus.
  • In bisherigen Systemen sind autonome Hardwarelösungen in bezug auf Leistungsaufnahme, Größe und Gewicht kritisch. Ein höherer Energieverbrauch verringert die Betriebsdauer oder erhöht das Gewicht der Energieversorgung und damit die Größe des gesamten Systems.
  • Außerdem gewährleisten die bisherigen Hardwarerealisierungen keine größere Sicherheit gegenüber Angriffen, da die zur Entschlüsselung benötigten Komponenten nicht direkt auf dem Chip abgelegt sind.
  • Des weiteren besitzen die auf den gegenwärtigen Algorithmen basierenden Verfahren viele Schwachstellen. Ein Beispiel dafür ist das erfolgreiche „Hacken" von AES. Ein weiterer Fakt ist, das all diese Algorithmen von Kryptologen entwickelt wurden, die im Dienste nicht deutscher Behörden oder anderer Gesellschaften stehen.
  • Nachfolgend werden grundlegende bekannte Mechanismen aufgeführt, die in komplexeren kryptographischen Verfahren zum Einsatz kommen. Durch Kombination dieser relativ einfachen Mechanismen können digitale Signaturen oder Authentifikationen realisiert werden.
  • Symmetrische Verschlüsselungsverfahren arbeiten mit identischen Schlüsseln zum Ver- und Entschlüsseln. Das bedeutet, das der Sender als auch der Empfänger einer Nachricht einen identischen Key haben muss. Die symmetrischen Verschlüsselungsverfahren sind im allgemeinen sehr schnelle Verfahren, so dass sie gut geeignet sind, um damit große Datenmengen zu verschlüsseln. Die Sicherheit hängt stark von der Länge der verwendeten Schlüssel ab. Vereinfacht kann man sagen, je länger der Schlüssel ist, desto sicherer ist das Verfahren.
  • Ein Problem im Zusammenhang mit symmetrischen Verschlüsselungsverfahren ist der Schlüsselaustausch. Wie schon erwähnt müssen Sender und Empfänger der Nachricht im Besitz desselben Schlüssels sein. Es muss also ein Weg gefunden werden, dem Kommunikationspartner den Schlüssel mitzuteilen, ohne dass dieser abgehört werden kann.
  • Asymmetrische Verschlüsselungsverfahren arbeiten mit verschiedenen Schlüsseln zum Ver- und Entschlüsseln. Das heißt, dass man nur einen der beiden Schlüssel kennen muss, um eine Nachricht zu verschlüsseln. Diese Nachricht kann aber nur mit dem zweiten Schlüssel wieder entschlüsselt werden. Auch gibt es keine Möglichkeit, in realistischer Zeit aus dem einen Schlüssel den anderen zu gewinnen. Diese zwei zusammengehörigen Schlüssel bilden ein Schlüsselpaar. Jeder, der mit Hilfe eines asymmetrischen Verfahrens, Nachrichten verschlüsselt austauschen will, erzeugt sich ein solches Schlüsselpaar. Der eine Schlüssel, der sogenannte öffentliche Schlüssel oder Public Key, wird veröffentlicht und eventuell in einem Verzeichnis ähnlich einem Telefonbuch hinterlegt. Der andere Schlüssel wird geheim gehalten und niemandem zugänglich gemacht. Möchte nun jemand dem Besitzer des Schlüsselpaares eine sichere Nachricht zukommen lassen, nimmt er dessen öffentlichen Schlüssel und verschlüsselt die Nachricht mit diesem. Der Empfänger kann die Nachricht dann problemlos mit seinem geheimen Schlüssel entschlüsseln.
  • Die asymmetrischen Verschlüsselungsverfahren sind mathematisch sehr aufwendig und arbeiten normalerweise mit sehr langen Schlüsseln. Aus diesem Grund sind sie in der Regel langsamer als symmetrische Verschlüsselungsverfahren. Im Gegensatz zu den symmetrischen Verfahren besteht das Problem des Schlüsselaustausches bei den asymmetrischen Verfahren nicht, da der öffentliche Schlüssel ja veröffentlicht werden kann, und der geheime Schlüssel niemandem außer dem Besitzer bekannt sein sollte.
  • Ein Beispiel für ein asymmetrisches Verschlüsselungsverfahren ist das bekannte RSA-Verfahren von Rivest, Adleman und Shamir.
  • Ein One-Way-Hash ist im Prinzip eine Prüfsumme mit bestimmten Eigenschaften über eine Menge von Daten. Zum einen reduziert die One-Way-Hash-Funktion die Daten auf eine relativ kurze Prüfsumme, das heißt es lässt sich von der Prüfsumme nicht wieder auf die Daten zurückschließen. Zum anderen ist es in realistischer Zeit nicht möglich rückwärts Daten zu einem Hash-Wert zu erzeugen. Das heißt, es ist nicht möglich Daten zu generieren, die einen bestimmte Hash-Wert erzeugen.
  • Eine Hash-Funktion lässt sich dazu verwenden, die Unversehrtheit eines Datenblockes zu prüfen, da es praktisch nicht möglich ist, Daten so zu verändern, dass sie hinterher immer noch den selben Hash-Wert erzeugen.
  • Für bestimmte Anwendungen kryptographischer Verfahren, wie zum Beispiel die Authentifikation, sind sichere Zufallszahlen eine wichtige Grundlage. Außerdem können mit Hilfe von Zufallszahlen auch Schlüssel für die symmetrischen Verschlüsselungsverfahren erzeugt werden.
  • Diese Zufallszahlen sollten möglichst nahe an wirklich zufällige Zahlen herankommen, obwohl es sich natürlich nur um Pseudozufallszahlen handeln kann, die mit Hilfe eines mathematischen Verfahrens gewonnen werden. Die Zufallszahlen sollen also sowohl bezüglich Wiederholungen als auch bezüglich der Zahl von Nullen und Einsen in den Zahlen möglichst gut verteilt sein. Zusätzlich sollte es unmöglich sein, von einer Zufallszahl auf die Nächste zu schließen.
  • Im folgenden sollen noch einige bekannte grundlegende Protokolle zur Anwendung von kryptographischen Verfahren dargestellt werden.
  • Wie schon erwähnt, findet beim Einsatz von symmetrischen Verschlüsselungsverfahren ein Schlüsselaustauschverfahren statt, d. h. derselbe Schlüssel wird zum Ver- und Entschlüsseln benötigt. Dabei stellt sich natürlich das Problem, wie der zu verwendende Schlüssel dem Kommunikationspartner bekannt gemacht werden kann, ohne zu riskieren, dass dieser abgehört werden kann und damit alle Verschlüsselung ad absurdum geführt ist.
  • Um eine rechtliche Grundlage für elektronisch abzuwickelnde Geschäfte zu schaffen, wird eine der handschriftlichen Unterschrift entsprechende Willenserklärung benötigt. Diese digitale Unterschrift oder digitale Signatur beruht bei den Standard-Verfahren ebenfalls auf den asymmetrischen Verschlüsselungsverfahren. Da außer dem Besitzer niemand den geheimen Schlüssel eines Schlüsselpaares kennt, kann also auch nur dieser diesen Schlüssel benutzen. Nachrichten, die mit dem geheimen Schlüssel eines Schlüsselpaares chiffriert werden, können nur mit dem zugehörigen öffentlichen Schlüssel entschlüsselt werden. Das bedeutet, dass eine Nachricht, die sich mit einem bestimmten öffentlichen Schlüssel entschlüsseln lässt, mit dem passenden geheimen Schlüssel verschlüsselt worden ist, also nur vom Besitzer des Schlüsselpaares stammen kann.
  • Diese Tatsache wird genutzt, um eine digitale Signatur zu generieren. Der Absender verschlüsselt einen Hash über die Nachricht, die er unterschreiben möchte, um beispielsweise einem Vertrag zuzustimmen, mit seinem geheimen Schlüssel. Der Empfänger kann dann, wenn er sicher weiß, dass der entsprechende öffentliche Schlüssel echt ist, prüfen, ob die Signatur echt ist, in dem er sie mit dem öffentlichen Schlüssel entschlüsselt, ebenfalls einen Hash über die Nachricht bildet, und die beiden Hash-Werte vergleicht.
  • Sehr häufig ist es notwendig, sicher zu wissen, wer der Gegenüber ist, beziehungsweise, ob der Gegenüber der ist, für den er sich ausgibt. Im normalen Geschäftsleben wird diese Funktion dadurch erfüllt, das sich der Gegenüber zum Beispiel mit Hilfe seines Personalausweises legitimiert. Die Prüfung eines solchen Dokuments ist auf elektronische Art nur schwer möglich. Außerdem müssen sich auch Computer untereinander authentifizieren können. Es ist also ein Verfahren nötig, mit dem elektronisch die Identität von Personen oder Computern nachgewiesen werden kann. Dieses Standard-Authentifikationsverfahren beruht wiederum auf asymmetrischen Verschlüsselungsverfahren. Wie auch bei der digitalen Signatur wird wieder die Tatsache ausgenutzt, dass die geheimen Schlüssel nur den jeweiligen Besitzern bekannt sind. Eine mit dem geheimen Schlüssel verschlüsselte Nachricht hat deshalb den Absender eindeutig identifiziert, wenn der zur Prüfung verwendete öffentliche Schlüssel echt ist.
  • Beim Authentifizieren sendet nun der Prüfende dem Prüfling eine zufällige Nachricht, also zum Beispiel eine Zufallszahl. Diese Zufallszahl wird verwendet, um zu verhindern, dass mehrfach die gleiche Nachricht zum Authentifizieren herangezogen wird, und dadurch einfach durch Abhören und Wiederverwenden eine Authentifikation gefälscht werden könnte. Der Prüfling verschlüsselt die Zufallszahl dann mit seinem geheimen Schlüssel und sendet sie an den Prüfenden zurück. Vor dem Verschlüsseln bildet er aber zuerst einen One-Way-Hash über die Zufallszahl. Dieser Hash ist nötig, um zu verhindern, dass eine beliebige Nachricht auf diesem Wege mit dem geheimen Schlüssel signiert wird. Dieser entschlüsselt dann mit dem öffentlichen Schlüssel des Prüflings. Stimmt das Ergebnis mit dem Hash über die Zufallszahl überein, war die Authentifikation erfolgreich.
  • Schließlich ist für die Sicherheit der beschriebenen Verfahren entscheidend, dass die öffentlichen Schlüssel eindeutig ihren Besitzern zugeordnet werden können. Es darf nicht möglich sein, gefälschte öffentliche Schlüssel in Verkehr zu bringen, deren geheime Schlüssel bekannt sind. Sonst könnten sowohl die digitale Signatur als auch die Authentifikation unterlaufen werden, wenn es gelingt sich mit Hilfe eines selbst erzeugten Schlüssels für jemand anderes auszugeben.
  • Zur Lösung dieses Problems wurden sogenannte Zertifizierungsstellen oder Trust-Center geschaffen. Diese müssen unabhängige und vertrauenswürdige Organisationen sein. Die Zertifizierungsstellen garantieren die Echtheit bestimmter Schlüssel. Jeder, der seinen geheimen Schlüssel zum Abschließen von Geschäften benutzen möchte, muss diesen bei einer Zertifizierungsstelle zertifizieren lassen. Die Zertifizierungsstelle erstellt ein sogenanntes Zertifikat, mit dem sich die Echtheit des Schlüssels nachweisen lässt. Ein Zertifikat enthält neben eventuellen benutzerdefinierten Daten eine Prüfsumme über den öffentlichen Schlüssel. Diese Prüfsumme ist ein sogenannter One-Way-Hash, das heißt, es lässt sich auf keinen Fall von der Prüfsumme auf die ursprünglichen Daten zurückschließen. Diese Prüfsumme wird dann mit dem geheimen Schlüssel der Zertifizierungsstelle verschlüsselt. Dadurch signiert also das Trust-Center das Zertifikat, und es ist damit nachweisbar, dass es von eben diesem Trust-Center stammt. Die Prüfsummen-Funktion muss bekannt sein, damit jeder, der einen Schlüssel prüfen will, diese Prüfsumme selber bilden kann und sie mit der aus dem Zertifikat entschlüsselten vergleichen kann. Die wichtigsten Voraussetzungen für ein Funktionieren dieses Trust-Center-Ansatzes sind zum einen die Vertrauenswürdigkeit des Trust-Centers und zum anderen die Datensicherheit auf Seiten der Zertifizierungsstelle. Sollte nämlich der geheime Schlüssel der Zertifizierungsstelle gestohlen werden, ließen sich beliebig viele Zertifikate fälschen.
  • Ein weiteres Problem war in diesem Zusammenhang, dass die rechtlichen Grundlagen für Zertifizierungsstellen fehlten. Mit dem 1997 verabschiedeten Signaturgesetz wurden diese inzwischen geschaffen und es gibt auch in Deutschland inzwischen die ersten Trust Center. Dieses Gesetz regelt neben der Überwachung der Trust Center durch die Regulierungsbehörde für Post und Telekommunikation (Reg TP) auch die Mindestvorschriften an die Abwicklung digitaler Signaturen bezüglich der Schlüssellänge und ähnlichem.
  • Die wesentlichsten Nachteile aller bisher bekannten IT-Sicherheitssysteme sind:
    • – Die Benutzung schwacher oder unbekannter kryptographischer Algorith men.
    • – Die Benutzung kurzer Schlüssel bzw. Passwörter.
    • – Das unverschlüsselte Speichern von Schlüsseln und Passwörtern.
    • – Fehlendes oder unzureichendes Löschen von Temporärdateien, in denen sich vertrauliche Informationen befinden können.
    • – Die Möglichkeit des Aufspürens von versteckten Informationen.
    • – Ein nutzerfeindliches Interfaces (Nutzung führt zur Schwächung der Sicherheit).
    • – Die Einrichtung von „Back Doors" für den unberechtigten Zugriff.
    • – Die Möglichkeit des Eindringens eines Virus-Wurmes.
    • – Die Möglichkeit des Zugangs zu den kryptographischen Schlüsseln der Kunden sowie zu der zu übermittelnden Information.
    • – Große Datenmengen in einer vertretbaren Zeit zu verschlüsseln und zu entschlüsseln.
  • Aus der DE 19856237 C2 , ist ein Verfahren zum Erzeugen und sicheren Austauschen von Schlüsseln zwischen einem Sender- und einem Empfängersystem bekannt, in welchem zur Verschlüsselung von Daten One-Time-Pads verwendet werden und zur Initialisierung der Puffer von Sender- und Empfängersystem identische, über einen sicheren Kanal übertragene, Zufallswerte eingetragen werden.
  • In dieser Erfindung wird nur ein One-Time-Pad zur Chiffrierung benutzt. Der Nachteil besteht darin, dass eine externe Hardware (Chipkarte) benötigt und der Zufallgenerator durch externe Hardware (Rauschgenerator) realisiert wird. Die Chiffre ist ein einzelner Stream in der immer eine Syntax vorhanden ist, d. h. es kann die Menge der verschiedenen Zeichen ermittelt werden (Zeichenhäufigkeit). Außerdem ist zwischen Sender und Empfänger ist eine Synchronisation erforderlich.
  • Die Druckschrift US 2002/0191796 A1 beschreibt ein Verfahren zur iterativen Verschlüsselung, in welchem ein Datenstrom in Datenblöcke zufälliger Länge aufgeteilt und jeder Datenblock in Abhängigkeit von einem gewählten Teilschlüssel mit einem zufällig gewählten Verschlüsselungsalgorithmus und einem neuen Schlüssel verschlüsselt wird und der verschlüsselte Datenblock dann einen neuen Teilschlüssel für den nächsten Datenblock enthält.
  • Der beschriebenen Algorithmus ist eine Blockchiffre, d. h. der zu verschlüsselnde Text wird in Blöcke (512 Bit) zerlegt und verschlüsselt mit Schlüsseln von 256 Bit Länge. Es wird hierbei auf Kompatibilität zu vorhandene US Methoden geachtet. Die Chiffre besteht aus einem Teil.
  • Der Nachteil dieser Methode besteht darin, dass es spezielle Chips gibt, die genau auf 256 Bit bzw. 512 Bit Blockgrößen ausgelegt sind, womit man in fast Echtzeit solche Schlüssel berechnen kann.
  • Schließlich ist aus der WO 03/049363 A1 ein Verschlüsselungsverfahren bekannt, in welchem ein Anfangspasswort zwischen Sender und Empfänger vereinbart wird und dieses Anfangspasswort verwendet wird, um mit einem Zufallsgenerator eine Zufallssequenz zu erzeugen. Diese Zufallssequenz wird in Blöcke zerlegt wodurch eine Liste von mehreren One-Time-Pads geschaffen wird, welche zur Verschlüsselung von Daten verwendet werden.
  • Die Basis bildet der US RC4 Algorithmus mit 40 Bit Schlüssellänge. Um diesen sicherer zu machen, wird der Schlüssel adaptiert, so dass zwei Schlüssel notwendig werden. In der Literatur (Schneier) gibt es über die Unsicherheit von US Algorithmen genug Information. Ein Kryptochip benötigt 12,7 Tage um einen 40 Bit Schlüssel zu brechen. Wenn man mit mehren Kryptochips spezielle Rechner konfiguriert kann das in ca. 20 min. erfolgen bis man den Schlüssel hat.
  • [Aufgabe der Erfindung]
  • Aufgabe der Erfindung ist es, ein Verfahren und einen Chip zur kryptographischen Verschlüsselung von Daten zu schaffen, das die Nachteile des genannten Stan des der Technik weitestgehend eliminiert. Um große Datenmengen in Echtzeit verarbeiten zu können ist dazu eine geeignete Hardware zu entwickeln.
  • Die Aufgabe wird hinsichtlich des Verfahrens mit den Merkmalen des 1. Patentanspruchs und hinsichtlich eines Chips zur Realisierung des Verfahren mit den Merkmalen des 4. Patentanspruchs gelöst. Vorteilhafte Weiterentwicklungen und Ausgestaltungen sind Gegenstand der Unteransprüche.
  • Der Erfindung liegt ein neues kryptographisches Verfahren zugrunde, das in einem neuen Chip realisiert ist. Im weiteren wird das neue Verfahren und der ihm innenwohnende Algorithmus zur Abgrenzung gegenüber bekannten Verfahren als BAPA-Verfahren und der neue Chip mit BAPA-Chip bezeichnet. Das BAPA-Verfahren wurde auf der Basis neuester Erkenntnisse im Bereich der Kryptologie entwickelt.
  • Da es im Bereich der Kryptographie gilt, große Datenmengen in kurzer Zeit zu verarbeiten, ist in der Praxis oftmals eine Verarbeitung in Echtzeit gefordert. Deshalb müssen auf einem Rechner kryptographische Verfahren in Hardware implementiert werden, die den Rechner in seiner Arbeit optimal unterstützen. Aber auch Einsatzgebiete, in denen kein Rechner zur Verfügung steht, sind nicht nur denkbar, sondern ohne die Realisierung in eigenständiger Hardware überhaupt nicht zu verwirklichen. Ein Beispiel hierfür stellt das abhörsichere Telefon dar.
  • Die direkte Umsetzung eines Verfahrens und der entsprechenden Computerprogramme in Hardware lässt bei serieller Abarbeitung von Operationen nach bisherigen Erfahrungen eine Beschleunigung um etwa den Faktor zehn zu, da die Interpretation von Prozessorbefehlen entfällt. Eine weitere Beschleunigung erreicht man, wenn die Hardware mehrere für einen Mikroprozessor nacheinander auszuführende Aufgaben parallel ausführt.
  • Eine Spezialhardware bietet deshalb nicht nur eine höhere Leistungsfähigkeit als eine Problemlösung in Software, sondern ermöglicht auch einen kompakteren Aufbau und eine geringere Leistungsaufnahme als ein System, das mit einem genügend leistungsfähigen Universalrechner realisiert wurde.
  • Das BAPA-Verfahren verwendet gemäß der Erfindung einen symmetrischen Chiffrieralgorithmus und hat folgende grundlegende Eigenschaften:
    • – Im Ergebnis der Chiffrierung eines Textes entstehen zwei oder mehrere unterschiedliche Teilchiffren, der sPart (small Part) und der bPart (big Part), welche einzeln betrachtet bezüglich einer Rekonstruktion des Ausgangstextes keinerlei Rückschlüsse ergeben,
    • – der Umfang der Teilchiffren ist stets geringer als der Umfang des Ausgangstextes und zwar unabhängig von der Art der Ausgangsinformation,
    • – bei mehrfacher Chiffrierung von ein und derselben Information werden die Teilchiffren stets verschieden sein,
    • – die Veränderung eines beliebigen Zeichens in den Teilchiffren hat zur Folge, dass die Wiederherstellung der Ausgangsinformation unmöglich wird,
    • – die Länge der Chiffre, also die entstandenen sPart und bParts, überschreitet den Umfang der Ausgangsinformation um maximal 11%. Die größere Teilchiffre, bPart (big Part), ist in ihrer Größe von den Ausgangsdaten abhängig,
    • – die Anzahl der möglichen Codes für ein zu chiffrierendes 32Bit Zeichen beträgt: 232 = 4.294.967.296 Codes/Zeichen,
    • – jede Teilchiffre ist mit einer speziellen BAPA-Signatur versehen. Diese ist chiffriert und erst nach erfolgreicher Dechiffrierung erkennbar,
    • – die Chiffrierung erfolgt mittels ONE-TIME-Pad, das aus dem Ausgangstext und dem BAPA-Schlüssel gebildet wird.
  • Die BAPA-Schlüssellänge beträgt gegenwärtig 205.000 Bit und ist variabel veränderbar. Das Schlüsselfeld enthält 21568·8 mögliche Anzahl von Schlüsseln. Es bestehen keine semantischen Zusammenhänge zwischen den Teilchiffren und das Verfahren ist mit vorhandenen kryptographischen Systemen kombinierbar.
  • Der BAPA-Schlüssel ist ein strukturierter Schlüssel. Die Schlüsselinformation beinhaltet Parameter zur Initialisierung der Zufallsgeneratoren, Primzahl, Synchronisationsparameter und Hash-Wert zur Prüfung des Schlüssels.
  • Der symmetrische Chiffrieralgorithmus des BAPA-Verfahrens arbeitet nach dem Stromprinzip. Zum Dechiffrieren muss also der gleiche Schlüssel benutzt werden, der auch die Chiffrierung durchgeführt hat.
  • Bei dem BAPA-Verfahren wird der Klartext nicht in Blöcke eingeteilt, sondern es wird ein Zeichen entsprechend des Datenbusses chiffriert. In dem Ausführungsbeispiel wird von einem 32 Bit Datenbus als Standard ausgegangen. Eine Anpassung auf einen 64 Bit Datenbus oder größer stellt kein Problem dar. Hier ist das BAPA-Verfahren sehr variabel.
  • Der strukturierte BAPA-Schlüssel wird mit einem spezifischen Schlüsselgenerator erzeugt. Da das BAPA-Verfahren einen symmetrischen Algorithmus verwendet, muss der Schlüssel zur Chiffrierung und Dechiffrierung gleich sein, d. h. Sender und Empfänger müssen über den gleichen Schlüssel verfügen. Es kann mit einem sogenannten STANDARD-Schlüssel oder einen Session-Schlüssel gearbeitet werden. Der Schlüsselaustausch erfolgt generell über eine DIFFIE-HELLMANN Variante. Somit ist ein zuverlässiger Schlüsselaustausch in folgender Weise möglich.
  • Wenn zwei Kommunikationspartner über einen sicheren Kanal kommunizieren möchten, müssen sie dazu die auszutauschenden Daten verschlüsseln. Für eine schnelle Verschlüsselung ist ein symmetrisches Verfahren, wie z. B. BAPA notwendig. Das Problem, das dabei auftritt, ist das Vereinbaren eines gemeinsamen Schlüssels, weil zur Vereinbarung die Kommunikation nur über den unsicheren Kanal möglich ist. Zur Vereinbarung eines Schlüssels gibt es Verfahren, die so genannten Zero-Knowledge-Protokolle. Ihnen ist gemeinsam, dass sie einen Zufallszahlengenerator benötigen.
  • Eine weitere Lösung kann darin bestehen, den Schlüssel für das symmetrische Verfahren mit Hilfe eines asymmetrischen Verfahrens auszutauschen, denn bei dieser Art der Verschlüsselung darf der zum Verschlüsseln verwendete Schlüssel, der sogenannte Public Key, jedermann bekannt sein. Dabei stellt sich natürlich die Frage, warum es dann überhaupt sinnvoll ist, symmetrische Verfahren einzusetzen, es könnte ja auch alles mit dem asymmetrischen Verfahren verschlüsselt werden. Der Grund, warum trotzdem symmetrische Verfahren eingesetzt werden, besteht darin, dass diese Verfahren im Allgemeinen wesentlich schneller arbeiten als die asymmetrischen Verfahren. Es hätte also große Performance-Verluste zur Folge, wenn man den gesamten Datentransfer asymmetrisch verschlüsseln würde. Eine einzelne asymmetrische Verschlüsselung zum Austauschen des Schlüssels für eine nachfolgende symmetrische Verschlüsselung kostet aber nicht sehr viel Zeit. Der Rest der Kommunikation kann dann mit Hilfe eines schnellen symmetrischen Verfahrens abgewickelt werden.
  • So ein Schlüsselaustausch könnte folgendermaßen ablaufen:
    Der eine Kommunikationspartner erzeugt einen Schlüssel, den sogenannten Session Key. Er verschlüsselt diesen nun mit dem öffentlichen Schlüssel des zweiten Kommunikationspartners und sendet diesem den verschlüsselten Session Key. Dieser entschlüsselt den Schlüssel nun mit seinem geheimen Schlüssel. Ab dann steht der Session Key beiden Kommunikationspartnern zur Verfügung. Im Anschluss an den Austausch des Schlüssels kann also eine sichere Verbindung zwischen den beiden Stationen etabliert werden.
  • Der BAPA-Chip zur Umsetzung des Verfahrens in Hardware ist ein neuer Kryptographie-Chip, der den gesamten Bereich der elektronischen Datenkommunikation unterstützt. Es sind auf diesem Verfahren zum Verschlüsseln, Signieren und Authentifizieren implementiert.
  • Der BAPA-Chip ist von seinen Einsatzmöglichkeiten her sehr flexibel. Deshalb wurden mehrere Schnittstellen zum Ansprechen des BAPA-Chips vorgesehen. Um ihn auf einer Steckkarte für PCs einsetzen zu können wurde eine parallele Schnittstelle implementiert die 8, 16 und 32 Bit breit angesteuert werden kann. Für den Einsatz auf einer Smartcard wurde ein Standardprotokoll gewählt, nämlich das serielle I2C-Bus-Protokoll. Der BAPA-Chip fungiert dabei als I2C-Bus Slave. Mit Hilfe dieser beiden Schnittstellen lässt sich der BAPA-Chip in beinahe jede vorstellbare Systemumgebung integrieren.
  • Den Kern des BAPA-Chips bildet ein speziell entwickeltes BAPA-Modul, ein Kontrollmodul und ein neuer Pseudozufallszahlengenerator. Damit die Chiffrealgorithmen für viele Zwecke eingesetzt werden können, müssen sie sehr flexibel sein, um diesen Anforderungen zu genügen.
  • Eine Möglichkeit, mit Hilfe von Hardware Pseudozufallszahlen zu erzeugen, stellt ein linear rückgekoppeltes Schieberegister (LFSR = Linear Feedback Shift Register) dar. Dieses über ein Rückkopplungspolynom rückgekoppeltes Schieberegister erfüllt die oben genannten Anforderungen bezüglich der Verteilung der Zufallszahlen sehr gut. Es ist möglich, aus einer erzeugten Bitfolge die nächste zu errechnen, wenn das Rückkopplungspolynom bekannt ist. Hier bietet sich eine Kombination mit einer One-Way-Hash-Funktion an.
  • Durch das Bilden des Hashs über die eigentliche Zufallszahl gelangt der Wert des LFSR nämlich nicht nach außen und es ist dadurch nicht mehr möglich, von einer Zufallszahl auf die nächste zu schließen. Zusätzlich lässt sich auch das Benutzerverhalten nutzen, um die Sicherheit der erzeugten Zahlen zu erhöhen, zum Beispiel in dem das LFSR ständig am Laufen gehalten wird, so dass die Zufallszahlen zusätzlich noch von der Bedienzeit des Benutzers abhängen. Ähnlich könnte bei Software-Zufallszahlengeneratoren zum Beispiel die Mauszeigerbewegung des Benutzers zur Zufallszahlenerzeugung benutzt werden.
  • Die Einsatzmöglichkeiten eines BAPA-Chips, der in der Lage ist, komplexe kryptographische Verfahren ohne Eingriffe von außen durchzuführen, sind vielfältig. Es sind beinahe beliebige Anwendungszwecke im Bereich von WAN/LAN-Verbindungen, Banken, E-Commerce und Sicherheitstechnik. Selbstverständlich sind noch beliebige andere Anwendungsfälle möglich.
  • Eine Anwendung wäre zum Beispiel ein Bankautomat, der verschiedene Funktionen zum Durchführen von Transaktionen zur Verfügung stellt. Dazu ist es notwendig, dass sich der Automat als erstes gegenüber der BAPA-Chipkarte authentifiziert, damit nicht ein gefälschter Bankautomat benutzt werden kann, um digitale Unterschriften zu erschleichen. Auch der BAPA-Chip auf der Smartcard muss sich gegenüber dem Bankautomat authentifizieren, falls auch persönliche Daten über den Automat ausgelesen werden können. Zum Beispiel bei einer Kontostandabfrage muss sichergestellt werden, dass die Karte echt ist, da sonst vertrauliche Daten ungeschützt ausgelesen werden könnten. Im weiteren Verlauf können dann Transaktionen durchgeführt werden, die mit Hilfe des BAPA-Algorithmus, der im BAPA-Chip gespeichert ist, signiert werden. Selbstverständlich müssen in dem Bankautomat die selben Operationen durchführbar sein wie auf der Smartcard. Es könnte also ebenfalls der gleiche BAPA-Chip zum Einsatz kommen.
  • Smartcards als Zugangskontrolle zu benutzen ist eine häufige Anwendung. Dabei wird im Prinzip nur der Authentifikationsmechanismus benötigt. Allerdings bietet die Lösung dann auch nur wenig mehr Schutz als ein herkömmlicher Schlüssel.
  • Durch die Absicherung des BAPA-Chips durch eine PIN wird die Sicherheit allerdings stark erhöht. Weitere Vorteile der Smartcard-Lösung gegenüber herkömmlichen Schlüsseln sind die Fälschungssicherheit, das einfache Sperren einzelner Schlüssel und die Tatsache, dass die Smartcard auch noch für beliebig viele andere Anwendungen eingesetzt werden kann. Um eine solche BAPA-Chipkarte zu fälschen, müsste der geheime Schlüssel ausgelesen werden, dies wird durch geeignete Maßnahmen verhindert. Falls irgendeiner Smartcard die Zutrittsberechtigung entzogen werden sollte, muss nur der entsprechende Schlüssel elektronisch gesperrt werden, und nicht wie bei herkömmlichen Schlüsseln das Schloss ausgetauscht werden.
  • Um zu verhindern, dass Kommunikation durch das Anzapfen von Netzwerkleitungen abgehört werden kann, muss der gesamte Netzwerkverkehr verschlüsselt werden. Bei den heutigen Netzwerktechnologien mit 100 MBit/s oder mehr ist dies durch Software kaum noch zu realisieren. Hier bietet es sich geradezu an, einen schnellen und noch dazu kostengünstigen BAPA-Chip mit auf die Netzwerkkarte zu integrieren und so den gesamten Transfer im Netzwerk zu verschlüsseln. Aus Geschwindigkeitsgründen bietet sich hier sich hier ebenfalls der Einsatz eines symmetrischen BAPA-Verschlüsselungsverfahrens an.
  • Bei der Anwendung des neuen Verfahrens mit dem BAPA-Chip zur kryptographischen Verschlüsselung von Daten ist neben der enormen Erhöhung der Datensicherheit auch eine große Einsparung an administrativen Mitteln und eine große Verringerung des personellen Risikos zu erzielen.
  • [Beispiele]
  • An Hand von Zeichnungen werden vorteilhafte Ausführungen der erfindungsgemäßen Lösung näher beschrieben.
  • Es zeigen:
  • 1 Ablaufplan der Chiffrierung nach dem BAPA-Verfahren,
  • 2 Unterprogramm zur Chiffrierung BP32,
  • 3 Ablaufplan Dechiffrierung,
  • 4 Unterprogramm zur Dechiffrierung BPR32,
  • 5 Grundsätzlicher Aufbau eines BAPA-Chips,
  • 6 Funktionsweise eines BAPA-Moduls als zentraler Bestandteil des BAPA-Chips,
  • 7 Aufbau eines Kontrollmoduls für den BAPA-Chip,
  • 8 Beispiel eines Schlüsselaustauschs zwischen BAPA-Chips bei Authentifizierung,
  • 9 Aufbau eines im BAPA-Chip eingesetzten Pseudozufallszahlengenerators,
  • 10 mit einem BAPA-Chip realisiertes verschlüsseltes Netzwerk.
  • Ein möglicher Ablaufplan der Chiffrierung nach dem BAPA-Verfahren ist in 1 dargestellt.
  • Eine Bitfolge wird als N-stelliges binäres Tupel bezeichnet, die sich aus N Bit zusammensetzt. Ein Byte besteht aus 8 Bit und ist ein 8-stelliges binäres Tupel. Demzufolge entspricht ein 32 Bit Datenbus (4Byte) ein 32-stelliges binäres Tupel.
  • Als Alphabet (A) mit der Wortlänge N (AN) wird die Menge (M) aller verschiedenen N-stelligen binären Tupel bezeichnet. Die Elemente aus dieser Menge (M) sind die Zeichen (Z) des Alphabetes AN (Z ∊ AN). Im Alphabet AN mit der Wortlänge N = 32 (Bit) sind genau 232 verschiedener Zeichen enthalten. Die Anzahl der Zeichen beträgt im Alphabet AN: Z(32) = 232 = 4.294.967.296 Zeichen.
  • Die Anzahl K der möglichen ONE-TIME-PAD für das Alphabet AN ergibt sich aus KN = (2N!)·(2N)·(2N – 1). Bei N = 32, was die Darstellung in Bit entspricht, wird die Anzahl der möglichen ONE-TIME-PAD K32 = ((4.294.967.296!)·(4.294.967.296)·(4.294.967.295)) = 1,701·1038 betragen.
  • Eine beliebige Datei deren Länge ungleich Null ist, stellt somit eine Folge von Zeichen der Wortlänge 32 des Alphabetes AN dar.
  • Die zu verschlüsselnde Datei (D) wird geöffnet und eingelesen. Diese zu chiffrierende Datei D mit einer Länge von L(Datei) in Bytes hat eine Bit-Sequenz von 8·L(Datei) Bit. Daraus ergibt sich die Anzahl der 32Bit Elemente (e) mit e = L(Datei)/32 also die Anzahl der 32Bit Tupel, in der Datei D. Diese Sequenz zerlegen wir in Tupel zu je N = 32 Bit, indem links nur NULL-Bit (d) hinzugefügt werden, damit (32·L + d) mod 32 = 0 ist und das d so ausfällt, das 0 < d < N gilt.
  • Somit erhalten wir eine Darstellung der Datei in dem Alphabet (AN).
  • Die 32bit Wortlänge wird von links beginnend in 4 × 8 Bit Zeichen fragmentiert. Die Substitution besteht darin, jedes der 4 × 8 Bit-Zeichen aus dem Alphabet AN durch ein Symbol aus den One-Time-Pad zu ersetzen, mit Ausnahme von möglicherweise 2 Symbolen, die durch Zeichen aus dem Ausgangsalphabet ersetzt werden. Eine solche Umwandlung wird durch das ONE-TIME-PAD vorgegeben, in dem die Substitutions-Parameter definiert sind.
  • Es existiert die zu chiffrierende Datei D mit der Länge L in Byte und ein ONE-TIME-PAD T. Diese Datei ist in einem Alphabet AN abgebildet und es wird mit jedem N-stelligen Binärtupel aus der erhaltenen Darstellung die durch das ONE-TIME-PAD T vorgegebene Substitution vorgenommen. Mit den substituierten Symbolen wird eine spezielle Bitmanipulation durchgeführt. Als Ergebnis erhalten wir zwei oder mehrere unterschiedliche, voneinander selbstständige Teilchiffren. Wir speichern die erhaltenen Binärtupel in einer Teilchiffredatei, die als spart bezeichnet und mit sP gekennzeichnet wird. Die Angaben über die Wortlänge des Alphabets Am sowie die Substitutionsstellen werden in einer weiteren Teilchiffredatei gespeichert, die als bPart bezeichnet und mit bP gekennzeichnet wird. Eine solche Substitution kennzeichnet die Chiffrierung mit BAPA und kann durch
    Figure 00170001
    dargestellt werden.
  • Es wird das erste 32Bit-Zeichen selektiert und ein Zeiger auf das erste Bit dieses Zeichens gesetzt. Aus dem Schlüssel wird der 1. Initialisierungsvektor genommen und über das LFSR eine Zufallszahl (f) generiert. Es erfolgt die Abfrage, ob dieses Bit eine „0" ist.
  • Die Schritte der BAPA-Chiffrierung sind:
    • 1. Datei D öffnen, leere Datei sPart & bPart anlegen
    • 2. Dateilänge b bestimmen
    • 3. Anzahl der 32 Bit Zeichen (e) bestimmen
    • 4. Anzahl der NULL (h) zum auffüllen in D bestimmen
    • 5. Bitpointer Zeiger (z) auf erstes Bit in D
    • 6. Abrage ob Bit = 0 ist ?, bei NEIN nächstes 32 Bit Zeichen: e := e + 1
    • 7. Ermittlung einer Zufallszahl (f), der Initialisierungsvektor wird aus dem BAPA-Schlüssel gelesen und an die Funktion RAND(InitVektor) übergeben
    • 8. Berechnung der akt. Speicherstelle (m) in der bPart-Datei (bP) zum Speichern des Bit-Wertes: m := f mod e
    • 9. Berechnung des aktuellen Bit-Speicherplatz (n) innerhalb der aktuellen Speicherstelle (m): n := 5·m
    • 10. Ausgabe: Wert der Anzahl NULL (h) in der bPart Datei auf Speicherplatz (m) an der Speicherplatz-Bit-Nr.: n – 4 bis n
    • 11. aktueller Zeichen-Zähler (i): i := 0
    • 12. nächstes Zeichen, Zeichen-Zähler inkrementieren i := i + 1
    • 13. Prüfung auf Ende der Chiffrierung, d. h. wenn Dateiende der Ausgangsdatei erreicht ist, dann ist akt. Zeichen-Zähler = ges. Anzahl der Zeichen? I = e?, bei NEIN weiter bei 20
    • 14. Anzahl NULL ist 0? h = 0, nein Rest von D mit Anzahl (h) NULL füllen
    • 15. nächste 32Bit Zeichen d := 32 Bit ab Zeiger (z) in D
    • 16. UP: BP32, Substitution innerhalb eines 32Bit Zeichens
    • 17. Formierung der Chiffre-Dateien sPart und bPart, Schließen der Ausgangsdatei,
    • 18. Speichern sPart & bPart
    • 19. Ende Chiffrierung
    • 20. d := 32Bit ab Zeiger (z) in D
    • 21. UP: BP32, Eingabe-Parameter: k, d, i, m; Rückgabe-Parameter: spart, bPart, und 1
    • 22. nächstes 32Bit Zeichen: z := z + 32
    • 23. weiter bei 12
  • Mittels eines Unterprogramms, genannt BP32 (Schritt 21 der Chiffrierung) und dargestellt in 2, erfolgt eine Substitution innerhalb eines 32Bit-Zeichens:
    • 1. Eingabe (Übergabe) – Parameter: k, d, i, m
    • 2. Dualwert (d) d := (d + k) mod 232
    • 3. 32 Bit Zähler j := 0
    • 4. Inkrementation j := j + 1
    • 5. Bitzähler j = 32?, bei JA 4 Bit_Nr (I) I := 31, weiter bei 7
    • 6. aktuelle Bit (d) d = 0?, bei JA weiter mit 4
    • 7. akt. Bitzähler (I) I := 31 – j
    • 8. akt. Zeichen_Nr = akt. Speicherstelle in L, i = m? bei JA → 5 Bit in bPart überspringen
    • 9. Ausgabe: akt. Bitzähler(Wert) I (5Bit) in bPart
    • 10. Ausgabe: letzten Bit von d (I + 1) in sPart
    • 11. Ende UP: BP32
  • Zur Dechiffrierung sind nach 3 folgende Schritte durchzuführen:
    • 1. Datei sPart & bPart öffnen
    • 2. Zeiger (z) auf 1. Bit von spart
    • 3. Dateilänge (IsPart) bestimmen
    • 4. Zeichenanzahl (e) e := IsPart/5 – 1
    • 5. Test ob e = integer?, bei NEIN ist sPart fehlerhaft und Abbruch
    • 6. Zufallszahl (f) f := kkey mode (32·e)
    • 7. Berechnung der Speicherstelle (m) in Längendatei (L): m := f mod e
    • 8. Berechnung des Bit (n) der akt. Speicherstelle: n := 5·m
    • 9. Anzahl NULL (h) einlesen h := Bit-Nr n – 4 bis n aus bPart
    • 10. Bit-Zähler (i) i := 1
    • 11. Abfrage: akt. Speicherplatz (m) in bPart m := 1, bei JA Bit-Zähler erhöhen i := 2
    • 12. akt. Bit (IbPart) IbPart := 5·i – 4 bis 5·i aus bPart lesen
    • 13. nächste akt. Bit IbPart := IbPart + 1
    • 14. akt. Bit (CsPart) lesen von Zeigerposition (z)
    • 15. UP: BPR32, Übergabe: c, I, k Rückgabe: Datei D
    • 16. Abfrage: akt. Zeichen-Nr. (i) > Anzahl der Zeichen (e)?, bei NEIN weiter mit 20
    • 17. alle Bit sPart verbraucht?, bei NEIN Fehlermeldung und Abbruch
    • 18. Schließen Datei D, löschen sPart und bPart sowie alle TEMP Variablen
    • 19. Ende Dechiffrierung
    • 20. Zeiger in sPart um 1 Bit verschieben, z := z + 1
    • 21. inkrementiere Bit-Zähler (i), i := i + 1
    • 22. Bit-Zähler = akt. Speicherstelle, i = m?, bei JA weiter bei 21
    • 23. Zufallszahl k := flipflop (k, I + 1)
    • 24. Auslesen der Bit-Positionen 5·i- bis 5·i aus bPart
    • 25. nächstes Bit I := I + 1
    • 26. 32 Bit-Zeichen c, c := Auslesen I Bit ab Zeiger z in spart
    • 27. UP: BPR32 Übergabewerte: c, I, k, Rückgabe: D
    • 28. weiter bei 16
    Ende
  • In der Dechiffrierung erfolgt die Einfügung eines Unterprogramms, genannt BPR32 in Schritt 27, wie in 4 dargestellt:
    • 1. Eingabe: akt. Bit-Position sPart (c), akt. Bit-Position bPart (I), Schlüsselvariable (k), Primzahl (p)
    • 2. Abfrage: c := 32? bei JA weiter mit 6
    • 3. 32 Bit-Zeichen (c) Zinkseitig mit NULL füllen, bis 32 Bit erreicht
    • 4. Zähler 32 Bit (r) r := 32 – I
    • 5. Bit-Nr cr des 32 Bit-Zeichen c; cr := I
    • 6. reale 32 Bit-Zeichen (c): c := (c – k) mod p
    • 7. Ausgabe: reales 32Bit Zeichen in Datei D speichern
    • 8. Ende UP: BPR32
  • Den grundsätzlichen Aufbau des BAPA-Chips 1, der das Ver- und Entschlüsseln der Daten übernimmt, zeigt 5.
  • Um große Datenmengen schnell zu verschlüsseln, Dokumente zu signieren, Signaturen zu überprüfen und/oder sich gegenüber anderen BAPA-Chips 1 zu authentifizieren, bzw. deren Authentifikation zu prüfen, ist auf dem BAPA-Chip 1 der Kryptographiealgorithmus nach dem BAPA-Verfahren implementiert.
  • Damit der BAPA-Chip 1 mit der Außenwelt Daten austauschen kann, besitzt er ein I/O (Ein/Ausgabe)-Modul 7 mit einer seriellen Schnittstelle 2 und einer parallelen Schnittstelle 3 (dargestellt in 7). Außerdem ist auf dem BAPA-Chip 1 ein interner Speicher 4 vorhanden, um die notwendigen Schlüssel, Zertifikate und persönlichen Daten eines BAPA Benutzers temporär zu speichern. Dieser Speicher 4 ist außerhalb des BAPA-Chips 1 nicht sichtbar.
  • Den Kern des BAPA-Chips 1 bildet ein BAPA-Modul 5, das im wesentlichen ein konfigurierbarer Logikbaustein (FPGA), auch als BAPA-ALU 11 bezeichnet, ist. In diesem FPGA 11 ist der eigentliche Kryptoprozessor implementiert. Der FPGA 11 kann bis zu 120 MHz getaktet werden. Andere Kerne sind ebenfalls denkbar.
  • Der BAPA-Chip 1 enthält ferner ein Kontrollmodul 6, das den Ablauf des BAPA-Verfahrens steuert. Das Kontrollmodul 6 ist für den Datenaustausch des BAPA-Chips 1 mit der Außenwelt und der Module untereinander zuständig. Zu diesem Zweck sind in dem Kontrollmodul 6 zwei Schnittstellen implementiert, eine serielle 2 und eine parallele 3 Schnittstelle, die entweder 8, 16 oder 32 Bit gleichzeitig übermitteln kann, und das I2C-Protokoll. Außerdem enthält das Kontrollmodul 6 noch die Steuerung des internen Speichers 4, der in diesem Ausführungsbeispiel ein RAM-Baustein ist und 512 KB speichern kann.
  • Nachdem der allgemeine Aufbau des BAPA-Chips 1 beschrieben wurde, wird in 6 die Funktionsweise eines BAPA-Moduls 5 erklärt, welches als ein zentraler Bestandteil in dem BAPA-Chip 1 implementiert ist.
  • Das BAPA-Modul 5 erlaubt eine schnelle und außerdem sichere Verschlüsselung von Daten. Das wichtigste Design-Kriterium ist deshalb der Datendurchsatz in Byte pro Takt. Die Größe des Moduls 5 ist zweitrangig. Um den Durchsatz zu erhöhen, kann man die einzelnen BAPA-Runden durch eine Pipelinestruktur beschleunigen.
  • Das im BAPA-Modul 5 implementierte Verfahren ist im Besonderen durch das Vorhandensein von zwei unterschiedlichen Bestandteilen der Chiffre eines Eingangstextes gekennzeichnet. Die Anzahl der Bestandteile kann variiert werden im Bereich von 1 bis 8 sParts, wobei der Standard 2 Parts ist.
  • Die Struktur des BAPA-Moduls 5 gliedert sich auf in die Schnittstellen 8 zur Verbindung mit dem I/O-Modul 7 und der eigentlichen BAPA-Einheit, der BAPA- ALU 11. Die BAPA-ALU 11 kommuniziert über den internen Datenbus 10 mit den I/O-Schnittstellen 8, die in beiden Richtungen chiffrierte und unchiffrierte Daten übertragen können.
  • Das BAPA-Modul 5 ist ebenfalls modular aufgebaut und besteht aus den Einheiten Key-Unit 15, Prim1-Unit 16, Rand-Unit 17, LFSR 13, Prim2-Unit 18, DH-Unit 12, Chip-SN 19, 32 Bit I/O-Register 20, 21 und einen gepufferten Speicherbereich von 512 MB 4.
  • Die zu verschlüsselnden Daten werden von einer ersten I/O-Schnittstelle 8 an das 32 Bit Eingaberegister 20 der BAPA-ALU 11 gegeben. Sobald das Register 20 mit Daten gefüllt ist, beginnt entsprechend des im BAPA-ALU 11 implementierten BAPA-Algorithmus die Chiffrierung der Daten. Die Chiffre wird einem 32 Bit Ausgaberegister 21 übergeben. Über ein Latch 14, das hier ein 64 Bit Register ist, werden die chiffrierten Daten an die zweite I/O-Schnittstelle 8 des Bausteins 5 übergeben. Das Latch 14 steuert auch die Richtung in der BAPA-ALU 11, d. h. ob die Daten chiffriert oder dechiffriert werden. Nach der Übergabe an die I/O-Schnittstellen 8 werden die chiffrierten bzw. dechiffrierten Daten an das übergeordnete System übergeben. Wie die Chiffre weiter behandelt wird, ist vom übergeordneten System abhängig, und kann mit einer entsprechenden Software realisiert werden.
  • Die Rand-Unit 17 ist ein Modul zur Erzeugung einer beispielsweise 4 Byte großen Zufallszahl. Der Initialisierungsvektor wird vom LFSR 13 bereitgestellt.
  • Die Key-Unit 15 dient der Erzeugung der BAPA Schlüssel. Dieser BAPA-Schlüssel ist strukturiert, d. h. er hat eine feste Anordnung der einzelnen Bits. Der Schlüssel enthält die Initialisierungsvektoren für die ONE-TIME-PADs zur Substitution, Parameter zur Primzahlberechnung, Parameter zur Initialisierung der LFSR 13 und Parameter zur Reihenfolge. Der Aufbau des BAPA-Schlüssels wird vom Algorithmus in der BAPA-ALU 11 dynamisch festgelegt.
  • Die Module Prim1-Unit 16 und Prim2-Unit 18 haben die Aufgabe, starke Primzahlen zu generieren. Die Prim1-Unit 16 wird nur für den Schlüssel und die Prim2-Unit 18 nur für den Schlüsselaustausch nach DIFFIE-HELLMANN die notwendigen Primzahlen erzeugen. Es würde auch ein Primzahlgenerator ausreichen, aber zur Erhöhung des Zufalls sind für die verschiedenen Prozesse eigenen Generatoren implementiert.
  • Die Serien-Nummer jedes BAPA Chip 1 ist in einem gegen Auslesen geschützten Bereich, dem Chip-SN 19 gespeichert. Sie ist fest und kann nicht verändert werden.
  • Die DH-Unit 12 dient nur zum BAPA-Schlüsselaustausch mit anderen BAPA-Chips 1. Der BAPA-Schlüssel wird nicht direkt übertragen, sondern es werden nur bestimmte Parameter übertragen, woraus sich die Gegenstelle den richtigen BAPA-Schlüssel berechnen kann. Seine Sicherheit beruht auf der Schwierigkeit der Berechnung diskreter Logarithmen.
  • Die Prim2-Unit 18 erzeugt die Primzahl p und aus der Seriennummer des BAPA-Chips wird mit der Primzahl die Zahl g berechnet. Mit Hilfe der Rand-Unit 17 wird die Zahl a erzeugt.
  • Ein erster BAPA-Chip 1 berechnet jetzt Xchip1 = ga(chip1) mod p und ein zweiter BAPA-Chip 1 berechnet Ychip2 = ga(chip2) mod p. Die Zahlen Xchip1, Ychip2, g und p werden übertragen. Der erste BAPA-Chip 1 errechnet den BAPA-Schlüssel nach keychip1 = Ya(chip1) mod pund der zweite BAPA-Chip 1 errechnet den BAPA-Schlüssel nach key'chip2 = Xa(chip2) mod p.
  • Es lässt sich zeigen, dass sowohl
    keychip1 als auch key'chip2 gleich gxy mod p
    sind. Dieser Wert lässt sich aus X, Y, g und p nur durch Berechnung des diskreten Logarithmus berechnen, was sehr aufwendig ist.
  • Dieser Algorithmus lässt sich sehr einfach auch auf drei oder mehr BAPA-Chips 1 als Kommunikationspartner erweitern.
  • Der Aufbau und die Wirkungsweise des Kontrollmoduls 6 sind in 7 dargestellt und beinhaltet eine Schnittstelle zur "Außenwelt" 2, 3, einen kompletten Datenpfad (interner Bus) 10 und ein Hauptsteuerwerk 9. Ebenso ist es dafür zuständig, dass alle Daten rechtzeitig an den einzelnen Bestandteilen des BAPA-Chips 1 ankommen und kein Zugriff auf geheime Daten von außen möglich ist.
  • Die ankommenden Daten werden in ein Eingangsregister der Schnittstellen 2, 3 übernommen, um danach über den internen Bus 10 direkt an ein Zielregister kopiert zu werden. Bei der Datenausgabe werden die Daten zuerst über den internen Bus 10 vor der eigentlichen Ausgabe in das Ausgaberegister, das ebenfalls in den Schnittstellen 2, 3 implementiert ist, übergeben. Dadurch ist zum einen gewährleistet, dass keine Möglichkeit besteht, über die Anschlussgins die interne Kommunikation abzuhören. Des weiteren findet damit eine Datenpufferung statt. Das bedeutet das während Daten aus dem BAPA-Chip 1 ausgelesen werden, die vorher gepufferten Eingabedaten intern weitergeleitet werden können.
  • Alle Protokolle werden durch das Hauptsteuerwerk 9 realisiert und die Ansteuersignale für das BAPA-Modul 5 generiert.
  • Das Anwendungsfeld, große Datenmengen in kurzer Zeit zu ver- oder entschlüsseln, kann nur über eine parallele Schnittstelle 3 erfolgen, um den Datenstrom schnell zu übertragen.
  • Die einzelnen Ein-/Ausgabeleitungen der I/O-Schnittstellen 2, 3 bedeuten:
    SD Serial Data (Serielle Datenleitung)
    SCLK Serial Clock (Serielle Taktleitung)
    Daten Datenbus (bidirektional) 32 bit
    BUSY BAPA-Chip hat eingegebene Daten verarbeitet
    /OE Output Enable schaltet die Ausgänge vom Tristatezustand auf
    die logischen Ausgabewerte (low-aktiv)
    /CE Chip Enable signalisiert dem BAPA-Chip, dass er angespro
    chen wird (low-aktiv)
    R/W Logisch "1" initialisiert einen Lesezugriff,
    Logisch "0" initialisiert einen Schreibzugriff.
    Adr Adresse der einzelnen Register des BAPA-Chips
  • Die serielle Ein- und Ausgabe 2 nimmt die Daten seriell entgegen und simuliert eine parallele I/O-Routine, um die Daten an die parallele Schnittstelle 3 weiterzugeben. Das Hauptsteuerwerk 9 regelt die BAPA-Chip 1 interne Kommunikation. Der komplette Datenpfad, ausgenommen der Block BAPA-Modul 5, gehören ebenfalls zum Kontrollmodul 6. Er enthält einem 32 Bit breiten bidirektionalen Bus 10 mit Tristate-Ausgängen. In einem RAM-Speicher 4, ebenfalls außerhalb des Kontrollmoduls 6, werden die temporären Daten abgelegt. Vor dem BAPA-Modul 5 befinden sich zwei 64 Bit Register 14, die, während eine BAPA-Operation läuft, mit neuen Daten geladen werden können.
  • 8 zeigt ein Beispiel eines Schlüsselaustauschs zwischen zwei oder mehren BAPA-Chips 1 bei Authentifizierung. Die Erzeugung des BAPA-Schlüssels erfolgt durch ein modifiziertes DH-Verfahren. Dabei werden die notwendigen Parameter für den Austausch der Schlüsselparameter zwischen Sender und Empfänger generiert.
  • Authentifikation ist die eindeutige Bestimmung des Absender oder Urheber eines Dokumentes oder einer Datei. Hier gelten die gleichen Bedingungen wie sie bei der Signatur beschrieben wurden. Der Eigentümer chiffriert die Datei und es entstehen dabei die zwei unterschiedlichen Bestandteile der Chiffre. Damit ist auch die Authentifikation ein fester Bestandteil des BAPA-Verfahrens. Es wird eine modifizierte DH Variante zum Schlüsseltausch benutzt. Der Austausch erfolgt nach folgender Formel: Key1 = ga mod p
  • g
    = Primitivwurzel von p + SNChip
    p
    = starke Primzahl
    a
    = Exponent, erzeugt aus einer Zufallsfunktion Rand564 mit einer Größe von 4 Byte. Der Exponent kann auch aus der zu verschlüsselnden Datei mittels eines speziellen Algorithmus erfolgen.
  • Zur Erzeugung von pseudozufälligen Zahlen wird ein eigens für den BAPA-Chip 1 entwickelter Pseudozufallszahlen-Generator 13, dargestellt in 9, eingesetzt. Er besteht aus einer Kombination aus einem linear rückgekoppelten Schieberegister (engl.: linear feedback shift register, LFSR) und verwendet eine BAPA-Verschlüsselung. Aus diesem Grund ist auf dem BAPA-Chip 1 ein 64-Bit LFSR 13 untergebracht. Zur Initialisierung kann das LFSR 13 mit einem Startwert geladen werden. Das LFSR 13 darf dabei nicht den Wert 0 erhalten, sonst bleibt es bei diesem Wert. Mit jedem Takt erzeugt das LFSR 13 eine neue Zahl. Für das LFSR 13 wurde folgende Rückkopplungsfunktion f verwendet: fi(x) = x i – 1 für alle i von 6 bis 64 f5(x) = x 4 xor x 64 f4(x) = x 3 xor x 64 f3(x) = x 2 f2(x) = x 1 xor x 64 f1(x) = x 64
  • Diese Rückkopplungsfunktion erlaubt es, dass das LFSR 13 alle Werte außer 0 annimmt. Sein Zustand wiederholt sich daher erst nach 264 – 1 Takten. Bei einer Taktfrequenz des BAPA-Chips 1 von 60 MHz würde es hierfür mehr als 9500 Jahre dauern. Aus der Funktion ergibt sich die Schaltung nach 9. Dabei ist xn das Bit im n-ten Flipflop (von rechts) im Schieberegister. Da man von einer Pseudozufallszahl auf die nächste schließen kann, wird der Inhalt des LFSR 13 mit Hilfe vom BAPA-Modul 5 verschlüsselt. Hierbei dient der BAPA-Algorithmus als Einweg-Funktion. Um auf die nächste Pseudozufallszahl zu kommen, müsste die BAPA-Verschlüsselung zurückgerechnet werden, was nahezu unmöglich ist. Gleichzeitig müsste man die Anzahl der Takte des BAPA-Chips 1 mitzählen.
  • Um einen Vergleich auf Gleichheit durchzuführen, werden die zu vergleichenden Zahlen in zwei dafür vorgesehenes Register geschrieben. Das Ergebnis des Vergleichs wird dem Steuerwerk 9 signalisiert.
  • Ein Ausführungsbeispiel zur Verschlüsselung des Datenaustausches in einem Netzwerk zeigt 10.
  • Der BAPA-Chip 1 wird dazu auf einer Netzwerkkarte (LAN-Adapter) 22 integriert, um so den gesamten Daten-Transfer im Netzwerk zu verschlüsseln.
  • Der BAPA-Chip 1 chiffriert bidirektional. Als Beispiel kommt über einen WAN-Router 23 eine mit dem BAPA-Verfahren chiffrierte Nachricht an. Diese wird zum Empfänger 24, dargestellt als Netzwerk (LAN), weitergeleitet. Über den BAPA-Chip 1 auf der LAN-Karte 22 im PC des Empfängers 24 werden die Daten dechiffriert und sind somit nur für einen berechtigten Empfänger 24 wieder nutzbar.
  • 1
    BAPA-Chip
    2
    serielle Schnittstelle
    3
    parallele Schnittstelle
    4
    interner Speicher
    5
    BAPA-Modul
    6
    Kontrollmodul
    7
    I/O-Modul
    8
    Schnittstelle BAPA-Modul
    9
    Hauptsteuerwerk
    10
    Interner Datenbus
    11
    BAPA-ALU, konfigurierbarer Logikbaustein
    12
    DIFFIE-HELLMANN (DH)-Unit
    13
    Pseudozufallszahlengenerator (Linear Feedback Shift Register (LFSR))
    14
    64 Bit Register (Latch)
    15
    Key-Unit
    16
    Primel-Unit
    17
    Zufallszahlengenerator (RAND-Unit)
    18
    Prime2-Unit
    19
    Chip-SN
    20
    Eingaberegister
    21
    Ausgaberegister
    22
    LAN-Adapter
    23
    WAN-Router
    24
    Empfänger

Claims (10)

  1. Verfahren zum kryptographischen Verschlüsseln und Entschlüsseln von Daten mit einem symmetrischen Chiffrieralgorithmus nach dem Stromprinzip, gekennzeichnet durch folgende Schritte; a Schritte der Chiffrierung a.a Chiffrierung eines Zeichens eines Datenbusses mit einen Schlüsselgenerator zur Erzeugung eines strukturierten Schlüssels, mit den Schritten a.b eine bestimmte geordnete Menge von ONE-TIME-PAD {T1, T2, ..., TG} und Initialisierungsvektoren, die den Schlüssel bilden und die Umwandlung vorgeben, wird erzeugt, a.c Öffnung einer zu chiffrierenden Datei D0, a.d Vorgabe einer Anzahl von Chiffrierzyklen e und Zurücksetzung des Iterationszählers auf Null (i := 0), wobei der Chiffrierzyklus abhängig von der Ausgangsdatei ist, a.e Erzeugung einer Zufallszahl fi, a.f Ermittlung einer Nummer des anzuwendenden ONE-TIME-PAD Ti = Ti(fi), a.g Substitution eines Zeichens aus der zu verschlüsselnden Datei mit Symbolen aus dem ONE-TIME-PAD, a.h Veränderung des ausgewählten Symbols durch Bitmanipulation und Bildung der Teilchiffren sPart und bPart, a.i Umwandlung eines sPart's (sPi) der vorangegangenen Iteration mit Ti und Bildung einer Teilchiffre sPi+1 mit bPart's bPi+1, a.j anschließend beginnt ein Iterationszähler zu zählen i := i + 1 und es wird die Bedingung i ≥ e für das Ende des Chiffriervorgangs geprüft, a.k ist die Bedingung nach Schritt a.j nicht erfüllt, so wird der Vorgang, beginnend beim Schritt a.e, wiederholt, a.l die Chiffrierergebnisse werden formiert, so das die sPart-Fragmente und die bPart-Fragmente als Gesamtheit von sPart und bPart erstellt werden, a.m das Ergebnis der Chiffrierung gemäß den Verfahrensschritten a.a bis a.l erzeugt mindestens zwei unterschiedliche und voneinander unabhängige Teilchiffren sPart und bPart, b Schritte der Dechiffrierung b.a Dechiffrierung eines Symbols aus den Teilchiffren mittels One-Time-Pad indem b.b die verschiedenen, voneinander unabhängigen Teilchiffren auf ihre Konsistenz geprüft werden, b.c bei Konsistenzfehler erfolgt eine Fehlermeldung und die Dechiffrierung wird abgebrochen, b.d aus den übergebenen Startvektoren und Initialisierungsvektoren werden eine bestimmte geordnete Menge von ONE-TIME-PAD, Primzahlen und Zufallszahlen erzeugt, die für die Dechiffrierung notwendig sind, b.e Auswahl des anzuwendenden ONE-TIME-PAD Ti = Ti(Ki) entsprechend der Zufallszahl, b.f Dechiffrierung eines Tupels nach den in den Teilchiffren gespeicherten Informationen und das Ergebnis wird temporär gespeichert, b.g Inkrementierung der Zeichenzähler i := i + 1 und Prüfung der Bedingung i ≥ e für das Ende des Dechiffriervorgangs, b.h ist die Bedingung nach Schritt b.g nicht erfüllt, wird der Vorgang, beginnend beim Schritt b.f wiederholt, b.i Selektion der Signaturdaten aus den Teilchiffren, b.j Formierung der temporären gespeicherten Dechiffrierergebnisse und Speicherung in der Ausgangsdatei.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Schlüssel durch Kombination mehrerer nichtlinearer Zufallsgeneratoren erzeugt wird.
  3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Datenaustausch symmetrisch und die Schlüsselübertragung asymmetrisch erfolgt.
  4. Chip zum kryptographischen Verschlüsseln und Entschlüsseln von Daten mit einem symmetrischen Chiffrieralgorithmus nach dem Stromprinzip, bestehend aus; – einem zentralen BAPA-Modul (5), auf dem das BAPA-Verfahren implementiert ist, – einem I/O-Modul (7) zur mehrkanaligen Übertragung von Daten, – einem internen Speicher (4), – mehreren Generatoren (17) zur Erzeugung von Zufallszahlen, – einem Schlüsselgenerator (13) zum Schlüsselaustausch nach DIFFIE-HELLMANN und – einem Kontrollmodul (6), das über einen internen Datenbus (10) mit den Modulen I/O (7), BAPA (5) und interner Speicher (4) verbunden ist und das Zusammenwirken aller Module des Chips steuert.
  5. Chip nach Anspruch 4, dadurch gekennzeichnet, dass die Zufallsgeneratoren (17) zu einer einmaligen Rekonfiguration des One-Time-Pad verknüpft sind.
  6. Chip nach Anspruch 4 und 5, dadurch gekennzeichnet, dass mehrere nichtlineare Zufallsgeneratoren (17) mit einem linear rückgekoppelten Schieberegister [engl.: linear feedback shift register] LFSR (13) gekoppelt sind.
  7. Chip nach Anspruch 4, dadurch gekennzeichnet, dass das BAPA-Modul (5) eine arithmetische Recheneinheit ist, die über einen internen Datenbus (10) mit dem I/O-Modul (7), den Zufallszahlengeneratoren (17), dem LFSR (13), einem internen Speicher (4), mindestens zwei Generatoren zur Erzeugung von starken Primzahlen (16, 18) und einer Schlüsselaustauscheinheit (12) nach DIFFIE-HELLMANN verbunden ist.
  8. Chip nach Anspruch 4 und 7, dadurch gekennzeichnet, dass die Primzahlengeneratoren (16, 18) an verschiedenen Stellen auf dem BAPA-Chip (1) angeordnet sind.
  9. Chip nach Anspruch 4, dadurch gekennzeichnet, dass das Kontrollmodul (6) über eine serielle (2) und eine parallele Schnittstelle (3) verfügt und über einen internen Datenbus (10) mit einem Hauptsteuerwerk (9), dem BAPA-Modul (5), dem internen Speicher (4) und mit dem DIFFIE-HELLMANN-Modul (12) verbunden ist.
  10. Chip nach Anspruch 4, dadurch gekennzeichnet, dass der BAPA-Chip (1) auf einer Netzwerkkarte (22) angeordnet ist.
DE2003155865 2003-11-26 2003-11-26 Verfahren und Chip zur kryptographischen Verschlüsselung von Daten Expired - Fee Related DE10355865B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2003155865 DE10355865B4 (de) 2003-11-26 2003-11-26 Verfahren und Chip zur kryptographischen Verschlüsselung von Daten

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2003155865 DE10355865B4 (de) 2003-11-26 2003-11-26 Verfahren und Chip zur kryptographischen Verschlüsselung von Daten

Publications (2)

Publication Number Publication Date
DE10355865A1 DE10355865A1 (de) 2005-06-30
DE10355865B4 true DE10355865B4 (de) 2008-08-21

Family

ID=34625392

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2003155865 Expired - Fee Related DE10355865B4 (de) 2003-11-26 2003-11-26 Verfahren und Chip zur kryptographischen Verschlüsselung von Daten

Country Status (1)

Country Link
DE (1) DE10355865B4 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022002973B3 (de) 2022-08-16 2023-11-02 Mercedes-Benz Group AG Verfahren zur verschlüsselten Übermittlung von Daten

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112650543A (zh) * 2020-12-21 2021-04-13 北京神州飞航科技有限责任公司 一种fpga动态配置方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19856237C2 (de) * 1998-12-07 2002-03-07 Ibm Dynamische Schlüsselgenerierung und vertrauliche Synchronisation von Verschlüsselungskomponenten
US20020191796A1 (en) * 2001-06-18 2002-12-19 Hans-Joachim Muschenborn Symmetric and asymmetric encryption method with arbitrarily selectable one-time keys
WO2003049363A1 (en) * 2001-12-06 2003-06-12 Telefonaktiebolaget Lm Ericsson (Publ) System and method for symmetrical cryptography

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19856237C2 (de) * 1998-12-07 2002-03-07 Ibm Dynamische Schlüsselgenerierung und vertrauliche Synchronisation von Verschlüsselungskomponenten
US20020191796A1 (en) * 2001-06-18 2002-12-19 Hans-Joachim Muschenborn Symmetric and asymmetric encryption method with arbitrarily selectable one-time keys
WO2003049363A1 (en) * 2001-12-06 2003-06-12 Telefonaktiebolaget Lm Ericsson (Publ) System and method for symmetrical cryptography

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022002973B3 (de) 2022-08-16 2023-11-02 Mercedes-Benz Group AG Verfahren zur verschlüsselten Übermittlung von Daten

Also Published As

Publication number Publication date
DE10355865A1 (de) 2005-06-30

Similar Documents

Publication Publication Date Title
Stallings Cryptography and network security, 4/E
William Cryptography and network security: For VTU
Stallings Network security essentials: applications and standards
DE60314060T2 (de) Verfahren und Vorrichtung zur Schlüsselverwaltung für gesicherte Datenübertragung
DE60023705T2 (de) Sichere verteilung und schutz einer schlüsselinformation
DE102009024604B4 (de) Erzeugung eines Session-Schlüssels zur Authentisierung und sicheren Datenübertragung
DE60314402T2 (de) System und methode zum speichern sowie abrufen kryptographischer geheimnisse von unterschiedlichen kundenendgeräten in einem netzwerk
DE60217260T2 (de) Datenverarbeitungs- und Verschlüsselungseinheit
US6981156B1 (en) Method, server system and device for making safe a communication network
CN110313146A (zh) 模糊度增强
Alemami et al. Research on various cryptography techniques
DE19622630C1 (de) Verfahren zum gruppenbasierten kryptographischen Schlüsselmanagement zwischen einer ersten Computereinheit und Gruppencomputereinheiten
DE102016210786A1 (de) Komponente zur Anbindung an einen Datenbus und Verfahren zur Umsetzung einer kryptografischen Funktionalität in einer solchen Komponente
CN109981249A (zh) 基于拉链式动态散列和nlfsr的加密解密方法及装置
Babu Modification affine ciphers algorithm for cryptography password
CN105978680A (zh) 在白盒实现方案中实现填充
WO1998000770A2 (en) Encryption enhancement system
DE102015001847A1 (de) Einmalverschlüsselung von Zählerdaten
Kasiran et al. Time performance analysis of advanced encryption standard and data encryption standard in data security transaction
DE10355865B4 (de) Verfahren und Chip zur kryptographischen Verschlüsselung von Daten
CN106973061B (zh) 一种基于可逆逻辑电路的aes的外发文件加密方法
CN107317667A (zh) 一种身份证件丢失的预警方法及预警装置
DE68926005T2 (de) Sichere Schlüsselverwaltung mittels Steuervektoren
Mao et al. Methodical use of cryptographic transformations in authentication protocols
Davida et al. Security and privacy

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8122 Nonbinding interest in granting licences declared
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: WITT, KARSTEN, 99428 NOHRA, DE

8381 Inventor (new situation)

Inventor name: BARTSCHER, GUDRUN DIPL-ING., 16845 DREETZ, DE

Inventor name: PAUL, LUTZ,DIPL.-ING., 10318 BERLIN, DE

8327 Change in the person/name/address of the patent owner

Owner name: KVH BETEILIGUNGS GMBH & CO. KG, 20259 HAMBURG, DE

Owner name: WITT, KARSTEN, 99428 NOHRA, DE

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