DE69006774T2 - Verfahren zum Verschlüsseln einer Folge, die aus mindestens einem Symbol besteht. - Google Patents

Verfahren zum Verschlüsseln einer Folge, die aus mindestens einem Symbol besteht.

Info

Publication number
DE69006774T2
DE69006774T2 DE69006774T DE69006774T DE69006774T2 DE 69006774 T2 DE69006774 T2 DE 69006774T2 DE 69006774 T DE69006774 T DE 69006774T DE 69006774 T DE69006774 T DE 69006774T DE 69006774 T2 DE69006774 T2 DE 69006774T2
Authority
DE
Germany
Prior art keywords
bits
sequence
substitution
modulo
symbols
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
DE69006774T
Other languages
English (en)
Other versions
DE69006774D1 (de
Inventor
Jean Paul Boly
Gerrit Roelofsen
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.)
Koninklijke KPN NV
Original Assignee
Koninklijke PTT Nederland NV
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 Koninklijke PTT Nederland NV filed Critical Koninklijke PTT Nederland NV
Application granted granted Critical
Publication of DE69006774D1 publication Critical patent/DE69006774D1/de
Publication of DE69006774T2 publication Critical patent/DE69006774T2/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
    • 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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Facsimile Transmission Control (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Peptides Or Proteins (AREA)
  • Optical Communication System (AREA)
  • Measuring Volume Flow (AREA)
  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
  • Emergency Protection Circuit Devices (AREA)
  • Electrically Operated Instructional Devices (AREA)

Description

  • Die Erfindung bezieht sich auf ein Verfahren zum Verschlüsseln einer Folge, die aus n Symbolen besteht, worin n > 0 ist, wobei das Verfahren eine Substitutionsfunktion umfasst.
  • Beim Verschlüsseln von Nachrichten, die aus Symbolen eines Alphabets bestehen, zum Beispiel Bits im Fall eines binären Alphabets, kann von zwei verschiedenen Verschlüsselungstechniken Gebrauch gemacht werden. Die erste betrifft die Blockverschlüsselung, bei der Blöcke der zu verschlüsselnden Nachricht, zum Beispiel Blöcke von 64 Bits, immer blockweise der Reihe nach durch verschlüsselte Blöcke von zum Beispiel 64 Bits substituiert werden. Die zweite Verschlüsselungstechnik betrifft die Flussverschlüsselung, bei der Folgen von n Symbolen der zu verschlüsselnden Nachricht mit einem Schlüsselbit kombiniert werden, der für jedes zu verschlüsselnden Bit separat gebildet wird.
  • Sowohl bei der Blockverschlüsselung als auch bei der Flussverschlüsselung werden oftmals Substituierungsvorrichtungen verwendet. Derartige Substituierungsvorrichtungen, die eine Bitfolge entsprechend einem vorgeschriebenen Muster durch eine andere Bitfolge substituieren, sind den Fachleuten auf diesem Gebiet unter dem Namen S-Boxen bekannt, so dass dieser Name im folgenden für solche Vorrichtungen verwendet wird. S-Boxen bilden einen wichtigen Teil beim Verschlüsseln von Algorithmen und werden verwendet, um die Nicht-Linearität derartiger Algorithmen zu vergrössern. Um mittels einer S-Box einen starken, das heisst schwierig zu entschlüsselnden, Verschlüsselungs-Algorithmus zu bilden, ist bekannt, dass die S-Box gute statistische und nicht-lineare Eigenschaften haben muss. Die Tatsache, dass die Stärke eines Verschlüsselungs-Algorithmus sehr eng mit der Qualität der verwendeten S-Box in Zusammenhang stehen kann, ist inter alia von A.G. Konheim in "Cryptography: A primer", A. Wiley & Sons, New York, 1981, Seiten 248-249 beschrieben worden; sowie von A. Shamir im Protokoll von Crypto, 1985, Seiten 280-281. Angesichts der Anforderungen, welche die S-Boxen erfüllen müssen, gibt es nur eine beschränkte Anzahl S-Boxen mit guten statistischen und nicht-linearen Eigenschaften. Wegen der Tatsache, dass es vergleichsweise nur wenig gute S-Boxen gibt, werden diese S-Boxen im allgemeinen vorher ausgewählt, wenn ein Verschlüsselungs-Algorithmus entworfen wird. Der Nachteil dabei ist jedoch, dass diese S-Boxen wahrscheinlich bald allgemein bekannt werden, so dass es im Prinzip für eine unberechtigte Person nicht unmöglich sein wird, eine mittels einer solchen bekannten S-Box verschlüsselte Nachricht zu entschlüsseln.
  • Eine beträchtliche Verbesserung von Nachrichten, die mittels S- Boxen verschlüsselt wurden, und infolgedessen ein Verschlüsselungs-Algorithmus, der weniger einfach zurückzugewinnen ist, würde erreicht, wenn all die möglichen S-Boxen, die eine Substitution von n Bits bis k Bits liefern können, verwendet werden könnten. Dies ist jedoch aus den oben erwähnten Gründen bis heute noch nicht möglich gewesen.
  • Ziel der vorliegenden Erfindung ist, die vorgängig erwähnte Möglichkeit zu bieten und zu diesem Zweck liefert sie ein Verfahren der oben erwähnten Art, mit dem auf der Basis eines Schlüssels gemäss einem vorbestimmten Verfahren mindestens eine willkürliche Substitutionstabelle erzeugt wird, welche jede mögliche Folge von n Symbolen durch eine spezifische Folge von k Symbolen substituiert, worin k > 0 ist, und in der immer eine zweite Folge von k Symbolen mit einer guten statistischen Verteilung mit einer der beiden Symbolfolgen kombiniert wird.
  • Um dies zu erhalten, ist die Erfindung dadurch gekennzeichnet, dass mittels eines Schlüssels mindestens eine willkürliche Substitutionstabelle erzeugt wird, wobei die Tabelle jede mögliche Folge von n Symbolen durch eine spezifische Folge von k Symbolen substituiert, worin k > 0 ist, und dass eine zweite Folge von k Symbolen, die eine gute statistische Verteilung aufweist, mit einer der beiden zuerst genannten Symbol folgen kombiniert wird, um eine verschlüsselte Ausgangsfolge zu erhalten.
  • Die Erfindung beruht auf der Erkenntnis, dass sich die Zuverlässigkeit der im Verschlüsselungs-Algorithmus verwendeten Substitutionsfunktion beträchtlich erhöhen wird, wenn sowohl die sendende als auch die empfangende Partei ein und dieselbe willkürliche S-Box auf der Basis eines geheimen Schlüssels über einen Schlüsselkanal bilden, was natürlich das Risiko mit sich zieht, dass in diesem Fall eine schlechte S-Box gebildet wird, das heisst eine S-Box mit schlechten statistischen Eigenschaften und folglich eine Substitution, die von einer unberechtigten Person relativ einfach zurückgewonnen werden kann. Dieses Problem wird jedoch nach einer ersten Ausführung der Erfindung aus dem Weg geräumt, indem zu der beim Ausgangsterminal der S- Box gelieferten Folge von k Symbolen mittels einer Kombinationsfunktion eine zweite Folge von k Symbolen addiert wird, wobei diese zweite Folge eine gute statistische Verteilung aufweist, weil in diesem Fall bewiesen werden kann, dass das Ergebnis dieser Addition nicht nur eine gute statistische Verteilung sondern auch die nicht-linearen Eigenschaften der S-Box aufweist.
  • Nach einer zweiten Ausführung der Erfindung wird die zweite Folge von k Bits zur Folge von n Bits addiert, die der Substitutionstabelle zugeführt werden. Auch in diesem Fall kann bewiesen werden, dass gute statistische Eigenschaften der Folge von k Bits beim Eingangsterminal der S-Box auch beim Ausgangsterminal derselben existieren, während die nicht-linearen Eigenschaften der S-Box natürlich beibehalten werden. Es sei erwähnt, dass der Artikel "Privacy and authentication: An introduction to cryptography" von W. Diffie und M.E. Hellman im Protokoll der IEEE, Band 67, Nr. 3, Seiten 397-427, eine gute Einführung in das Verschlüsseln gibt, das die Verwendung von S- Boxen einbezieht. Auf Seite 409, linke Spalte, Zeilen 18-26 und 34-42, verweist die Zitierung auf eine bekannte Version eines Verschlüsselungssystems, das auf bijektiven S-Boxen mit einer spezifischen Schlüsselabhängigkeit basiert, und analysiert dessen Probleme. Bei derartigen S-Boxen sollte jedes Substitutionswort anders gewählt werden. Als eine Folge dieser spezifischen Schlüsselabhängigkeit könnte ein zufällig erzeugter Schlüssel nicht zur Bildung der S-Boxen verwendet werden. Ausserdem müsste die Schlüssellänge unbewältigbar lang sein. Um diese und andere Probleme der schlüsselabhängigen S-Boxen zu verhindern, wird die Verwendung eines Satzes vorher ausgewählter S-Boxen vorgeschlagen, wobei die Wahl welche S-Box innerhalb des Satzes von S-Boxen in einem spezifischen Verschlüsselungsfall verwendet wird, schlüsselabhängig ist (siehe Zeile 43 und weiter in der gleichen Spalte und Seite). Im Gegensatz dazu liefert die vorliegende Erfindung nicht nur eine Lösung für diese Probleme bei schlüsselabhängigen bijektiven S-Boxen, sondern ermöglicht sogar die Verwendung irgendeiner willkürlichen S-Box, welche auf der Basis eines zufällig erzeugten Schlüssels gebildet wird, und welche eine Folge von n Symbolen durch eine Folge von k Symbolen substituiert, worin k > 0 ist.
  • Es sei weiter erwähnt, dass aus der europäischen Patentanmeldung 0 202 989 bekannt ist, beim Verschlüsseln einer Nachricht von verschiedenen vorher bestimmten Substitutionsspeichern Gebrauch zu machen, um auf diese Art die Stärke eines Verschlüsselungs-Algorithmus zu verbessern, wobei die Wahl des für eine spezifische Verschlüsselung zu verwendenden Substitutionsspeichers von einem Schlüssel sowie von dem zu verschlüsselnden Wort bestimmt wird. Die Anzahl verschiedener Substitutionsspeicher, die mittels des Schlüssels und des zu verschlüsselnden Wortes gewählt werden kann, ist jedoch beschränkt, zum Beispiel 4, und somit ist im Prinzip nicht bekannt, wie man von all den möglichen Substitutionen von n bis k Bits Gebrauch machen kann, wie dies nach der vorliegenden Erfindung vorgeschlagen wird, da die in einem spezifischen Fall gewählte Substitution von einem Schlüssel bestimmt wird, der nur der sendenden und der empfangenden Partei bekannt ist.
  • Die Erfindung wird im folgenden anhand der Zeichnungen weiter erläutert; darin zeigt:
  • Figur 1 eine schematische Darstellung einer ersten Variante des der Erfindung zugrunde liegenden Prinzips;
  • Figur 2 eine schematische Darstellung einer zweiten Variante dieses Prinzips;
  • Figur 3 eine schematische Darstellung einer ersten Ausführung; und
  • Figur 4 eine schematische Darstellung einer zweiten Ausführung.
  • Bevor die Figuren beschrieben werden, sei erwähnt, dass die Erfindung auf Symbole verschiedener Alphabete anwendbar ist, dass die Figuren aber einfachheitshalber der Verwendung von Bits des binären Alphabets angepasst sind. Klarheitshalber sind in den Figuren die Länge der verschiedenen Bit folgen ausserdem direkt in den entsprechenden Registern angedeutet, was jedoch nicht heissen soll, dass Folgen derselben Länge auch gleich sind in bezug auf ihre Bitmusterung. Eine S-Box, die eine Eingangsfolge von n Bits durch eine Folge von k bits substituiert, ist mit S(n,k) bezeichnet, wobei auch diese Bezeichnung im folgenden weiter verwendet wird. Im Prinzip kann die Folge von k Bits irgendeine gewünschte Länge aufweisen.
  • In Figur 1, die eine erste sogenannte dynamische Variante des der Erfindung zugrunde liegenden Prinzips zeigt, stellt die Bezugsnummer 1 eine willkürliche S-Box dar, welche in der Lage ist, auf eindeutige Art eine in einem Register 2 auftretende Folge von n Bits durch eine Folge von k Bits in einem Ausgangsregister 3 zu substituieren, wobei k im Bereich von 1 ≤ k ≤ n gewählt wird. Eine derartige S-Box kann ein Speicher sein, in dem für jede der möglichen 2n Eingangs folgen eine Ausgangsfolge von k Bits, die gemäss einem vorbestimmten Verfahren bestimmt werden, gespeichert wird.
  • Wenn ein Verbindungskanal zwischen zwei Parteien hergestellt wird, über die verschlüsselte Nachrichten geschickt werden müssen, wird zuerst ein geheimer Schlüssel über einen sicheren Kanal ausgetauscht. Auf der Basis dieses Schlüssels wird von den beiden Parteien gemäss einem vorbestimmtem Verfahren eine funktionell identische Substitutionstabelle gebildet, wobei die Tabelle nur gute nicht-lineare Eigenschaften benötigt, während keine Anforderungen an die statistischen Eigenschaften der gebildeten S-Box gestellt werden.
  • Ein Verfahren zur Erzeugung, mittels eines Schlüssels, einer S(n,k)-Box, die fast sicher nicht-linear ist, die aber sicherlich schlechte statistische Eigenschaften aufweist, kann zum Beispiel folgendes sein. Ein Schlüssel mit einer Länge von L Bits wird in 2n Teile von k Bits geteilt, die aufeinanderfolgend numeriert werden. Falls zu diesem Zweck die Länge des Schlüssels nicht gross genug ist, was in der Praxis am häufigsten der Fall ist, wird der Schlüssel künstlich verlängert, indem eine Anzahl identischer Kopien des Schlüssels hintereinander plaziert werden. Die nächsten 2n Teile von k Bits werden in der Sequenz ihrer Numerierung den 2n möglichen Eingangs folgen der S-Box zugeteilt. Wenn in diesem Fall der Schlüssel zufällig erzeugt wird, wird die S-Box fast sicher nicht-linear sein. Falls der Schlüssel jedoch häufig wiederholt worden ist, um genügend Teile von k Bits zu bilden, besteht eine grosse Möglichkeit, dass die statistischen Eigenschaften schlecht sind, infolge der Tatsache, dass in der S-Box gewisse Werte oberhalb des Mittelwertes und andere gerade unterhalb des Mittelwertes zurückkommen.
  • In einem Register 4 ist eine zweite Folge von k Bits vorhanden, wobei diese Folge, wie vorgängig versichert, eine gute statistische Bitverteilung aufweist, wie zum Beispiel eine Zufalls- oder eine Pseudozufallsfolge. In einer Modulo-2-Additionsschaltung 5 werden die Bits in den Registern 3 und 4 bitweise addiert, und die beim Ausgangsterminal der Modulo-2-Additionsschaltung 5 erhaltene Folge von k Bits kann zur Flussverschlüsselung von Bits eines gewöhnlichen Textes verwendet werden, der von einem Register 7 geliefert wird. Zu diesem Zweck können die erwähnten Bits, im Fall, dass k=1 ist, in einer Modulo-2-Additionsschaltung 8 bitweise zum sogenannten Schlüsselbit beim Ausgangsterminal der Additionsschaltung 5 addiert werden, um beim Ausgangsterminal der Additionsschaltung 8 das zu übertragende sogenannte Chiffrebit zu bilden.
  • Anhand eines einfachen Beispiels wird nun im folgenden zuerst erklärt, dass die Modulo-2-Addition einer Folge mit guten statistischen Eigenschaften zu einer Folge mit unbekannten, vielleicht guten, aber möglicherweise schlechten statistischen Eigenschaften, zu einer Folge führen wird, die immer gute statistische Eigenschaften besitzt. Zu diesem Zweck wird eine willkürliche S-Box als Beispiel genommen, die eine Folge von n Bits durch ein einziges Ausgangsbit substituiert, so dass demzufolge k=1 ist. Es wird jetzt angenommen, dass die Möglichkeit, dass dieses Ausgangsbit eine 0 ist gleich p ist, und dass die Möglichkeit, dass das Ausgangsbit eine 1 ist gleich q ist, worin p + q = 1 ist. Entsprechend der Erfindung wird jetzt ein einziges Bit zu dem erwähnten Ausgangsbit modulo-2-addiert, da gilt, dass k=1 ist. Es wird angenommen, dass die Möglichkeit, dass dieses Bit eine 1 ist gleich s ist, und dass die Möglichkeit, dass es eine 0 ist gleich r ist, worin r + s = 1 ist. Da es nach der Erfindung eine Bedingung ist, dass die Folge von k Bits, welche zur Folge von k Bits beim Ausgangsterminal der S- Box modulo-2-addiert wird, gute statistische Eigenschaften aufweist, gilt für dieses einzelne Bit, dass r = s = 1/2 ist. Die Möglichkeit einer 0 beim Ausgangsterminal der Modulo-2- Additionsschaltung ist gleich pr + sq, während die Möglichkeit einer 1 gleich ps + rq ist. Da r = s = 1/2 ist, kann davon leicht abgeleitet werden, dass gilt, dass pr + sq = ps + rq = 1/2 ist, so dass die Folge beim Ausgangsterminal der Modulo-2- Additionsschaltung die gewünschten guten statistischen Eigenschaften der Folge von k Bits übernommen hat, die nach der Erfindung addiert worden ist.
  • Die Folge der zur Modulo-2-Additionsschaltung addierten k Bits hat keinen Einfluss auf die gewünschten nicht-linearen Eigenschaften der Bitfolge beim Ausgangsterminal der S-Box, da die Addition bitweise stattfindet, und wenn zum Beispiel eine S-Box eine Folge von n Bits durch ein einziges Ausgangsbit substituiert, das von einer nicht-linearen Summe von Kombinationen von einem oder mehr als einem Eingangsbit gebildet wird, wird diese Summe sogar nach einer Modulo-2-Addition nicht-linear bleiben.
  • Es ist eine gute Sache, entweder das Schlüsselbit beim Ausgangssterminal der Modulo-2-Additionsschaltung 5 oder das Chiffrebit beim Ausgangsterminal der Modulo-2-Additionsschaltung 8 zum Eingangsregister 2 zurückzuführen, das zu diesem Zweck als Schieberegister konstruiert sein kann. Dies hat den Vorteil, dass die Synchronisierung zwischen dem Sender und dem Empfänger auf einfachere Art realisiert werden kann. Wenn der Empfänger irrtümlicherweise ein Chiffrebit empfängt und dieses zurückführt, oder wenn er von diesem irrtümlicherweise erhaltenen Signal ein irrtümliches Schlüsselbit ableitet und zurückführt, so driickt sich dieser Fehler im Schieberegister 2 in einer irrtümlichen Entschlüsselung der empfangenen Nachricht aus. Nach n Zyklen wird dieser Fehler jedoch wieder von selbst aus dem Schieberegister geschoben, so dass sich die irrtümliche Entschlüsselung auf n Bit beschränkt, was in den meisten Fällen toleriert werden kann.
  • Figur 2 zeigt eine zweite sogenannte statistische Variante der Erfindung, die auf dem gleichen Prinzip beruht und bei der gleiche Teile mit gleichen Bezugsnummern bezeichnet sind, welche aber mit einem Strich versehen sind. Die Folge von n Bits und die Folge von k Bits, die gute statistische Eigenschaften aufweisen, werden jetzt miteinander einer S-Box 1' zugeführt, die derart eingestellt ist, um jede Folge von n + k Bits durch eine Folge von k Bits zu substituieren, wobei diese Folge identisch ist mit der Folge von k Bits, die mittels des in Figur 1 erläuterten Verfahrens erhalten wird, falls die Folgen von n und k Bits in den Registern 2 und 4 identisch sind mit den Folgen von n und k Bits in den Registern 2' bzw. 4'. Tatsächlich erhöht sich die für die S-Box notwendige Speicherkapazität im Prinzip von 0 (2n) auf 0 (2n+k), aber ein Vorteil besteht darin, dass nicht immer für jedes Bit eine Modulo-2-Addition benötigt wird, so dass die benötigte Computerzeit abnimmt. Das Symbol 0 ist in diesem Fall eine Bezeichnung, die eine Grössenordnung darstellt.
  • Figur 3 zeigt eine Ausführung, die sich für die Flussverschlüsselung eignet und, mit gewissen Anpassungen, auch für die Blockverschlüsselung. Ein Block von p Bits einer in einem Register 31 zu verschlüsselnden Nachricht wird von einer S(p,q)-Box 32 durch eine Folge von q Bits in einem Register 33 substituiert. Gleichzeitig wird ein Block von q Bits der in einem Register 34 zu verschlüsselnden Nachricht von einer S(q,p)-Box 35 durch eine Folge von p Bits in einem Register 36 substituiert. In einer Modulo-2-Additionsschaltung 37 werden die Folgen in den Registern 33 und 34 addiert, während die Folgen in den Registern 31 und 36 in einer Modulo-2-Additionsschaltung 38 addiert werden. Die durch diese Addition beim Ausgangsterminal der Additionsschaltung 37 gebildete Folge von q Bits wird einem Register 39 zugeführt, während die beim Ausgangsterminal der Additionsschaltung 38 gebildete Folge von p Bits einem Register 40 zugeführt wird. Die Folge im Register 39 wird von einer S(q,p)-Box 41 durch eine Folge von p Bits in einem Register 42 substituiert, während die Folge in Register 40 von einer S(p,q)-Box 43 durch eine Folge von q Bits in einem Register 44 substituiert wird. Jetzt werden die Folgen in den Registern 40 und 42 in einer Modulo-2-Additionsschaltung 45 addiert, und die Folgen in den Registern 39 und 44 werden in einer Modulo-2-Additionsschaltung 46 addiert. Die durch diese Addition beim Ausgangsterminal der Additionsschaltung 45 gebildete Folge von p Bits wird einem Register 47 zugeführt, während die beim Ausgangsterminal der Additionsschaltung 46 gebildete Folge von q Bits einem Register 48 zugeführt wird. Auf diese Art können Blöcke von p bzw. q Bits mittels einer willkürlichen S-Box verschlüsselt werden, vorausgesetzt, dass die Blöcke von p und q Bits in einem gewissen Zeitpunkt eine gute statistische Verteilung aufweisen. Falls erwünscht, kann der Inhalt der Register 47 und 48 zu diesem Zweck zu den Registern 31 bzw. 34 zurückgeführt werden, und der Substitutionszyklus kann von einem Zähler kontrolliert mehrere Male durchlaufen werden. Falls p = q ist, können alle S-Boxen untereinander gleich sein und die in Figur 3 dargestellte Konfiguration kann auf einfache Art eingerichtet werden, sowohl in bezug auf die Software als auch auf die Hardware.
  • Die in Figur 3 gezeigte Ausführung eignet sich auch für die Blockverschlüsselung, vorausgesetzt, dass eine der Modulo-2-Additionsschaltungen 37 oder 45 und eine der Modulo-2-Additionsschaltungen 38 oder 46 mit ihren vorhergehenden Registern 33 bzw. 42 und 36 bzw. 44 weggelassen werden, ebenso wie die Verbindungen der weggelassenen Additionsschaltungen mit den Registern 34 bzw. 40 und 31 bzw. 39. Ausserdem sollte die Bedingung, dass p = q ist, wobei diese Bedingung offensichtlich ist, und die Bedingung, dass die S-Boxen 32, 35, 41 und 43 bijektive S-Boxen sind, erfüllt sein. Bijektive S-Boxen haben die Eigenschaft, dass eine Folge von n Bits durch eine andere Folge von n Bits substituiert wird, und dass die Substitution der S-Box umgekehrt werden kann.
  • Im folgenden wird erklärt, auf welche Art eine schlüsselabhängige bijektive S(n,n)-Box auf der Basis eines Schlüssels mit einer Länge von L Bits erzeugt werden kann. Zuerst wird die S- Box derart gefüllt, dass jeder Eingangswert sich selbst als Substitutionswert erhält. Anschliessend wird der Schlüssel in 2n Teile von n Bits aufgeteilt, wobei diese Teile entsprechend ihrer Position in der Folge von Schlüsselbits aufeinanderfolgend numeriert werden. Falls die Länge L des Schlüssels ungenügend ist, kann dies behoben werden, indem eine Anzahl Kopien des Schlüssels hintereinander plaziert werden. Nachher werden folgende Schritte ausgeführt:
  • Entsprechend Schritt 0 wird der Wert w&sub0; des Teils des Schlüssels mit der Positionszahl 0 berechnet, wobei der Wert eine Zahl zwischen 0 und 2n-1 ist. Als nächstes werden die Substitutionswerte der S-Box mit den Eingangswerten 0 und w&sub0; ausgetauscht.
  • Entsprechend Schritt 1 wird der Wert w&sub1; des Teils des Schlüssels mit der Positionszahl 1 berechnet, wobei dieser Wert wiederum eine Zahl zwischen 0 und 2n-1 ist. Als nächstes werden die Substitutionswerte der S-Box mit den Eingangswerten 1 und w&sub1; ausgetauscht.
  • Entsprechend Schritt i wird der Wert wi des Teils des Schlüssels mit der Positionszahl i berechnet, wobei dieser Wert wiederum eine Zahl zwischen 0 und 2n-1 ist. Als nächstes werden die Substitutionswerte der S-Box mit den Eingangswerten i und wi ausgetauscht.
  • Um die vollständige bijektive S-Box zu erhalten, sollten vorzugsweise mindestens 2n Schritte auf oben beschriebene Weise durchgeführt werden, doch falls erwünscht sind auch mehr Schritte zulässig.
  • Es sei erwähnt, dass die Anzahl möglicher bijektiver S(n,n)-Boxen nur ein Teil aller möglichen S(n,n)-Boxen bildet, was wegen den spezifischen Eigenschaften der bijektiven S-Boxen der Fall ist.
  • Figur 4 zeigt eine andere Ausführung eines Algorithmus, mit dem auf der Basis der vorliegenden Erfindung ein Schlüsselbit zur Flussverschlüsselung erhalten werden kann. Diese Figur zeigt n + 1 Kreisläufe des in Figur 1 gezeigten Typs, worin k=1 ist, gleiche Teile sind mit den gleichen Bezugsnummern wie in Figur 1 bezeichnet, aber mit der Hinzufügung eines Index (0) bis und mit (n+1). Es sei erwähnt, dass, obwohl alle Bitfolgen in den Registern 2 mit n angedeutet sind, sich dieses nur auf die Länge der Folgen in diesen Registern bezieht und nicht auf die Musterung der Bitfolgen. Die verschiedenen S-Boxen 1 können im Prinzip auch verschiedene Substitutionen von n Bits bis 1 Bit durchführen. Die n Ausgangsbits der Modulo-2-Additionsschaltung 5 (1) bis und mit 5(n) bilden die Eingangsbitfolgen von n Bits für die S-Box 1(n+1), während das Ausgangsbit der Modulo-2-Additionsschaltung 5(0) einem Ausgangsterminal der Modulo-2-Additionsschaltung 5(n+1) zugeführt wird, deren anderer Eingangsterminal das Ausgangsbit der S-Box 1(n+1) über das Ausgangsregister 3(n+1) erhält. Mit dem Algorithmus von Figur 4 kann eine Folge von n Bits in zwei Schritten in ein einziges Schlüsselbit umgewandelt werden, und falls die von den Registern 4(0) bis und mit 4(n) gelieferten Bitfolgen eine gute statistische Verteilung haben, dies gilt ebenso für das Schlüsselbit im Register 8(n+1), unabhängig von den statistischen Eigenschaften der S-Boxen 1(0) bis und mit 1(n+1), können deren nicht-linearen Eigenschaften aufrecherhalten werden.

Claims (11)

1. Verfahren zum Verschlüsseln einer Folge (2, 2') bestehend aus n Symbolen, worin n > 0 ist, wobei das Verfahren eine Substitutionsfunktion umfasst, dadurch gekennzeichnet, dass mittels eines Schlüssels mindestens eine willkürliche Substitutionstabelle (1, 1') erzeugt wird, wobei diese Tabelle jede mögliche Folge von n Symbolen durch eine spezifische Folge (3, 3') von k Symbolen substituiert, worin k > 0 ist, und dass eine zweite Folge von k Symbolen, die eine gute statistische Verteilung aufweist, mit einer der zwei vorgenannten Symbolfolgen (3 oder 2') kombiniert wird, um eine verschlüsselte Ausgangsfolge (6, 3') zu gewinnen.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die zweite Folge von k Symbolen beim Eingangsterminal der Substitutionstabelle mit der Folge von n Symbolen kombiniert wird.
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die zweite Folge von k Symbolen, unter Beibehaltung der Länge der Folge, mit den Folgen von k Symbolen kombiniert wird, die beim Ausgangsterminal der Substitutionstabelle erhältlich werden.
4. Verfahren nach Anspruch 3, wobei die Symbole Bits sind, dadurch gekennzeichnet, dass die Folgen von k Symbolen mittels einer Modulo-2-Addition kombiniert werden.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass k=1 ist, dass in (n+1) Substitutionstabellen (1(0), ..., 1(n)) jede der (n+1) Folgen (2(0), ..., 2(n)) von n Bits gemäss vorbestimmten Substitutionsverfahren durch 1 Bit substituiert wird, dass mittels (n+1) Modulo-2-Additionen (5(0), ..., 5(n)) jedes der (n+1) Bits zu 1 Bit der (n+1) Folgen addiert wird, die eine Länge von 1 Bit und eine gute statistische Verteilung aufweisen, dass die Ausgangssignale von n der n+1 Modulo-2-Additionen (5(0), ..., 5(n)) durch 1 Bit substituiert werden gemäss vorbestimmten Substitutionsverfahren (1(n+1)), und dass dieses eine Bit modulo-2-artig zum Ausgangssignal der (n+1)ten Modulo-2-Addition (5(0)) addiert wird.
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass mindestens einige der Folgen (2(0), ..., 2(n)) von n Bits verschiedene Folgen sind, und dass mindestens die vorbestimmten Substitutionsverfahren verschiedene Substitutionsverfahren sind.
7. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass in einer ersten Substitutionstabelle (32) eine Folge (31) von p Bits einer zu verschlüsselnden Nachricht durch eine Folge (34) von q Bits substituiert wird, dass in einer zweiten Substitutionstabelle (35) eine Folge (33) von q Bits einer zu verschlüsselnden Nachricht durch eine Folge (36) von p Bits substituiert wird, dass die Ausgangsfolge (33) von q Bits der ersten Substitutionstabelle (32) modulo-2-artig (37) zur Folge (34) von q Bits addiert wird und dass die Ausgangsfolge (36) von p Bits der zweiten Substitutionstabelle (35) modulo-2-artig (38) zur Folge (31) von p Bits addiert wird, dass die durch die Modulo-2-Addition (37) erhaltene Folge (39) von q Bits durch eine Folge (42) von p Bits in einer dritten Substitutionstabelle (41) substituiert wird und dass die durch die Modulo-2- Addition (38) erhaltene Folge (40) von p Bits durch eine Folge (44) von q Bits in einer vierten Substitutionstabelle (43) substituiert wird, und dass die Ausgangsfolge (42) von p Bits der dritten Substitutionstabelle (41) modulo-2-artig (45) zur Folge (40) von p Bits addiert wird, die der vierten Substitutionstabelle (43) zugeführt wird und dass die Ausgangsfolge (44) der vierten Substitutionstabelle (43) modulo-2-artig (46) zur Folge (39) von q Bits addiert wird, die der dritten Substitutionstabelle (41) zugeführt wird.
8. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass in einer ersten Substitutionstabelle (32) eine erste Folge von p Bits durch eine erste Folge von q Bits substituiert wird, dass in einer zweiten Substitutionstabelle (35) eine zweite Folge von q Bits durch eine zweite Folge von p Bits substituiert wird, dass die Ausgangsfolge von n Bits der zweiten Substitutionstabelle (35) modulo-2-artig zur ersten Folge von p Bits addiert wird, dass die erste Folge von q Bits durch eine dritte Folge von p Bits in einer dritten Substitutionstabelle (41) substituiert wird und dass die vierte Folge von p Bits, die durch die Modulo-2-Addition erhalten wird, durch eine dritte Folge von q Bits in einer vierten Substitutionstabelle (43) substituiert wird, und dass die Ausgangsfolgen von p Bits der dritten Substitutionstabelle (41) modulo-2-artig zur dritten Folge von p Bits addiert wird, die der vierten Substitutionstabelle (43) zugeführt wird.
9. Verfahren nach Anspruch 7 oder 8, dadurch gekennzeichnet, dass p = q ist.
10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, dass die vier Substitutionstabellen identisch sind.
11. Verfahren nach mindestens einem der Ansprüche 7 bis 10, dadurch gekennzeichnet, dass die Folgen von p Bits und q Bits, die man aufgrund der verschiedenen Substitutionen schlussendlich erhält, zur ersten bzw. zweiten Substitutionstabelle zurückgeführt werden, und dass dies eine vorbestimmte Anzahl Male wiederholt wird.
DE69006774T 1989-05-26 1990-05-21 Verfahren zum Verschlüsseln einer Folge, die aus mindestens einem Symbol besteht. Expired - Fee Related DE69006774T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
NL8901323A NL8901323A (nl) 1989-05-26 1989-05-26 Werkwijze voor het vercijferen van een reeks telkens uit tenminste een symbool bestaande boodschappen.

Publications (2)

Publication Number Publication Date
DE69006774D1 DE69006774D1 (de) 1994-03-31
DE69006774T2 true DE69006774T2 (de) 1994-08-11

Family

ID=19854718

Family Applications (2)

Application Number Title Priority Date Filing Date
DE199090201136T Pending DE399587T1 (de) 1989-05-26 1990-05-21 Verfahren zum verschluesseln von nachrichten, welche jeweils aus einer reihe von mindestens einem symbol bestehen.
DE69006774T Expired - Fee Related DE69006774T2 (de) 1989-05-26 1990-05-21 Verfahren zum Verschlüsseln einer Folge, die aus mindestens einem Symbol besteht.

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE199090201136T Pending DE399587T1 (de) 1989-05-26 1990-05-21 Verfahren zum verschluesseln von nachrichten, welche jeweils aus einer reihe von mindestens einem symbol bestehen.

Country Status (9)

Country Link
EP (1) EP0399587B1 (de)
AT (1) ATE101950T1 (de)
DE (2) DE399587T1 (de)
DK (1) DK0399587T3 (de)
ES (1) ES2019572T3 (de)
FI (1) FI108324B (de)
GR (1) GR900300193T1 (de)
NL (1) NL8901323A (de)
NO (1) NO303610B1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7587044B2 (en) 1998-01-02 2009-09-08 Cryptography Research, Inc. Differential power analysis method and apparatus
US6278783B1 (en) 1998-06-03 2001-08-21 Cryptography Research, Inc. Des and other cryptographic, processes with leak minimization for smartcards and other cryptosystems
EP1933496A3 (de) * 1998-06-03 2012-06-13 Cryptography Research Inc. Verbessertes DES und andere kryptographische Verfahren mit Verlustminimierung für Chipkarten und andere Verschlüsselungssysteme
NL1011719C2 (nl) 1999-04-01 2000-10-03 Koninkl Kpn Nv Werkwijze voor het met toepassing van een functie en een sleutel vercijferen van een reeks symbolen.
GB2450131B (en) * 2007-06-13 2009-05-06 Ingenia Holdings Fuzzy Keys

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4301327A (en) * 1979-06-05 1981-11-17 Lee Lin Nan Reduction of message redundancy by multiple substitution: a message preprocessing scheme for secure communications
NL8203737A (nl) * 1982-09-27 1984-04-16 Nederlanden Staat Inrichting voor vercijfering van digitale signalen met een of meer des-schakelingen.
US4760599A (en) * 1985-11-07 1988-07-26 Nec Corporation Data encryptor

Also Published As

Publication number Publication date
ES2019572A4 (es) 1991-07-01
NO902337D0 (no) 1990-05-25
FI108324B (fi) 2001-12-31
ATE101950T1 (de) 1994-03-15
NL8901323A (nl) 1990-12-17
FI902591A0 (fi) 1990-05-24
ES2019572T3 (es) 1994-05-01
NO303610B1 (no) 1998-08-03
DE399587T1 (de) 1991-02-28
DE69006774D1 (de) 1994-03-31
NO902337L (no) 1990-11-27
GR900300193T1 (en) 1991-10-10
EP0399587B1 (de) 1994-02-23
DK0399587T3 (da) 1994-06-27
EP0399587A1 (de) 1990-11-28

Similar Documents

Publication Publication Date Title
DE69929251T2 (de) Verschlüsselungssystem mit einem schlüssel veränderlicher länge
DE69031736T2 (de) Verschlüsselungsmethode
DE69632707T2 (de) Verschlüsselungseinrichtung mit doppelter vorwärtsgeregelter Hash-Funktion
DE69635651T2 (de) Vorrichtung und Verfahren zur Datenumwandlung
CH660822A5 (de) Zufallsprimzahlen-erzeugungsmittel in einer mit oeffentlichem schluessel arbeitenden daten-verschluesselungsanlage.
DE19744961A1 (de) Erzeugen eindeutiger und unvorhersagbarer Werte
DE2855787A1 (de) Digitalsignatureinrichtung
EP0012974B1 (de) Verfahren zur Chiffrierung von Datenblöcken einer vorgegebenen Länge
EP0472714A1 (de) Verfahren zur authentifizierung eines eine datenstation benutzenden anwenders
DE2231835B2 (de) Verfahren zur in mehreren Stufen erfolgenden Ver- und Entschlüsselung binärer Daten
DE1207426B (de) Verfahren zum Ver- und Entschluesseln von impulsfoermigen Nachrichten
DE10148415C2 (de) Verfahren und Vorrichtung zum Verschlüsseln und Entschlüsseln von Daten
DE19652256A1 (de) Verfahren zur Sicherung der Datenübertragung
DE102013213316A1 (de) Zufallsbitstromgenerator mit verbesserter rückwärts gerichteter Gemeinhaltung
DE102013213354A1 (de) Zufallsbitstromgenerator mit garantierter mindestperiode
EP0189734B1 (de) Verfahren und Vorrichtung für die Umwandlung einer digitalen Datensequenz in die verschlüsselte Form
DE2154019C3 (de) Zufallskodegenerator
EP0090771B1 (de) Verfahren und Vorrichtung zur chiffrierten Uebermittlung von Nachrichten
DE60004409T2 (de) Schaltung und Verfahren zur Zufallszahlerzeugung
DE69006774T2 (de) Verfahren zum Verschlüsseln einer Folge, die aus mindestens einem Symbol besteht.
DE3210081A1 (de) Verfahren und anordnung zum uebertragen von verschluesselten texten
AT519476B1 (de) Verfahren zur Erstellung und Verteilung von kryptographischen Schlüsseln
WO2000067422A1 (de) Signierung und signaturprüfung von nachrichten
DE68927020T2 (de) Kodierungs- und Dekodierungsverfahren und Gerät
DE69635100T2 (de) Verfahren zur Verarbeitung eines digitalen Signals in solcher Weise, dass das Ausgangs- nicht vom Eingangssignal abgeleitet werden kann, und Verwendung des Verfahrens zur Zugriffssteuerung und/oder digitaler Unterschrift

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: KONINKLIJKE KPN N.V., GRONINGEN, NL

8339 Ceased/non-payment of the annual fee