DE102009050493A1 - Blockdatenverschlüsselungsverfahren - Google Patents

Blockdatenverschlüsselungsverfahren Download PDF

Info

Publication number
DE102009050493A1
DE102009050493A1 DE102009050493A DE102009050493A DE102009050493A1 DE 102009050493 A1 DE102009050493 A1 DE 102009050493A1 DE 102009050493 A DE102009050493 A DE 102009050493A DE 102009050493 A DE102009050493 A DE 102009050493A DE 102009050493 A1 DE102009050493 A1 DE 102009050493A1
Authority
DE
Germany
Prior art keywords
block
plaintext
length
data
blocks
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
DE102009050493A
Other languages
English (en)
Inventor
Bernd Roellgen
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to DE102009050493A priority Critical patent/DE102009050493A1/de
Priority to US12/925,347 priority patent/US20110096923A1/en
Publication of DE102009050493A1 publication Critical patent/DE102009050493A1/de
Withdrawn legal-status Critical Current

Links

Images

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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • 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

Abstract

Herkömmliche Blockverschlüsselungsverfahren weisen den Nachteil auf, dass die Blocklänge in der Regel wesentlich kürzer als die Klartextlänge ist und infolgedessen das Strikte Avalanche Kriterium unzureichend erfüllt wird. Überdies ist die Blocklänge herkömmlicher Verfahren bestenfalls konfigurierbar. Das neue Verfahren soll typische UDP- und TCP Datenpakete in einem Block verschlüsseln und übergroße Klartextblöcke pseudozufällig partitionieren. Klartext und Chiffretext sollen sich in ihrer Länge nicht unterscheiden.
Ein Blockdatenverschlüsselungsverfahren permutiert Klartext mit variabler Blocklänge, partitioniert übergroße Klartextblöcke in kleinere Blöcke mit pseudozufällig gewählter Blocklänge und verschlüsselt die partitionierten Klartextblöcke mit variabler Länge in einer Luby-Rackoff Konstruktion, welche aus einem nicht balancierten Feistelnetzwerk mit mindestens drei Runden besteht, nacheinander in einer Schleife. Am Ende bildet die Summe der partitionierten Chiffretextblöcke den Chiffretextblock. Aufgrund der variablen Blocklänge müssen Klartextdatenblöcke nicht mit Fülldaten auf die vom Verschlüsselungsverfahren benötigte Blockgröße aufgefüllt werden.
Das Verfahren kann zur Verschlüsselung der meisten Internetprotokolle, von Dateien und von Kommunikationsverbindungen verwendet werden.

