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
Links
- 238000000034 method Methods 0.000 title claims description 27
- 238000006467 substitution reaction Methods 0.000 claims abstract description 57
- 238000007792 addition Methods 0.000 claims 7
- 230000009022 nonlinear effect Effects 0.000 abstract description 8
- 230000008901 benefit Effects 0.000 abstract description 4
- 230000001419 dependent effect Effects 0.000 description 4
- 230000009021 linear effect Effects 0.000 description 4
- 230000015654 memory Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000000059 patterning Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details 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)
- Optical Communication System (AREA)
- Peptides Or Proteins (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Facsimile Transmission Control (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Emergency Protection Circuit Devices (AREA)
- Measuring Volume Flow (AREA)
- Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (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.
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)
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 |
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 |
EP1090480B1 (de) * | 1998-06-03 | 2019-01-09 | Cryptography Research, Inc. | Verbesserungen zu des und anderen kryptographischen verfahren mit leckminimisierung für chipkarten und andere kryptosysteme |
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)
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 |
-
1989
- 1989-05-26 NL NL8901323A patent/NL8901323A/nl not_active Application Discontinuation
-
1990
- 1990-05-21 AT AT90201136T patent/ATE101950T1/de not_active IP Right Cessation
- 1990-05-21 DK DK90201136.0T patent/DK0399587T3/da active
- 1990-05-21 EP EP90201136A patent/EP0399587B1/de not_active Expired - Lifetime
- 1990-05-21 DE DE199090201136T patent/DE399587T1/de active Pending
- 1990-05-21 DE DE69006774T patent/DE69006774T2/de not_active Expired - Fee Related
- 1990-05-21 ES ES90201136T patent/ES2019572T3/es not_active Expired - Lifetime
- 1990-05-24 FI FI902591A patent/FI108324B/fi active IP Right Grant
- 1990-05-25 NO NO902337A patent/NO303610B1/no unknown
-
1991
- 1991-10-10 GR GR90300193T patent/GR900300193T1/el unknown
Also Published As
Publication number | Publication date |
---|---|
ATE101950T1 (de) | 1994-03-15 |
NL8901323A (nl) | 1990-12-17 |
GR900300193T1 (en) | 1991-10-10 |
NO303610B1 (no) | 1998-08-03 |
FI108324B (fi) | 2001-12-31 |
NO902337D0 (no) | 1990-05-25 |
ES2019572T3 (es) | 1994-05-01 |
DE69006774D1 (de) | 1994-03-31 |
NO902337L (no) | 1990-11-27 |
ES2019572A4 (es) | 1991-07-01 |
FI902591A0 (fi) | 1990-05-24 |
DK0399587T3 (da) | 1994-06-27 |
EP0399587B1 (de) | 1994-02-23 |
EP0399587A1 (de) | 1990-11-28 |
DE399587T1 (de) | 1991-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69929251T2 (de) | Verschlüsselungssystem mit einem schlüssel veränderlicher länge | |
DE69031736T2 (de) | Verschlüsselungsmethode | |
DE2231835C3 (de) | Verfahren zur in mehreren Stufen erfolgenden Ver- und Entschlüsselung binärer Daten | |
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 | |
WO1991014980A1 (de) | Verfahren zur authentifizierung eines eine datenstation benutzenden anwenders | |
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 | |
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 | |
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 | |
EP1119941B1 (de) | Verfahren zum etablieren eines gemeinsamen schlüssels zwischen einer zentrale und einer gruppe von teilnehmern | |
EP0173647B1 (de) | Chiffrier/Dechiffrierverfahren |
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 |