Description

  • Die Erfindung betrifft ein symmetrisches Verfahren zum blockweisen Verschlüsseln von Daten mit, verglichen zu herkömmlichen Verfahren wie DES oder AES, variabler und weitaus größerer Blocklänge. Das Verfahren, welches auf einem handelsüblichen Universalcomputer lauffähig ist, wird in folgenden Schritten ausgeführt:
    • – Ableitung des Internen Zustands des Verfahrens vom Schlüssel,
    • – Pseudozufällige Permutation von Klartextdatenbits oder von Gruppen einzelner Klartextdatenbits in Abhängigkeit zur ursprünglichen Größe des Klartext-Datenblocks und zum Schlüssel,
    • – Partitionierung großer Klartextdatenblöcke in Blöcke unterschiedlicher Größe, wobei die Blockgrößen in Abhängigkeit zur ursprünglichen Größe des jeweiligen Klartextdatenblocks und zum Schlüssel pseudozufällig bestimmt werden,
    • – Verschlüsselung jedes einzelnen partitionierten Datenblocks mit den folgenden Schritten: – Ausführung einer ersten Luby-Rackoff Runde mit einem vorzugsweise langen linken binären String und einem kurzen rechten binären String, – Ausführung einer zweiten Luby-Rackoff Runde mit einem vorzugsweise kurzen linken binären String und einem langen rechten binären String, – Ausführung einer dritten Luby-Rackoff Runde mit einem vorzugsweise langen linken binären String und einem kurzen rechten binären String.
  • Symmetrische Verschlüsselungsverfahren sind Systeme, bei denen sowohl der Sender einer Nachricht als auch der Empfänger denselben Schlüssel verwenden. Der Schlüssel muss vor Beginn der Kommunikation vereinbart worden sein, beispielsweise mittels eines asymmetrischen Verfahrens wie dem Diffie-Hellman-Schlüsseltausch oder dem RSA Algorithmus. Zu den bekannten klassischen symmetrischen Verfahren zählt der Cäsar-Chiffre, DES (Data Encryption Standard), AES (Advanced Encryption Standard), jedoch auch das One-Time-Pad, welches das bislang einzige informationstheoretisch beweisbar sichere Verschüsselungsverfahren darstellt. Eine Vielzahl der modernen und als sicher angesehenen Verfahren basieren auf dem in den 1970'er Jahren von Horst Feistel bei IBM entwickelten Substitutions-Permutations-Netzwerk, welches als Feistelchiffre bekannt ist. Luby and Rackoff konnten 1988 mathematisch beweisen, dass ein Feistelnetzwerk mit drei Runden unter Verwendung dreier nichtlinearer Rundenfunktionen sicher ist.
  • Beim klassischen Feistelchiffre werden Klartextblöcke in zwei gleich große Teilblöcke zerlegt. Die Größe der Klartextblöcke kann im Prinzip frei gewählt werden. Üblich sind Größen von 64 und 128 Bit. Blöcke mit mindestens dieser Größe verhindern sehr effektiv klassische Codebuchattacken. Jeder der Blöcke wird in zwei gleich große Hälften (L0 und R0) geteilt und in n Runden mit verschiedenen Schlüsseln, welche in der Regel von einem Schlüssel abgeleitet sind, verschlüsselt. Am Ende werden die resultierenden Hälften wieder zusammengesetzt. Folgende Rundenformel wird in Runde i der insgesamt n Runden angewandt: Li = Ri–1; Ri = Li-1 ⊕ f(Ri-1, Ki);
  • f ist die sogenannte Rundenfunktion und Ki der jeweilige Rundenschlüssel. Der Chiffretext wird aus der Zusammenführung der geordneten Bitgruppen Ln·Rn nach n Runden gebildet. Die Entschlüsselung erfolgt durch Anwendung der Rundenformeln in umgekehrter Reihenfolge. Die einzelnen Rundenfunktionen müssen hierzu nicht umkehrbar sein.
  • Es sind auch sogenannte nicht balancierte Feistelnetzwerke bekannt, bei denen entweder die beiden Hälften L und R nicht gleich groß sind oder aus einem Block für die Rundenfunktion mehr als zwei Teile gebildet werden. Der Beweis der Sicherheit durch Luby und Rackoff wurde speziell für balancierte Feistelnetzwerke erbracht. Ist beispielsweise der linke String Li-1 sehr lang, während der rechte String Ri-1 nur wenige m Bit umfasst, so ist die Rundenfunktion f(Ri-1, Ki) fast ausschließlich vom Rundenschlüssel Ki abhängig und, aufgrund seiner Länge, nur in geringem Maße vom rechten String Ri-1. Die Angriffsicherheit eines nicht balancierten Feistelnetzwerks errechnet sich aus dem generalisierten Beweis von Luby und Rackoff. Die Angriffsicherheit ist direkt proportional zum Faktor 2m. m ist dabei die Länge der kürzeren der beiden geordneten Bitgruppen L und R in Bit. Nicht balancierte Feistelnetzwerke werden daher eher selten beim Design von Verschlüsselungsalgorithmen verwendet, denn die Angriffssicherheit ist dem generalisierten Beweis von Luby und Rackoff zufolge nur bei balancierten Feistelnetzwerken optimal.
  • Einer der entscheidenden Vorteile von Feistelchiffren ist die Eigenschaft, dass alle Datenbits innerhalb eines Blocks des Chiffretexts von allen Datenbits im Klartextblock abhängig sind. Horst Feistel prägte hierfür den Begriff der „Vollständigkeit”. Heute ist die wünschenswerte Eigenschaft eines Verschlüsselungsalgorithmus, dass eine kleine Änderung im Klartext und nicht nur im Schlüssel zu einer drastischen Änderung im Chiffretext führt, generalisiert als „Striktes Avalanche Kriterium (strict avalanche criterium SAC)” bekannt. Das SAC wird erfüllt, wenn sich bei Veränderung eines einzigen Bits im Klartext die Hälfte der Bits im Chiffretext ändern. Verschlüsselungsverfahren mit kurzer Blocklänge weisen dabei naturgemäß den Nachteil auf, dass sich aufgrund der beschränkten Blocklänge nur eine geringe Anzahl Bits im Chiffretext ändern kann. Bei einem im CBC-Modus betriebenen Blockverschlüsselungsalgorithmus sind Chiffretextblöcke lediglich von allen zuvor verschlüsselten Klartextblöcken abhängig, jedoch nicht auch umgekehrt zuvor verschlüsselte Blöcke von später verschlüsselten Klartextblöcken. Beim Cipher Block Chaining (CBC) wird jeder Klartextblock zunächst mit dem jeweils zuvor verschlüsselten Block bitweise exklusiv- oder verknüpft. Die hohe Qualität der Verschlüsselung eines Blockverschlüsselungsalgorithmus mit großer Blocklänge lässt sich, bezogen auf das SAC, weder mit Cipher Block Chaining noch mit einem anderen auf Blockverschlüsselungsalgorithmen mit kurzer Blocklänge anwendbaren Betriebsmodus erreichen. Bei synchronen Stromverschlüsselungsalgorithmen gibt es konstruktionsbedingt sogar überhaupt keine Abhängigkeit von Bitgruppen im Klartext untereinander.
  • Die durchschnittliche Blocklänge der weltweit übertragenen oder gespeicherten Klartexte ließe die Verwendung vergleichsweise großer Blocklängen für Blockverschlüsselungsalgorithmen zu. Die maximale Paketgröße eines Protokolls (MTU) in der Vermittlungsschicht (Schicht 3) des OSI-Modells, welche ohne Fragmentierung in den Rahmen der Sicherungsschicht (Schicht 2) übertragen werden kann, beträgt bei Ethernet 1500 Byte, bei PPPoE 1492 Byte und bei Gigabit Ethernet sogar 9000 Byte. MTU steht für „Maximum Transmission Unit”. Anstatt 8 Byte große Blöcke wie im Falle von DES oder 16 Byte-Blöcke wie bei AES, Twofish, IDEA, RC6, Magenta oder Serpent der Reihe nach zu verschlüsseln, spricht prinzipiell nichts dagegen, beispielsweise 256 Byte oder 1024 Byte auf einmal zu verschlüsseln und dadurch das Strikte Avalanche Kriterium (SAC) erheblich besser zu erfüllen. Der inhärente Nachteil derartiger Designs ist jedoch, dass wegen der heute üblichen festen Blocklänge von Blockverschlüsselungsverfahren im Durchschnitt mehr Daten zu übertragen sind. Endet der letzte Klartextdatenrahmen beispielsweise mit Byte Nummer 513, so muss bei einer Blocklänge von 512 Byte der letzte Klartextdatenblock mit 510 Byte aufgefüllt werden. In der Folge werden somit 510 Byte zu viel übertragen. Blöcke variabler Länge oder die heute üblichen kurzen Blöcke schaffen Abhilfe. Eine völlig variable Länge des Klartextdatenstroms bei unveränderter Länge des resultierenden Chiffretexts ist bislang nur mit Stromchiffrierungsverfahren wie ARCFOUR realisiert worden. Derartige Verfahren werden heute beispielsweise in WLAN Routern zur Verschlüsselung von Ethernet Datenpaketen verwendet. Blockverschlüsselungsalgorithmen mit konfigurierbarer, und damit mit in engen Grenzen variabler Blocklänge, sind zwar bekannt, jedoch verfügen alle weit verbreiteten Verfahren wie AES, DES, Twofish, IDEA, RC6, Magenta und Serpent über unveränderliche Blocklängen, können jedoch teilweise mit variabler Schlüssellänge operieren.
  • Die bekannten konfigurierbaren Blockverschlüsselungsverfahren können lediglich derart konfiguriert werden, dass sich die eingestellte Blocklänge im Rahmen von Zweierpotenzen wie 64, 128, 256, 512 oder 1024 Bit bewegt. Mit steigender Größe der gewählten Blocklänge rückt naturgemäß die Problematik in den Vordergrund, dass nicht völlig mit Nutzdaten gefüllte Klartextdatenblöcke mit Fülldaten ergänzt werden müssen und daraus übermäßiger Datenverkehr resultiert oder dass verschlüsselte Dateien signifikant länger als die entsprechenden Klartextdateien werden.
  • Angriffe auf ein Blockverschlüsselungsverfahren können naturgemäß lediglich über die bekannten Eigenschaften des Verfahrens geführt werden. Die feste Blocklänge, wie sie bei der überwiegenden Mehrzahl der bekannten Verfahren üblich ist, hilft beim systematischen Sammeln von Daten für statistische Untersuchungen über den gesamten Schlüsselraum. Auch ist eine konfigurierbare Blocklänge für Blockverschlüsselungsverfahren kein unüberwindbares Hindernis für eine erfolgreiche Kryptanalyse. Der Analyseaufwand steigt nicht zwangsläufig mit der Zahl der vom Verfahren unterstützten Blocklängen, wenn die maßgeblichen Eigenschaften des Algorithmus über unterschiedliche Blocklängen hinweg unverändert bleiben.
  • Alle bekannten Blockverschlüsselungsverfahren weisen entweder den Nachteil auf, dass die Blocklänge wesentlich kürzer als die durchschnittliche Länge der mit ihnen verschlüsselten Klartexte ist und dass die Blocklänge feststeht oder bestenfalls konfigurierbar ist. Hierdurch ist die Möglichkeit zum Angriff auf Implementierungen bekannter Verfahren gegeben. Konstante Startsequenzen (Header) in TCP- oder UDP-Datenpaketen können hierdurch beispielsweise die Verwendung eines konstanten Schlüssels und wiederkehrenden Klartext verraten. Durchschnittliche Klartexte stellen beispielsweise UDP- oder TCP Datenpakete dar, die beispielsweise WLAN Router vor dem Versenden mit einem symmetrischen Verschlüsselungsverfahren verschlüsseln. Häufig sind derartige Pakete länger als 4000 Bit (500 Byte). Bilddateien, Musikdateien, als auch Textdokumente sind selten kürzer als 80000 Bit (10000 Byte). Die mit weitem Abstand populärsten Blockverschlüsselungsverfahren verschlüsseln jedoch bestenfalls 128 Bit auf einmal. Die erhebliche Diskrepanz zwischen der Blocklänge populärer Blockverschlüsselungsverfahren und der über die vergangenen Jahrzehnte angestiegenen Paketgröße üblicher Klartexte verdeutlicht dass das Strikte Avalanche Kriterium (SAC) über die Gesamtlänge typischer Klartextpakete heute in steigendem Maße unzureichend erfüllt wird. Das folgende Beispiel eines konstanten Headers in Datenpaketen verdeutlicht, dass das SAC durch Vergrößerung der Blocklänge eindeutig besser erfüllt wird. Wird ein TCP Datenpaket ohne Partitionierung als Ganzes, zusammen mit konstantem Header, Blockzähler und allen Nutzdaten mit einem Feistelchiffre verschlüsselt, sinkt die Wahrscheinlichkeit für das Auftreten wiederkehrender Chiffretexte erheblich. Blockzähler sind bei den meisten Internetprotokollen ein fester Bestandteil.
  • Der im Patentanspruch 1 angegebenen Erfindung liegt das Problem eines Blockdatenverschlüsselungsverfahrens zugrunde, bei dem
    • – Klartextblöcke in einem weiten Bereich in ihrer Größe variieren können,
    • – Chiffretextblöcke weder kleiner noch größer als die korrespondierenden Klartextblöcke sind,
    • – der Interne Zustand des Verfahrens vom Schlüssel abgeleitet wird,
    • – Pseudozufällige Permutation von Klartextdatenbits oder von Gruppen einzelner Klartextdatenbits in Abhängigkeit zur ursprünglichen Größe des Klartextdatenblocks und zum Schlüssel durchgeführt wird,
    • – große Klartextdatenblöcke in Blöcke unterschiedlicher Größe partitioniert werden, wobei die Blockgrößen in Abhängigkeit zur ursprünglichen Größe der Klartextdatenblöcke und zum Schlüssel pseudozufällig bestimmt werden,
    • – jeder einzelne partitionierte Datenblock mit den folgenden Schritten verschlüsselt wird: – Ausführung einer ersten Luby-Rackoff Runde mit einem vorzugsweise langen linken binären String und einem kurzen rechten binären String, – Ausführung einer zweiten Luby-Rackoff Runde mit einem vorzugsweise kurzen linken binären String und einem langen rechten binären String, – Ausführung einer dritten Luby-Rackoff Runde mit einem vorzugsweise langen linken binären String und einem kurzen rechten binären String.
  • Hierdurch treten die vorstehend geschilderten Nachteile nicht auf.
  • Dieses Problem wird durch die im Patentanspruch 1 aufgeführten Merkmale gelöst.
  • Ein erfindungsgemäßes Blockdatenverschlüsselungsverfahren mit variabler Blocklänge erzeugt zunächst aus dem Schlüssel alle für den Betrieb des Verfahrens benötigten Rundenschlüssel und initialisiert alle Variablen, die für den Betrieb von Pseudozufallszahlengeneratoren benötigt werden, sowie Permutationstabellen. Der gesamte Interne Zustand des Verfahrens wird alleine durch den Schlüssel bestimmt. Zu diesem Zweck können beispielsweise Kompressionsfunktionen wie MD5, SHA-1 oder Whirlpool, als auch Pseudozufallszahlengeneratoren oder beliebige Kombinationen dafür geeigneter nichtlinearer und nicht umkehrbarer Funktionen eingesetzt werden. Für viele Applikationen ist es keineswegs störend, wenn die Ausführung des gesamten Verfahrensschritts erheblichen Rechenaufwand erfordert. Beispielsweise wird es den Teilnehmern eines verschlüsselten Telefongesprächs nicht einmal auffallen, wenn beim Aufbau der Verbindung der erste Verfahrensschritt mehrere zehn Millionen Maschineninstruktionen umfasst und somit länger als 0,1 oder 0,3 Sekunden dauert. Für einen Angreifer ist dieser, verglichen zu herkömmlichen Blockverschlüsselungsverfahren, etwa 10.000 .. 100.000 fache Zeitaufwand ein spürbares Hindernis. Das Durchprobieren einer Vielzahl möglicher Schlüsselkombinationen (Brute Force Attack) ist bei einem herkömmlichen Blockverschlüsselungsverfahren aufgrund der um viele Zehnerpotenzen geringeren Zahl an Rechenoperationen jedenfalls schneller und mit weniger Materialeinsatz und Energieaufwand zu bewerkstelligen als bei einem erfindungsgemäßen Verfahren.
  • In einem zweiten Verfahrensschritt werden Bytes, Wörter, Doppelwörter oder geordnete Gruppen von Klartextbits vorzugsweise einer Größe permutiert, die auf handelsüblichen Mikroprozessoren minimalen Rechenaufwand erfordert. Dem aktuellen Stand der Technik entsprechend sind dies 32 oder 64 Bit. Die Permutation kann durch Vertauschen geordneter Bitgruppen mittels Tabelle oder über eine andere dazu geeignete Datenstruktur oder einen geeigneten Algorithmus wie dem „Fisher-Yates Shuffle” erfolgen. Der Prozessschritt dient dazu, dass neue und nicht vorhersagbare Gruppenzugehörigkeiten von Klartextbits entstehen. Überdies wird effektiv verhindert, dass die Asymmetrie der nachgeschalteten nicht balancierten Feistelnetzwerke eine nennenswerte Angriffsfläche bietet. Dieser Prozessschritt kann alternativ auch als letzter Prozessschritt ausgeführt werden. Er ist dann jedoch nicht mehr effektiv wirksam für die Verschleierung der Asymmetrie der nachgeschalteten nicht balancierten Feistelnetzwerke. Die Operation ist sowohl vom Schlüssel als auch von der jeweiligen Blocklänge des Klartexts abhängig. Hierdurch wird das Verfahren zusätzlich gegen Angriffe gehärtet.
  • In einem dritten Verfahrensschritt werden große Klartextdatenblöcke in kleinere Blöcke, welche von den nachgeordneten Verfahrensschritten mit den zur Verfügung stehenden Ressourcen verarbeitet werden können, zerlegt. Die hierbei resultierenden Blockgrößen variieren dabei in einem weiten Bereich und werden quasizufällig aus dem Schlüssel, sowie der Länge des ursprünglichen Klartexts berechnet. Klartextdatenblöcke bis zu einer idealerweise konfigurierbaren Schwelle sollen jedoch nicht partitioniert werden. Wenn beispielsweise die meisten während einer Internettelefoniesitzung übertragenen Klartextdatenblöcke nicht länger als die MTU-Größe im Bereich eines Kilobyte sind und ein erfindungsgemäßes Blockdatenverschlüsselungsverfahren mit den vorhandenen Ressourcen derart große Blöcke auf allen gewünschten Zielsystemen ohne Partitionierung verarbeiten kann, wird das SAC weitaus besser erfüllt als dies mit partitionierten Blöcken überhaupt möglich wäre. Sprachdatenpakete einer Internettelefoniesitzung variieren beispielsweise ohnehin naturgemäß deutlich in ihrer Länge und sie enthalten einen Blockzähler, sodass Angreifer weder Pakete von immer gleicher Größe, noch bekannten Klar- oder Chiffretext erhalten.
  • Ist es jedoch erforderlich, eine sehr lange Datei auf einem PC oder auf einem anderen Universalcomputer zu verschlüsseln, stehen heute grundsätzlich ausreichend Ressourcen für ein erfindungsgemäßes Blockdatenverschlüsselungsverfahren zur Verfügung, um 10 Kbyte oder 100 Kbyte auf einmal zu verschlüsseln. Aufgrund der Eigenschaft eines erfindungsgemäßen Blockdatenverschlüsselungsverfahrens, dass die Länge des Klartexts und der Schlüssel über eine nichtlineare, nicht umkehrbare Funktion die Blockaufteilung bestimmt, ist ein Angreifer noch nicht einmal in der Lage, Annahmen über die tatsächliche Länge von Chiffretextblöcken zu treffen. Es besteht die Möglichkeit, die Partitionierung über eine berechnete Tabelle vorab festzulegen oder vor jedem Verschlüsselungsschritt in einer Schleife die Länge des nächsten Chiffretextblocks festzulegen und die Länge des noch verbleibenden Klartexts durch Subtraktion vom vorherigen Wert mit der Länge des nächsten Chiffretextblocks zu errechnen und danach zu speichern. Eine vorteilhafte Ausführungsform eines erfindungsgemäßen Blockdatenverschlüsselungsverfahrens ist derart ausgeführt, dass bei der Berechnung aller Blocklängen oder der Längen der letzten Blöcke kleine Werte nicht auftreten können.
  • In einer Schleife erfolgt sukzessive in den folgenden Prozessschritten die Überführung der einzelnen partitionierten Klartextblöcke in Chiffretextblöcke. Hierzu sind mindestens drei Schritte erforderlich.
  • Das nicht balancierte Feistelnetzwerk wird vorzugsweise durch eine erste Luby-Rackoff Runde mit einem langen linken binären String und einem kurzen rechten binären String, gefolgt von einer zweiten Luby-Rackoff Runde mit einem kurzen linken binären String und einem langen rechten binären String, welche schließlich von einer dritten Luby-Rackoff Runde mit einem langen linken binären String und einem kurzen rechten binären String abgeschlossen wird, realisiert.
  • Mathematisch kann die gesamte Operation wie folgt beschrieben werden: ψ(f1, f2, f3,)(L·R) = [R ⊕ f2(L ⊕ f1(R))]·[L ⊕ f1(R) ⊕ f3(R ⊕ f2(L ⊕ f1(R)))] mit
  • L, R:
    linker und rechter binärer String (Bitstring).
    ⊕:
    Bitweise exklusiv- oder (XOR) Funktion.
    a·b:
    Verkettung zweier geordneter Bitgruppen (Bitstrings) a und b.
    f1, f2, f3:
    Nichtlineare, nicht umkehrbare Rundenfunktionen. Der Schlüssel K bestimmt die Pseudozufallszahlensequenz der Rundenfunktionen und ist aus Gründen der Vereinfachung der Darstellung aus der Formel weggelassen worden.
    ψ(f1, f2, f3)(L·R):
    Transformation der Verkettung des linken und rechten Bitstrings L und R.
  • Die Länge des linken Bitstrings L kann nahezu beliebig gewählt werden. Hierzu ist jedoch unabdingbar, dass die Rundenfunktion f1 beliebig lange Bitstrings generieren kann. f1 kann beispielsweise eine Hashfunktion sein. In diesem Fall ist es sogar möglich, dass der rechte Bitstring R nahezu beliebige Länge aufweist. Es ist somit immer möglich, den linken Bitstring L bitweise mit f1(R) exklusiv- oder zu verknüpfen. Analog zu f1 können auch f2 und f3 derart ausgeführt sein, dass auch diese Rundenfunktionen Bitstrings beliebiger Länge komprimieren können. Der jeweils resultierende Hash kann beispielsweise durch zyklische Rückführung auf den Eingang der Rundenfunktion eine nahezu beliebig lange Pseudozufallszahlenfolge sein. Eine derart realisierte Luby-Rackoff Konstruktion kann sowohl kurze als auch lange Klartextblöcke in Chiffretextblöcke überführen, ohne dass Chiffretextblöcke länger als die zugeordneten Klartextblöcke werden. Es macht jedoch umgekehrt keinen Sinn, Blöcke mit weniger als 64 Bit Länge zu verschlüsseln. Zu groß wäre die Gefahr, dass beispielsweise eine Codebuchattacke erfolgreich geführt werden könnte. Daher sollte eine Mindestlänge für die Klartextblöcke eingehalten werden. Die Obergrenze für Klartextblöcke wird nur durch den verfügbaren Arbeitsspeicher des Zielsystems bestimmt.
  • Es ist sinnvoll, den rechten Bitstring R mit fester Länge vorzugeben und dafür den linken Bitstring L in einem weiten Bereich variabel zu halten. In diesem Fall kann sowohl die Rundenfunktion f1, als auch f3 als Pseudozufallszahlengenerator ausgeführt werden, welche den jeweils rechten Bitstring R als Parameter verwenden. Wird zusätzlich die Rundenfunktion f2 als Hashfunktion ausgeführt, so maximiert sich die Arbeitsgeschwindigkeit des Verfahrens. Die Rundenfunktionen f1 und f3 können aufgrund der geringen Anzahl an Parametern besonders schnell initialisiert werden und lange Zufallszahlensequenzen erzeugen, welche mit dem jeweils linken Bitstring L logisch verknüpft werden. Die Rundenfunktion f2 kann als klassische Hashfunktion mit begrenzter Resultatlänge derart optimiert werden, dass auch große Datenmengen schnell komprimiert werden können. Bekannte Hashfunktionen wie SHA-256 oder Whirlpool eignen sich beispielsweise für die Implementierung der Rundenfunktion f2.
  • Die Entschlüsselung erfolgt durch Anwendung der Rundenformeln in umgekehrter Reihenfolge. Der Permutationsverfahrensschritt wird dabei zuletzt ausgeführt.
  • Die Partitionierung zu großer Klartextdatenblöcke, als auch die Ableitung des Internen Zustands des Blockverschlüsselungsverfahrens vom Schlüssel, sowie die meisten oder möglicherweise alle anderen Verfahrensschritte erfordern dass Pseudozufallszahlen in Abhängigkeit vom Schlüssel effizient generiert werden können. EP 1 069 508 B1 lehrt wie komplexe Pseudozufallszahlengeneratoren aus Passwörtern durch Aneinanderreihung von Pseudozufallszahlengeneratorprimitiven kompiliert werden können. Hierbei teilen sich eine Reihe nacheinander ausgeführter Pseudozufallszahlengeneratorprimitive einen gemeinsamen Internen Zustand und verändern diesen während der Ausführung. Alternativ können anstelle des Kompilierprozesses auch Pseudozufallszahlengeneratorprimitive durch einen Interpreter nacheinander aufgerufen werden. Die Sequenz kann beispielsweise sehr effizient durch Aufruf von Funktionszeigern, welche in einem Array gespeichert sind, von allen universellen Mikroprozessoren ausgeführt werden. Anstelle des üblicherweise starren Aufbaus von Verschlüsselungsverfahren bietet die hierdurch realisierte polymorphe Konstruktion von Pseudozufallszahlengeneratoren die Möglichkeit, häufig verwendete Funktionsblöcke eines Verschlüsselungsverfahrens im Rahmen einer im wesentlichen festgelegten Struktur in Abhängigkeit des jeweils verwendeten Schlüssels völlig variabel zu gestalten. Angreifer finden infolgedessen zwar einen prinzipiell bekannten Aufbau vor, werden jedoch mit einer großen Anzahl Möglichkeiten unterschiedlicher Ausprägungen von Unterfunktionen konfrontiert, die gleichermaßen wahrscheinlich sind und vom Schlüssel abhängen. Im Gegensatz zu unveränderlichen Algorithmen mit starrem Aufbau wie AES oder DES, die heute besonders weit verbreitet sind, ist die Wahrscheinlichkeit gering, dass durch intensive Kryptanalyse konstante, vom Schlüssel unabhängige Schwächen gefunden werden. Ein erfindungsgemäßes Verfahren lasst sich besonders vorteilhaft unter Verwendung der in EP 1 069 508 B1 beschriebenen polymorphen Pseudozufallszahlengeneratoren realisieren. Nicht nur die Blocklänge, sondern auch Teile des Blockverschlüsselungsverfahrens selbst werden durch den Schlüssel bestimmt. Ein Minimum vorhersagbarer Eigenschaften wird bei einem derart besonders vorteilhaft ausgeführten erfindungsgemäßen Verfahren erzielt. Im Gegensatz dazu sind bei heute häufig verwendeten Blockverschlüsselungsverfahren wie beispielsweise AES sowohl die Blocklänge, als auch das komplette Verfahren festgeschrieben.
  • Weitere Merkmale, Einzelheiten und Vorteile der Erfindung ergeben sich aus der beigefügten zeichnerischen Darstellung und nachfolgenden Beschreibung eines erfindungsgemäßen Blockdatenverschlüsselungsverfahrens. In der Zeichnung zeigt:
  • 1 die schematische Darstellung einer Ausführungsform eines erfindungsgemäßen Blockdatenverschlüsselungsverfahrens
  • In dem Prinzipbild gemäß 1 ist ein mit dem Bezugszeichen 1 bezeichnetes Blockdatenverschlüsselungsverfahren dargestellt.
  • Das Blockdatenverschlüsselungsverfahren 1 weist einen Verfahrensschritt 2 auf, in dem das Verfahren 1 mit dem Schlüssel 100 initialisiert wird. Dabei werden alle Variablen des Verfahrens 1 vom Schlüssel 100 abgeleitet. Im nächsten Verfahrensschritt 11 wird zur Steigerung der Immunität vor linearer Kryptanalyse der Klartextdatenblock 3 permutiert. Dies wird beispielsweise durch eine pseudozufällige Vertauschung von Bitgruppen im Permutationsverfahrensschritt 11 realisiert. Für den Fall dass der Klartextdatenblock 3 größer als die maximal vom Verfahren 1 unterstützte Blocklänge ist, unterteilt das Verfahren 1 im Verfahrensschritt 4 den permutierten Klartextdatenblock 3 in Teilblöcke. Einer der Teilblöcke ist mit dem Bezugszeichen 31 stellvertretend für alle weiteren Teilblöcke versehen. Ein Klartextdatenblock 3 kann in unterschiedlich viele Teilblöcke 31 mit unterschiedlichen Blocklängen vom Partitionierungsverfahrensschritt 4 pseudozufällig in Abhängigkeit vom Schlüssel 100 und von der Länge des Klartextdatenblocks 3 unterteilt werden. Jeder der derart unterteilten Teilblöcke 31 wird in den restlichen Verfahrensschritten verschlüsselt. Der linke Teil variabler Länge 32 des Teilblocks 31 und der rechte Teil fester Länge 33 des Teilblocks 31 wird in gegenseitiger Abhängigkeit zueinander in der Luby-Rackoff Konstruktion 6 in den Chiffretextblock 51 überführt. In jeder der drei Runden der Luby-Rackoff Konstruktion 6 werden die in den Rundenfunktionen 8, 9, 10 generierten Pseudozufallszahlen mit den jeweils in den Runden zu verarbeitenden Datenströmen exklusiv- oder kombiniert 7. Alternativ zu bitweise exklusiv- oder Operationen 7 können auch Additions- oder Subtraktionsoperationen verwendet werden. Kombinationen aus Bitrotationsoperationen mit Additions-, Subtraktions- und bitweise exklusiv- oder Operationen sind überdies möglich. Bei der Entschlüsselung der Daten muss jedoch die jeweils komplementäre Operation ausgeführt werden. Bei vorteilhafter Ausführung wird die jeweils verwendete Operation 7 pseudozufällig gewählt.
  • Die Rundenfunktionen mit kurzem rechtsseitigen Bitstring Ri, Ti 8, 10 bestehen vorzugsweise aus mehreren verschiedenen nichtlinearen Funktionen f11, f12, f13 für die erste Rundenfunktion 8, sowie f31, f32, f33 für die dritte Rundenfunktion 10. Aufgrund der Eigenschaft dass f11, f12, f13, sowie f31, f32, f33 mit wenigen Datenbits initialisiert werden, jedoch häufig große Datenmengen errechnen müssen, können beispielsweise bei Realisierung mit Pseudozufallszahlengeneratoren mehrere Threads die Funktionen f11, f12, f13 und f31, f32, f33 für die erste und dritte Rundenfunktion 8 und 10 parallel ausführen. Beim Verschlüsseln großer Klartextdatenblöcke 3 kann dadurch Rechenzeit eingespart werden. Ebenso ist es möglich, die logischen Kombinationsschritte 7 auf mehrere Threads aufzuteilen. Durch Parallelisieren von Verfahrensschritten können mehrere Prozessorkerne simultan genutzt werden. Moderne Mikroprozessoren für den Einsatz in Universalrechnern wie PCs und Servern verfügen heute in der Regel über mindestens zwei Prozessorkerne, die wiederum meist über einen dedizierten Cachespeicher für Instruktionen und Daten verfügen und dadurch weitgehend ohne Belastung des Daten- und Adressbusses parallel zu den anderen Prozessorkernen arbeiten. Keiner der Verfahrensschritte 2, 4, 11, 7, 8, 9 und 10 erfordert jedoch die Ausführung des Verfahrens 1 auf Prozessoren mit mehr als einem Kern. Der Verfahrensschritt 2, in dem das Verfahren 1 mit dem Schlüssel 100 initialisiert wird, wird überdies besonders vorteilhaft ausgelegt, wenn alle Operationen sequentiell ablaufen müssen und infolgedessen keine Parallelisierung möglich ist. In diesem Fall kann ein Angreifer nicht zeitsparend Operationen parallel ausführen. Die Pseudozufallszahlengenerierung für die zweite Luby-Rackoff Runde 9 kann ebenfalls parallelisiert werden. Die Rundenfunktion f2 kann entsprechend der zeichnerischen Darstellung 9 durch eine einzige Hashfunktion realisiert werden oder alternativ durch mehrere parallel ausgeführte Hashfunktionen zeitsparend den aufgeteilten rechtsseitigen Bitstring Si komprimieren.
  • Nach einmaliger oder gegebenenfalls wiederholter Ausführung der Luby-Rackoff Konstruktion 6 werden die errechneten Chiffretextblöcke 51 gespeichert. Nachdem der komplette Klartextdatenblock 3 in den Chiffretextdatenblock 5 überführt ist, endet das Verfahren 1.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • EP 1069508 B1 [0024, 0024]

Claims (7)

  1. Blockdatenverschlüsselungsverfahren mit folgenden Verfahrensschritten: – Ableitung des Internen Zustands des Verfahrens (1) vom Schlüssel (100), – Verschlüsselung des Klartextdatenblocks (3) durch Ausführung einer Luby-Rackoff-Konstruktion (6) in einer Schleife. gekennzeichnet durch – variable Länge des Klartextdatenblocks (3), – identische Länge von Chiffretextdatenblock (5) und Klartextdatenblock (3), – Pseudozufällige Permutation (11) von Klartextdatenbits oder von Gruppen einzelner Klartextdatenbits im Klartextdatenblock (3), welche direkt nach dem Verfahrensschritt der Ableitung des Internen Zustands des Verfahrens (1) vom Schlüssel (100) ausgeführt wird, – die Abhängigkeit des Verfahrensschritts der pseudozufälligen Permutation (11) vom Schlüssel (100) und von der Größe des Klartextdatenblocks (3), – Partitionierung (4) von Klartextdatenblöcken (3), deren Größe die verfügbaren Ressourcen oder eine zuvor festgelegte Schwelle überschreiten, im Anschluss an den Verfahrensschritt der pseudozufälligen Permutation (11), – die Abhängigkeit des Verfahrensschritts der Partitionierung (4) von Klartextdatenblöcken (3) sowohl vom Schlüssel (100) als auch von der Größe des Klartextdatenblocks (3), – Ausführung der Luby-Rackoff-Konstruktion (6) mittels eines nicht balancierten Feistelnetzwerks mit mindestens drei Runden (7, 8, 9, 10), – bitweise exklusiv- oder Operationen 7 mit variabler Wortbreite, – variable Länge des Resultats der Rundenfunktionen (8, 9, 10).
  2. Blockdatenverschlüsselungsverfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Verfahrensschritt der pseudozufälligen Permutation (11) von Klartextdatenbits oder von Gruppen einzelner Klartextdatenbits im Klartext (3) ganz entfällt oder anstatt nach der Ableitung des Internen Zustands des Verfahrens (1) vom Schlüssel (100) ausgeführt zu werden, zum Permutieren des Chiffretexts (5) am Ende des Verfahrens ausgeführt wird.
  3. Blockdatenverschlüsselungsverfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die pseudozufällige Permutation (11) von Klartextdatenbits oder von Gruppen einzelner Klartext- oder Chiffretextbits (3, 5) um mindestens eine andere umkehrbare Operation, zu der die bitweise exklusiv- oder Verknüpfung oder Addition/Subtraktion einer Pseudozufallszahlensequenz oder die Verschlüsselung mit einem Block- oder Stromverschlüsselungsverfahren zählen, ergänzt oder durch sie ersetzt wird.
  4. Blockdatenverschlüsselungsverfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass die bitweise exklusiv- oder Operationen (7) mit variabler Wortbreite durch umkehrbare und quasizufällig ausgewählte Additions-, Subtraktion- und Bitrotationsoperationen mit variabler Wortbreite oder durch Kombinationen aus diesen Operationen ersetzt werden.
  5. Blockdatenverschlüsselungsverfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass die Rundenfunktionen (8, 9, 10) und die bitweise exklusiv- oder Operationen (7) nicht nur auf einem Prozessorkern, sondern parallel auch auf mehreren Prozessorkernen ausgeführt werden können.
  6. Blockdatenverschlüsselungsverfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass die Arbeitsweise der Rundenfunktionen (8, 9, 10), der Partitionierungsverfahrensschritt (4), die pseudozufällige Permutation (11) von Klartextdatenbits oder von Gruppen einzelner Klartext- oder Chiffretextbits (3, 5), die Kombinationsoperationen (7) und/oder die Ableitung des Internen Zustands des Verfahrens (1) vom Schlüssel (100) von mindestens einem polymorphen Pseudozufallszahlengenerator bestimmt wird.
  7. Blockdatenverschlüsselungsverfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass die Ableitung des Internen Zustands des Verfahrens (1) vom Schlüssel (100) mindestens Zehn Millionen Maschineninstruktionen umfasst.
DE102009050493A 2009-10-23 2009-10-23 Blockdatenverschlüsselungsverfahren Withdrawn DE102009050493A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102009050493A DE102009050493A1 (de) 2009-10-23 2009-10-23 Blockdatenverschlüsselungsverfahren
US12/925,347 US20110096923A1 (en) 2009-10-23 2010-10-21 Block cipher

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102009050493A DE102009050493A1 (de) 2009-10-23 2009-10-23 Blockdatenverschlüsselungsverfahren

Publications (1)

Publication Number Publication Date
DE102009050493A1 true DE102009050493A1 (de) 2011-04-28

Family

ID=43796782

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102009050493A Withdrawn DE102009050493A1 (de) 2009-10-23 2009-10-23 Blockdatenverschlüsselungsverfahren

Country Status (2)

Country Link
US (1) US20110096923A1 (de)
DE (1) DE102009050493A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11374856B1 (en) * 2021-01-13 2022-06-28 Hewlett Packard Enterprise Development IP System and method for performing synchronization of maximum transmission unit with router redundancy
CN115378590A (zh) * 2022-10-27 2022-11-22 国网浙江义乌市供电有限公司 一种基于区块链的能源数据安全存储方法和系统

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9331848B1 (en) * 2011-04-29 2016-05-03 Altera Corporation Differential power analysis resistant encryption and decryption functions
KR101989813B1 (ko) * 2012-06-29 2019-06-18 펜타시큐리티시스템 주식회사 특정 포맷을 가지는 대체 데이터의 생성 및 검증
US9264222B2 (en) 2013-02-28 2016-02-16 Apple Inc. Precomputing internal AES states in counter mode to protect keys used in AES computations
TWI559168B (zh) * 2013-03-07 2016-11-21 國立成功大學 資料加密系統及方法
JP6407311B2 (ja) * 2015-02-06 2018-10-17 三菱電機株式会社 暗号ブロック特定装置、暗号ブロック特定方法、及び暗号ブロック特定プログラム
US9614668B1 (en) * 2016-09-14 2017-04-04 ISARA Corporation Conversion schemes for cryptography systems
US10965456B2 (en) 2017-09-25 2021-03-30 The Boeing Company Systems and methods for facilitating data encryption and decryption and erasing of associated information
US10924263B2 (en) * 2017-09-25 2021-02-16 The Boeing Company Systems and methods for facilitating iterative key generation and data encryption and decryption
US10860403B2 (en) 2017-09-25 2020-12-08 The Boeing Company Systems and methods for facilitating truly random bit generation
EP3616052B1 (de) * 2017-11-07 2021-08-25 Google LLC Zufallszahlengenerator
US10404458B1 (en) 2017-11-17 2019-09-03 ISARA Corporation Multi-round key encapsulation process
US10061636B1 (en) 2017-12-22 2018-08-28 ISARA Corporation Conversion schemes for public key cryptosystems
US10031795B1 (en) 2017-12-22 2018-07-24 ISARA Corporation Using conversion schemes in public key cryptosystems
KR102565442B1 (ko) * 2018-10-26 2023-08-16 삼성에스디에스 주식회사 암호 알고리즘 생성 장치 및 방법, 암호화 장치 및 방법
KR102565443B1 (ko) * 2018-10-26 2023-08-16 삼성에스디에스 주식회사 암호 알고리즘 생성 장치 및 방법, 암호화 장치 및 방법
CN111769943B (zh) * 2020-09-01 2021-01-01 北京连山科技股份有限公司 一种基于粒子化的数据安全保护方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5727062A (en) * 1995-07-06 1998-03-10 Ritter; Terry F. Variable size block ciphers
US6189095B1 (en) * 1998-06-05 2001-02-13 International Business Machines Corporation Symmetric block cipher using multiple stages with modified type-1 and type-3 feistel networks
EP1069508B1 (de) 1999-07-14 2005-06-15 Bernd Röllgen Während der Laufzeit veränderbare kryptographische Methode

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2302784A1 (en) * 1997-09-17 1999-03-25 Frank C. Luyster Improved block cipher method
US6804355B1 (en) * 2000-01-06 2004-10-12 Intel Corporation Block cipher for small selectable block sizes
AU2003270296A1 (en) * 2002-09-03 2004-03-29 The Regents Of The University Of California Block cipher mode of operation for constructing a wide-blocksize block cipher from a conventional block cipher
US7418100B2 (en) * 2004-10-20 2008-08-26 Cisco Technology, Inc. Enciphering method
US20090080647A1 (en) * 2005-12-14 2009-03-26 Nds Limited Method and System for Usage of Block Cipher Encryption
US8938067B2 (en) * 2009-10-30 2015-01-20 Voltage Security, Inc. Format preserving encryption methods for data strings with constraints

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5727062A (en) * 1995-07-06 1998-03-10 Ritter; Terry F. Variable size block ciphers
US6189095B1 (en) * 1998-06-05 2001-02-13 International Business Machines Corporation Symmetric block cipher using multiple stages with modified type-1 and type-3 feistel networks
EP1069508B1 (de) 1999-07-14 2005-06-15 Bernd Röllgen Während der Laufzeit veränderbare kryptographische Methode

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11374856B1 (en) * 2021-01-13 2022-06-28 Hewlett Packard Enterprise Development IP System and method for performing synchronization of maximum transmission unit with router redundancy
US20220224636A1 (en) * 2021-01-13 2022-07-14 Hewlett Packard Enterprise Development Lp System and method for performing synchronization of maximum transmission unit with router redundancy
CN115378590A (zh) * 2022-10-27 2022-11-22 国网浙江义乌市供电有限公司 一种基于区块链的能源数据安全存储方法和系统

Also Published As

Publication number Publication date
US20110096923A1 (en) 2011-04-28

Similar Documents

Publication Publication Date Title
DE102009050493A1 (de) Blockdatenverschlüsselungsverfahren
DE69931606T2 (de) Datenwandler und aufzeichnungsmedium zur aufnahme eines programms zur datenumwandlung
DE19827904C2 (de) Blockchiffrier- oder -dechiffrierverfahren und Blockchiffrier- oder -dechiffriervorrichtung
EP2433241B1 (de) Verschlüsselungsverfahren
DE69929251T2 (de) Verschlüsselungssystem mit einem schlüssel veränderlicher länge
DE602005002632T2 (de) Schlüsselmaskierung für kryptographische Prozesse mittels einer Kombination von Zufallsmaskenwerten
DE69937007T2 (de) Verfahren und vorrichtung zur verschlüsselung und entschlüsselung von daten
DE10129285C2 (de) Verschlüsselungsverfahren mit beliebig wählbaren Einmalschlüsseln
DE60113678T2 (de) Generator für pseudo-zufallszahlen
DE102012201164B4 (de) Vorrichtung und verfahren zur erzeugung eines nachrichtenauthentifizierungscodes
DE69916160T2 (de) Vorrichtung und Verfahren zur kryptographischen Verarbeitung sowie Aufzeichnungsmedium zum Aufzeichnen eines kryptographischen Verarbeitungsprogramms zur Ausführung einer schnellen kryptographischen Verarbeitung ohne Preisgabe der Sicherheit
EP2666254B1 (de) Authentifizierung von verschlüsselten datenblöcken
DE102009045133A1 (de) Verfahren zum Manipulationsschutz von Sensordaten und Sensor hierzu
DE102009002396A1 (de) Verfahren zum Manipulationsschutz eines Sensors und von Sensordaten des Sensors und einen Sensor hierzu
CH693252A5 (de) Verfahren und Vorrichtung zurErzeugung einer ganzen Zahl
EP3304802B1 (de) Verfahren zur sicherstellung der informationssicherheit von über einen datenbus übertragenen daten sowie datenbussystem
EP1298834A1 (de) Verfahren und Vorrichtung zum Verschlüsseln und Entschlüsseln von Daten
DE602004003675T2 (de) Sicherheitsgegenmassnahmen gegen Angriffe durch Stromverbrauchsanalysen
DE60034009T2 (de) Verfahren zur Aktualisierung von Geheimschlüsseln in einem Datenkommunikationssystem
DE60133140T2 (de) System und verfahren für symmetrische kryptographie
EP2288073B1 (de) Vorrichtung zur Verschlüsselung von Daten
DE102008023577A1 (de) Symmetrischer Ein-Block-Verschlüsselungs-Algorithmus mit variabler Schlüssellänge
EP0384478A2 (de) Verfahren zum Ver- und Entschlüsseln eines Nachrichtenstromes
Ferguson et al. Cryptanalysis of Akelarre
WO1997032417A1 (de) Verfahren zum generieren eines prüfworts für eine bitfolge zur überprüfung der integrität und authentizität der bitfolge

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
8122 Nonbinding interest in granting licences declared
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee