DE69026784T2 - Verfahren und Einrichtung zur Verschlüsselung mittels Modulo 2-Addition und Blocksubstitution - Google Patents

Verfahren und Einrichtung zur Verschlüsselung mittels Modulo 2-Addition und Blocksubstitution

Info

Publication number
DE69026784T2
DE69026784T2 DE69026784T DE69026784T DE69026784T2 DE 69026784 T2 DE69026784 T2 DE 69026784T2 DE 69026784 T DE69026784 T DE 69026784T DE 69026784 T DE69026784 T DE 69026784T DE 69026784 T2 DE69026784 T2 DE 69026784T2
Authority
DE
Germany
Prior art keywords
equations
matrix
block
encrypted
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.)
Expired - Fee Related
Application number
DE69026784T
Other languages
English (en)
Other versions
DE69026784D1 (de
Inventor
Lothrop Mittenthal
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.)
TDY Industries LLC
Original Assignee
Teledyne Industries Inc
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 Teledyne Industries Inc filed Critical Teledyne Industries Inc
Publication of DE69026784D1 publication Critical patent/DE69026784D1/de
Application granted granted Critical
Publication of DE69026784T2 publication Critical patent/DE69026784T2/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Error Detection And Correction (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Stereo-Broadcasting Methods (AREA)
  • Slot Machines And Peripheral Devices (AREA)

Description

    Hintergrund der Erfindung 1. Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft das Gebiet von Geräten und Verfahren zur Verschlüsselung, und insbesondere Verfahren und Geräte zur Verschlüsselung mittels Blocksubstitution.
  • 2. Stand der Technik
  • In vielen Fällen ist es wünschenswert, Information in digitaler Form von einen Ort an einen anderen auf eine Art und Weise zu übertragen, die für den Empfänger klar und unzweideutig ist, und andererseits für eine potentielle Zwischenstelle unverständlich ist. Dementsprechend ist es in vielen Fällen üblich, die zu übertragende Information durch ein vorbestimmtes Verschlüsselungsverfahren zu verschlüsseln, die Information in verschlüsselter Form zu übertragen und anschließend die Information am Empfängerende wieder zu entschlüsseln. In Abhängigkeit von der gewünschten Sicherheitsstufe kann eine relativ einfache und leicht zu knackende Verschlüsselung verwendet werden, da jedes Maß der Verschlüsselung die Übertragung für eine zufällige Zwischenstelle bedeutungslos macht. In anderen Situationen kann die gewünschte Sicherheitsstufe die Verwendung eines Verschlüsselungsverfahrens vorschreiben, das durch Verschlüsselungsanalyse schwerer zu entschlüsseln ist, oder welches natürlich wenigstens in der höchsten Sicherheitsstufe eine Entschlüsselung der verschlüsselten Information im wesentlichen unmöglich macht. Anwendungsmöglichkeiten für derartige Verschlüsselungsverfahren sind unter anderem kommerzielle Anwendungen wie die sicherheitsempfindlichen Übertragungen zwischen Produktionsbetrieben, Bankfilialen etc., sowie militärische Anwendungen, einschließlich (jedoch nicht ausschließlich) der IFF (Identifizierung Freund oder Feind). Während in einigen Fällen die vorwiegende Zielsetzung der Verschlüsselung darin besteht zu verhindern, daß eine Zwischenstelle die übertragene Information entschlüsseln kann, kann es in anderen Fällen wiederum, beispielsweise bei der IFF, ein Hauptziel sein zu verhindern, daß die Zwischenstelle selbst falsche Information mit demselben Verschlüsselungsschema erzeugt, um den eigentlichen Empfänger zu täuschen. Beide Ziele sind häufig in vielen Anwendungen gegeben.
  • Bei der Blocksubstitution handelt es sich um ein Verfahren zur Verschlüsselung einer Klartextnachricht, die in Form einer Folge binärer Zahlen vorliegt. Gemäß dem Verfahren wird die Folge in Blöcke mit einer (beliebigen) vorbestimmten Blocklänge n aufgeteilt, wobei das Blocksubstitutionsgerät jeden Block binärer Zahlen im Klartext durch einen eindeutigen neuen Block binärer Zahlen ersetzt. Diese Ersatzblöcke bilden die verschlüsselte Nachricht oder den verschlüsselten Text, wobei jeder Ersatzblock eine unzweideutige Eins-zu-Eins-Transformation eines Klartextblocks darstellt. Im Stand der Technik erfolgt eine derartige Substitution allgemein mittels Nachschlagetabellen, Schaltanordnungen oder Rückkopplungs -Schieberegistern. Wenn jedoch die Codes oder Austauschschemata nicht ständig geändert werden, kann die Verschlüsselung durch Verschlüsselungsanalyse entschlüsselt werden. Jedoch ist ein Andem der Nachschlagetabellen umständlich, es lassen sich nur eine begrenzte Anzahl möglicher Schaltanordnungen praktisch umsetzen, und das wiederholte zyklische Durchlaufen eines Schieberegisters ist zeitaufwendig. Ein weiteres Problem ergibt sich aus dem Finden von Substitutionen, die keine Muster oder Tendenzen (sog. Bias) enthalten. Gegenwartig werden mögliche Substitutionen durch Computeranalyse auf mögliche systematische Muster hin überprüft, und in einigen Fällen werden zusätzliche Schaltungen verwendet, um dieses zu kompensieren.
  • Verschiedene Typen von Verschlüsselungsgeräten und -verfahren sind im Stand der Technik wohlbekannt. In diesem Zusammenhang wird zum Beispiel auf die U.S.-Patentschriften Nrn. 3,796,830, 3,798,359, 4,078,152, 4,195,200, 4,255,811, 4,316,055 und 4,520,232 verwiesen. Im allgemeinen sind diese Systeme, da sie die Blocksubstitution betreffen, schlüsselabhängige Ver- und Entschlüsselungssysteme und beruhen nicht auf einer Blocksubstitution durch Modulo 2-Addition einer additiven permutierten Gruppe von Zahlen zu einer anderen, wie es bei der vorliegenden Erfindung der Fall ist.
  • Ferner ist in der U.S.-Patentschrift Nr. 4,776,011 ein Verschlüsselungsverfahren beschrieben, insbesondere zur Verschlüsselung digitaler Wörter.
  • KURZE BESCHREIBUNG DER ERFINDUNG
  • Gemäß vorliegender Erfindung wird ein Verfahren zur Verschlüsselung, bei dem jedem der 2n eindeutig bestimmten Klartextblöcke aus n Bit Binärzahlen ein zugeordneter eindeutig bestimmter verschlüsselter Block aus n Bit Binärzahlen zugeordnet wird, beschrieben, wobei das Verfahren folgenden Schritt umfaßt:
  • (a) Auffinden einer ersten Matrix, bestehend aus 2n Gleichungen, wobei jede Gleichung die Modulo 2-Addition eines der 2n Klartextblöcke zu einer eindeutig bestimmten der 2n n Bit langen Zahlen repräsentiert, um als Ergebnis den zugeordneten, eindeutig bestimmten verschlüsselten n Bit Block zu erzeugen, wobei jeder Klartextblock in einen zugehörigen verschlüsselten Block übersetzt werden kann mit Hilfe der Eins-zu-Eins-Abbildung, die durch die 2n Gleichungen definiert ist, dadurch gekennzeichnet, daß jede der eindeutig bestimmten n Bit langen Zahlen, die zu den 2n eindeutig bestimmten Klartextblöcken hinzuaddiert werden, mit einem unterschiedlichen der 2n eindeutig bestimmten, verschlüsselten Textblöcke korrespondiert; und daß das Verfahren des weiteren den folgenden Schritt umfaßt:
  • (b) zu jedem Klartextblock, der verschlüsselt werden soll, wird Modulo 2 hinzuaddiert, die diesem Block zugeordnete, eindeutig bestimmte Zahl der 2n n Bit langen Zahlen, die sich aus der zugehörigen Gleichung in der ersten Matrix aus 2n Gleichungen ergibt, um den verschlüsselten Block zu erhalten,
  • wobei die Abbildung, die durch die 2n Gleichungen definiert ist, von Zeit zu Zeit verändert wird.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Figur 1 zeigt eine Transformation Viele-Eins einer Gruppe binärer Zahlen mit drei Bit in eine weitere Gruppe binärer Zahlen durch eine Addition Modulo 2;
  • Figur 2 zeigt eine Transformation Eins-zu-Eins einer Gruppe binärer Zahlen mit drei Bit in eine weitere Gruppe binärer Zahlen durch eine Addition Modulo 2.
  • Figur 3 zeigt die Transformationsgleichungen aus Figur 2 in umgeordneter Form, ausschließlich der ersten Gleichung, wodurch die dreistellige Zahl in der ersten Spalte zu derselben Zahl wie die dreistellige Zahl in der zweiten Spalte der vorhergehenden Reihe wird. Mit Ausnahme der ersten Gleichung hat dann jede Spalte dieselbe Reihenfolge, aber mit unterschiedlichen Ausgangspositionen.
  • Figur 4 entspricht Figur 3, wobei jedoch die erste und die dritte Spalte bezüglich der zweiten Spalte vertikal verschoben sind. Bei diesen Verschiebungen handelt es sich um 6 bzw. 2 Positionen nach unten. Mit Ausnahme der ersten Gleichung behält jede Spalte ihre Reihenfolge bei, jedoch mit anderen Ausgangspositionen.
  • Figur 5 entspricht Figur 4, wobei die Symbole und = für die Zwecke der Verschlüsselung ausgetauscht sind.
  • Figur 6 zeigt ein Blockschaltbild einer Vorrichtung zur Verschlüsselung von Daten.
  • Figur 7 zeigt ein Blockschaltbild einer Vorrichtung zur Entschlüsselung von Daten, die mit der Vorrichtung aus Figur 6 verschlüsselt worden sind.
  • Figur 8 ist ein Beispiel einer Verschlüsselung unter Verwendung von Figur 6.
  • Figur 9 ist ein Beispiel einer Entschlüsselung unter Verwendung von Figur 7.
  • Figur 10 stellt eine Gruppe von Transformationsgleichungen dar, die mit denjenigen aus Figur 4 korrespondieren, wobei das feste Wort 001 zu den Spalten 1 und 2 dieser Gleichungen hinzuaddiert wurde. Mit Ausnahme der ersten Gleichung haben die Spalten 1 und 2 dieselbe Reihenfolge, jedoch mit unterschiedlichen Ausgangspositionen.
  • Figur 11 zeigt ein Blockschaltbild einer Vorrichtung zur Verschlüsselung von Daten gemäß einer Gruppe von Transformationsgleichungen wie diejenigen aus Figur 10.
  • Figur 12 ist ein Blockschaltbild für eine Vorrichtung zur Entschlüsselung von Daten, die mit der Vorrichtung aus Figur 11 verschlüsselt worden sind.
  • Figur 13 ist ein Beispiel für eine Verschlüsselung unter Verwendung von Figur 11.
  • Figur 14 ist ein Beispiel für eine Verschlüsselung unter Verwendung von Figur 12.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • In der nachstehenden Beschreibung wird zunächst auf die Verfahren und die Vorrichtung gemäß vorliegender Erfindung mit Bezug auf Blöcke binärer Zahlen mit n Bit eingegangen, bei denen der Wert von n gleich 3 ist. Anschließend werden die Verfahren und die Vorrichtung auf Blöcke mit n Bit verallgemeinert, und bestimmte Charakteristiken von Blöcken bis zu n = 8 werden beschrieben. Das nachstehende Beispiel wurde für n 3 gewählt, da angenommen wird, daß dadurch das Konzept der Erfindung besser verständlich ist als es der Fall wäre, wenn ein größerer Block mit viel mehr Kombinationen verwendet würde.
  • Blocksubstitution ist der Begriff, der normalerweise auf eine Eins-zu-Eins-Abbildung der binären Zahlen mit n Bit auf sich selbst angewandt wird. Diese Abbildung kann als paarweise Gruppierung der 2n n-Bit Zahlen geschrieben werden:
  • wobei jede Spalte die Gruppe derselben 2n eindeutigen n-Bit Zahlen ist, jedoch in unterschiedlichen Reihenfolgen geschrieben. Somit kann man sich diese Abbildung als Permutation der n-Bit Zahlen vorstellen, geschrieben als:
  • oder (X&sub1; Xi Xj) für einige Gruppen von Indizes. Diese gewöhnliche Schreibweise für Permutationen bedeutet einfach, daß X&sub1; T Xi,Xi T Xj, etc.
  • Wieder bezogen auf die Spaltendarstellungen könnte man eine Gruppe einfacher Gleichungen aus der ursprünglichen Gruppe und ihre Abbildung definieren:
  • wobei für die Addition Modulo 2 steht (d.h. die Addition entsprechender Zahlen ohne jeglichen Übertrag). Im allgemeinen sind die Elemente der Gruppe {Y&sub1;, Y&sub2; ...} nicht alle eindeutig, unter bestimmten Umständen jedoch ist dies der Fall. Gemäß vorliegender Erfindung und wenn sie eindeutig sind, lassen sich Blocksubstitutionen eher durch die Addition Modulo 2 als auf herkömmliche Art und Weise erzeugen. Die Hauptaufgaben liegen darin, die Umstände zu bestimmen, falls es solche gibt, unter denen dieses Schema funktioniert, zu bestimmen, wie die Substitutionen schnell verändert werden können sowie das Fehlen von Tendenzen.
  • Es ist nicht offensichtlich, daß sich Blocksubstitutionen überhaupt durch die Modulo 2-Addition erzeugen lassen. Als Beispiel wird auf den Versuch verwiesen, durch die in Figur 1 gezeigte Modulo 2-Addition eine Anordnung binärer Zahlen mit 3 Bit durch eine andere zu ersetzen. In Spalte 3 rechts erscheint 011 bzw. 100 jeweils zweimal, während 001 und 110 nie vorkommen. Die Zahlen in Spalte 1 links, die sich auf die Zahlen in Spalte 2 in der Mitte auswirken, stellen eine Transformation der Gruppe von binären Wörtern mit 3 Bit aus Spalte 1 in sich selbst dar. Hierbei handelt es sich um eine Viele- Eins-Transformation und sie ist für Blocksubstitutionen völlig unbrauchbar aufgrund der Mehrdeutigkeit, die sich ergibt, wenn versucht wird, den ursprünglichen Block für die transformierten Blöcke 011 und 100 wiederzugewinnen.
  • Wird eine andere Anordnung, wie in Figur 2 dargestellt, verwendet, ergibt sich ein anderes Ergebnis. Jedes (beliebige) Spaltenpaar stellt dann eine Eins-zu-Eins-Transformation dar. Insbesondere ist die Transformation eine Eins-zu-Eins-Transformation der binären Zahlen mit 3 Bit aus Spalte 3 (dem Klartext) auf sie selbst, dem verschlüsselten Text aus Spalte 1. In jeder Spalte sind alle 3-Bit Zahlen je genau einmal enthalten.
  • Natürlich könnte man die Transformationen aus Figur 2 dazu verwenden, jeden beliebigen dreistelligen binären Block in einen verschlüsselten binären Block umzuwandeln, und selbstverständlich dieselben Gleichungen zum Entschlüsseln der verschlüsselten Nachricht verwenden, indem das verschlüsselte Wort in Spalte 1 gefunden wird und dann das entsprechende Klartextwort in derselben Reihe, Spalte 3 aus Figur 2, ausgewählt wird. Dies läßt sich am bequemsten durchführen, wenn und = ausgetauscht werden. Eine aquivalente Transformation, um das verschlüsselte Wort zurück in das Klartextwort zu transformieren, wird erhalten, wenn die Wörter aus Spalte Eins zu denjenigen aus Spalte Zwei addiert werden, um diejenigen in Spalte Drei zu erhalten.
  • Es wird wiederum auf die Figur 2 Bezug genommen. Eine interessante Eigenschaft der darin gezeigten Transformation und eigentlich aller Transformationen des hierin interessierenden Typs, ist darin zu sehen. Insbesondere bilden von den acht Blöcken mit drei binären Zahlen die unteren vier Blöcke 000, 001, 010 und 011 auf zwei Blöcke der unteren vier, nämlich 000 und 001, und zwei Blöcke der oberen vier, nämlich 110 und 111, ab. Ähnlich bilden natürlich von den vier größeren Blöcke der acht zwei auf Blöcke in den unteren vier, und zwei auf Blöcke der oberen vier ab. Ähnlich bilden die geraden Blöcke 000, 010, 100 und 110 auf zwei gerade Blöcke, 000 und 010, und auf zwei ungerade Blöcke, 001 und 011, ab. Die ungeraden vier Blöcke bilden halb auf die ungeraden Blöcke und halb auf die geraden Blöcke ab. Natürlich gilt dasselbe für die Verschlüsselung. Aus dem Wissen um ein beliebiges Merkmal des verschlüsselten Blocks, beispielsweise, daß er groß, klein, gerade, ungerade, etc. ist, leitet sich kein ähnliches Wissen über ein Merkmal des unverschlüsselten Blocks ab. Als Ergebnis hieraus wird die Verschlüsselung als Verschlüsselung ohne systematischen Fehler ("unbiased") bezeichnet. Hierbei ist zu beachten, daß, selbst wenn die mittlere Zahl eines jeden Blockes in Betracht gezogen wird, von den vier Blöcken aus Figur 2, die eine Null als mittlere Zahl haben, zwei Blöcke auf Blöcke, die ebenfalls eine Null als mittlere Zahl enthalten, abbilden und zwei Blöcke auf Blöcke mit Eins als mittlerer Zahl abbilden. Ähnlich bilden natürlich von den vier Blöcken mit Eins als mittlerer Zahl zwei auf Blöcke mit Eins als mittlerer Zahl, und zwei auf Blöcke mit Null als mittlerer Zahl ab. Diese Eigenschaft trifft auf alle Blockgrößen zu und erstreckt sich auf das gleiche Teilen aller Blockgruppen, die algebraisch als maximale Untergruppen gekennzeichnet werden können. Diese einen systematischen Fehler vermeidende Natur des Verschlüsselungsschemas ist ein äußerst vorteilhaftes Merkmal des hierin beschriebenen Verschlüsselungsschemas, insbesondere in Verbindung mit der häufigen Änderung der Verschlüsselung von Zeit zu Zeit.
  • Insbesondere möchte man natürlich bei jedem praktisch anwendbaren Verschlüsselungsgerat in der Lage sein, das Verschlüsselungsschema häufig zu ändern, so daß Muster nicht lange genug vorliegen, daß eine Verschlüsselungsanalyse des Musters - möglich wäre. Zu diesem Zweck können gewisse Eigenschaften der Gleichungen aus Figur 2 erkannt werden, indem die Reihen aus Figur 2 wie in Figur 3 dargestellt umgestellt werden. Eine Umstellung der Reihen auf beliebige Art und Weise wirkt sich natürlich nicht in irgendeiner Weise auf die Transformation aus, da jede der Gleichungen ihre eigene Integrität getrennt und unabhängig von ihrer Position in der Tabelle beibehält. Im wesentlichen ist die zweite Reihe aus Figur 3 die 4. Reihe in Figur 2 und die dritte Reihe aus Figur 3 ist die fünfte Reihe in Figur 2, wobei jede nachfolgende Reihe derart angeordnet ist, daß die linke Spalte in jeder nachfolgenden Reihe dieselbe 3 Bit Zahl enthält wie die zweite Spalte der vorhergehenden Reihe. Bei einer derartigen Anordnung und unter Vernachlässigung der ersten oder Identitätsreihe, ergibt sich, daß jede der drei Spalten dieselbe Sequenz der binären Zahlen mit 3 Bit enthält, mit zyklischer Adressierung. Insbesondere hat die erste Spalte dieselbe Folge wie die zweite Spalte, ist jedoch von dieser um eine Position nach unten (oder sechs Position nach oben) versetzt, und die dritte Spalte hat dieselbe Sequenz wie die zweite Spalte, jedoch gegenüber der Sequenz aus Spalte Zwei um drei Position nach unten (oder um vier Position nach oben) versetzt.
  • Wiederum unter Vernachlassigung der ersten Reihe oder Identitätsreihe aus Figur 3 stellt man fest, daß, wenn die binären Zahlen mit 3 Bit in Spalte 1 um insgesamt sechs Positionen mit zyklischer Adressierung bezüglich der zweiten Spalte nach unten verschoben werden, sich immer noch eine Eins-zu-Eins- Transformation ergibt, wie in Figur 4 gezeigt. Mit Ausnahme der Identitätsreihe ist die Transformation völlig unterschiedlich von derjenigen aus Figur 3. Als Beispiel sei genannt, daß die 111 in Spalte 3 auf die 011 in Spalte 1 in Figur 3 abgebildet wird, und auf die 100 in Spalte 1 in Figur 4 abgebildet wird. Außerdem ist es jedoch wichtig zu beachten, daß die Abfolge der dreistelligen Zahlen in den Spalten 1 und 3 aus Figur 4 (wobei die Identitätsreihe separiert wird) noch immer dieselbe wie die in Spalte 2 der Figuren 3 und 4 ist, obgleich jede mit zyklischer Adressierung im Vergleich zu Spalte 2 verschoben ist. Somit wurde die Transformation aus Figur 3 zu der neuen Transformation aus Figur 4 verändert, durch bloßes Verschieben der Zahlen in der ersten Spalte aus Figur 3 bezüglich derjenigen in der zweiten Spalte, und wobei die Zahlen in der dritten Spalte ebenfalls bezüglich denjenigen in der zweiten Spalte verschoben werden, jedoch um einen unterschiedlichen Betrag, um die Integrität der Gleichungen der Addition Modulo 2 zu bewahren. Wiederum können zur Entschlüsselung die Symbole und = aus Figur 4 wie in Figur 5 gezeigt untereinander aus getauscht werden.
  • Allgemeiner ausgedrückt, lassen sich die Gleichungsgruppen für jede beliebige Gruppe wie folgt schreiben: VERSCHLÜSSELUNG ENTSCHLÜSSELUNG
  • Für die Blockgröße n, m = 2n-1. θ = 00...00, wobei das n Bit Wort ausschließlich aus Nullen besteht.
  • Wird die Spalte 1 um 5 Positionen bezüglich der Spalte 2 verschoben, dann wird die Spalte 3 um einen unterschiedlichen Betrag Ps verschoben, um die Integrität der Gleichungen der Addition Modulo 2 zu bewahren. Für eine gegebene Verschiebung S wird Ps vom Verschiebungsprogrammierer bestimmt.
  • Es wird nunmehr auf die Figur 6 Bezug genommen, in der ein Blockschaltbild eines Systems zur Durchführung der Verschlüsselung gemäß der voranstehend erläuterten Ver- und Entschlüsselungstechniken dargestellt ist.
  • Das Klartextwort wird an seine Adresse im Speicher 1 übertragen. Dies entspricht dem Auswählen eines Wortes Xk-Ps aus Spalte 3 ungleich θ. Das Konzept besteht darin, es zu seinem Gegenstück in Spalte 2 hinzuzuaddieren. Ist Xk-Ps ungleich θ und soll es zu Xk hinzuaddiert werden, ist dies äquivalent zum Addieren des Wortes mit den Reihenfolgedaten K - Ps in Spalte 3 zum Wort mit der Reihenfolge K - Ps + Ps = K, ebenfalls in Spalte 3. Somit werden die Reihenfolgedaten des Klartextwortes K - Ps an den Addierer übertragen, um zu Ps addiert zu werden. Die neue Reihenfolgenzahl wird an ihre Adresse im Speicher II übertragen. Der Inhalt dieser Adresse wird zum Klartextwort Modulo 2- addiert, um das verschlüsselte Wort Xk-s in Spalte 1 zu erhalten. Ist das Klartextwort θ, ist sein verschlüsseltes Textbild dasselbe.
  • Das Addieren der Reihenfolgedaten erfolgt mittels zwei Addierem, dem Übertrag ("Carry", C) und dem geringstwertigen Bit ("Least Significant Bit", LSB). Der Übertragaddierer addiert die Zahlen auf herkömmliche Weise mit Übertrag, d.h. 001 + 011 = 100. Wenn jedoch die Addition mehr als n Stellen erfordert, d.h. eine 1 wird auf die n+1-Position übertragen, wird diese zusätzliche 1 stattdessen zur ersten Position addiert, z.B. 100 + 110 = 1010 => 011. Dies erfolgt mittels des LSB-Addierers. Dies ist einfach eine Addition Modulo m, wobei m = 2n - 1 ist. In diesem Beispiel ist n = 3, m = 7 und die dezimal ausgedrückt Addition ist 4 + 6 = 10 3 mod 7, wobei 100 => 4, 110 => 6 und 011 => 3 ist.
  • Das Blockschaltbild zur Entschlüsselung ist in Figur 7 gezeigt. Das Schlüsseltextwort wird an seine Adresse im Speicher I übertragen. Dies entspricht dem Auswählen eines Wortes Xk-s aus Spalte 1 ungleich θ. Das Konzept besteht darin, es zu seinem Gegenstück, Xk in Spalte 2, hinzuzuaddieren. Dies ist aquivalent zu einer Addition von Xk-s in Spalte 1 zu dem Wort mit den Reihenfolgedaten K - s + s = K, ebenfalls in Spalte 1. Somit werden die Reihefolgedaten des Schlüsseltextwortes, K-s an den Addierer übertragen, um zu s addiert zu werden. Die neue Reihenfolgezahl wird an ihre Adresse in Speicher II übertragen. Der Inhalt dieser Adresse wird zu dem Schlüsseltextwort Modub 2-addiert, um das entschlüsselte Wort Xk-Ps in Spalte 3 zu erhalten. Ist das Schlüsseltextwort 0, dann wird es als 0 entschlüsselt.
  • Die Addition der Reihenfolgedaten, K - S + S und K - Ps + Ps, versteht sich als Modulo m-Addition oder Addition mit zyklischer Adressierung. Dies bedeutet, daß, wenn die Reihenfolgedaten größer als m sind, die letzte Position, m, von den Reihenfolgedaten subtrahiert wird. Ist das Schlüsseltextwort θ, dann wird es als dasselbe Wort entschlüsselt.
  • Das Verschiebeprogramm bestimmt die Reihenfolge, in der die Verschiebungen, S, in Spalte 1 verwendet werden, mit der entsprechenden Ps-Verschiebung S in Spalte 3. Jede gewünschte Reihenfolge kann verwendet werden. Die Verschiebung S entspricht einer Potenz der auf Seite 8 beschriebenen Basispermutation, was die Substitution durch Addition bestimmt.
  • Als Beispiel sei angegeben, daß somit in Figur 8, wenn der Klartextdatenwert 010 ist, dann diese Adresse im Speicher I ein Reihenfolgedatum 001 ergibt, was eine binäre Darstellung dessen ist, daß sich 010 in Position 1 in der Sequenz in Speicher I befindet (Spalte 3 der Gruppe von Gleichungen). Die erste Verschiebeposition im Programm ist S = 6, wehalb P&sub6; = 2 ist. Zur Position von 010, K - P&sub6; = 1 wird P&sub6; = 2 hinzuaddiert. In binärer Schreibweise 001 + 010 = 011. Der Adresse 011 im Speicher II entspricht die Zahl 100. (Dies ist gleichbedeutend mit der Aussage, daß sich 100 in Position 3 in Spalte 3 befindet). 110 = 100 010 ist das Schlüsseltextwort. Dies stellt die erste der additiven Gleichungen in Figur 5 dar.
  • Für die Entschlüsselung ist das Schlüsseltextwort 110. In Figur 9 ergibt diese Adresse im Speicher 1 ein Reihenfolgedatum 100, oder Position 4 in der Sequenz im Speicher 1. Die erste Verschiebeposition im Programm ist S = 6. Zur Position von 110, K - 6 = 4, wird 6, oder 110 in binärer Schreibweise, hinzuaddiert. 4 + 6 = 10. Eine Subtraktion von m = 7, 10 - 7 = 3, oder Position 3 mit zyklischer Adressierung. In binärer Schreibweise, 100 + 110 = 011 Modulo 7. Der Adresse 011 im Speicher II entspricht die Zahl 100. 110 100 = 010. Dies stellt die erste der additiven Gleichungen in Figur 4 dar.
  • Wird eine feste Zahl zu der ersten und zweiten Spalte aus Figur 4 Modub 2-addiert, ergibt sich eine weitere Eins-zu-Eins- Transformation: VERSCHLÜSSELUNG ENTSCHLÜSSELUNG
  • Es wird nunmehr auf die Figuren 11 und 12 Bezug genommen, in denen für jede Blockgröße ein Blockdiagramm zur Durchführung einer Ver- bzw. Entschlüsselung unter Verwendung eines festen Wortes ungleich θ, dem Nullwort, dargestellt ist. Die Vorgehensweise ist dabei im wesentlichen dieselbe wie zuvor, mit dem zusätzlichen Schritt der Modulo-2-Addition des festen Wortes als letzten Schritt im Verschlüsselungsprozeß und als ersten Schritt im Entschlüsselungsschritt.
  • Ein Beispiel ist in Figur 13 und 14 gezeigt. In diesem Fall bleibt 000 nicht mehr fest, sondern wird zu 001 transformiert. Dann wird 110 auf sich selbst transformiert und wird in diesem Fall festgelegt.
  • Der Festwortaddierer kann der Reihe nach jedes beliebige oder alle der n Bit Wörter addieren, ganz gleich, welahe Reihenfolge vom Benutzer ausgewählt wurde.
  • Es wird nunmehr als Beispiel auf die Figur 8 Bezug genommen, in der ein Blockschaltbild eines Systems zur Durchführung einer Verschlüsselung gemäß den voranstehend ausgeführten Verschlüsselungs- und Entschlüsselungsverfahren dargestellt ist. Wie in der Figur gezeigt, wird jeder Wert der Klartextdaten 20, mit Ausnahme von 000, als Adresse an den Speicher 22 gelegt. An den verschiedenen Speicheradressen sind die Reihenfolgedaten für den Klartextdatenwert gespeichert, d.h. die Position, als binäre Zahl ausgedrückt, dieses Klartextdatenwertes in der geordneten Sequenz der rechten Spalte von Figur 4 (und der Figuren 5 und 10). Diese Position wird als Ausgang des Speichers 22 an einen Addierer gelegt, der als Kombination der Addierer 24 und 26 dargestellt ist. Die Addierer sind derart gekoppelt, daß sie den Ausgang des Speichers zu einem Wert der Verschiebung Ps hinzuaddieren, wie er von dem Verschiebungsprogrammierer 28 gesteuert wird. Bei dieser Addition handelt es sich nicht um eine Modulo-2-Addition, sondern vielmehr um eine normale binäre Addition, mit der einen Ausnahme, daß der Übertrag vom höchstwertigen Bit mit dem Eintrag des niedrigstwertigen Bits gekoppelt wird. Somit ergibt der Addierer das Ergebnis 001 als die Summe 1 größer als 111, nicht 1000 oder einfach 000. Somit ergibt sich, daß der Ausgang der Addierer eine neue binäre Zahl mit drei Bit ist, die in der Sequenz der Reihenfolgedaten um einen Betrag Ps verschoben ist. Diese neue Position wird dann als die Adresse für Speicher 30 verwendet, der als seinen Ausgang die binäre Zahl mit drei Bit erstellt, die mit dem Wert in Spalte 2 aus Figur 4 oder dem entsprechenden Klartextdatenwert in Figur 3 korrespondiert. Somit sei als Beispiel angegeben, daß, wenn der Klartextdatenwert 010 ist, dieser Wert als Adresse an den Speicher I die Stelle dieses Wert von 001 in der Sequenz ergibt. Wählt das Verschiebeprogramm S = 6 aus, dann werden P&sub6; = 2 und Spalte 3 wird gegenüber Spalte 2 um zwei Position oder um einen Betrag 010 nach unten verschoben. Die binäre Zahl mit drei Bit, die sich dann in der Nähe des Klartextdatenwertes von 010 befände, ist 100, wie in Figur 5. Dies zu den Klartextdaten 010 Modulo 2-addiert ergibt einen verschlüsselten Wert von 110, was mit dem in Figur 5 gezeigten Wert korrespondiert. Ist jedoch der Klartextdatenwert 000, dann ergibt dieser Wert als Adresse an den Speicher I die Stelle des Wertes von 000 in der Sequenz. Er wird nicht verschoben, sondern unverändert als Reihenfolgedatum in Speicher 30 bereitgestellt. Somit bleibt 000 addiert zu sich selbst fest.
  • Die Verschiebung Ps nach unten der Sequenz aus Spalte 3 von Figur 5 in Vergleich zu den Basis-Reihenfolgedaten aus Spalte 2 von Figur 5 korrespondiert natürlich mit einer komplimentären Verschiebung nach oben. Somit ist für einen n Bit Block eine Verschiebung nach unten um Ps, gleichbedeutend mit einer Verschiebung nach oben um m-Ps. Es ist auch zu beachten, daß für einen drei Bit Block, alle Werte einer möglichen Verschiebung die gewünschte Eins-zu-Eins-Abbildung ergeben, mit Ausnahme einer Verschiebung der ersten Spalte bezüglich der zweiten Spalte von Null, und von 7 und Vielfachen dieser Zahl, da derartige Verschiebungen eine zweite Spalte in der Matrix ergeben würden, in der jede Reihe dieselbe wie die entsprechende Reihe der ersten Spalte ist, und jede zu sich selbst Modulo-2- addierte Zahl Null ist. Somit bilden für eine Verschiebung von 7 oder Vielfachen dieser Zahl alle Klartextdatenwerte auf 000 ab, was für Verschlüsselungszwecke sinnlos ist. Im allgemeinen jedoch, wie später gezeigt wird, erzeugen für n Bit Blöcke, die größer als drei Bits sind, alle Verschiebungen ungleich Null und ganzzahligen Vielfachen von m das gewünschte Ergebnis und können somit gemäß vorliegender Erfindung verwendet werden.
  • Das Blockschaltbild zur Entschlüsselung gemäß Figur 7 ist in Figur 9 dargestellt. Aus Hardware-Sicht ist dieses Diagramm genau dasselbe wie das Diagramm aus Figur 8 zur Verschlüsselung, wobei sich die Entschlüsselung nur in der Verschiebung S unterscheidet, die auf eine gegebene Verschiebung Ps zur Verschlüsselung anwendbar ist. Wie in dem Beispiel auf Seite 14, ergibt für eine Verschiebung Ps von 2 zur Verschlüsselung, eine Verschiebung 6 die richtige Entschlüsselung, etc., wie in den Tabellen der Figuren 8 und 9 gezeigt. Natürlich müssen die Verschlüsselungshardware und die Entschlüsselungshardware die zugehörigen Verschiebungen für die Klartextdaten verwenden, damit sie bei der Entschlüsselung richtig wiedererhalten werden, obgleich die anwendbare Verschiebung häufig an beiden Enden verändert werden kann, um eine Verschlüsselungsanalyse schwierig, wenn nicht gar praktisch unmöglich zu machen.
  • Wird eine feste Zahl zu einem beliebigen Spaltenpaar aus Figur 5 Modulo-2-addiert, ergibt sich eine weitere Eins-zu-Eins- Transformation. Als Beispiel wird auf Figur 10 Bezug genommen, in der die feste Zahl 001 zu der ersten und der zweiten Spalte aus Figur 5 Modulo-2-addiert wurde. Dann bildet sich 010 als Klartextwort auf ein verschlüsseltes Wort 111 ab, wohingegen in dem Beispiel aus Figur 8 010 auf 110 abbildet.
  • Ein Beispiel eines Blockschaltbildes für die Verschlüsselung unter Verwendung eines Festwortaddierers ist in Figur 13 zu sehen. Diese Figur ist mit Figur 8 identisch, mit der Ausnahme, daß der Festwortaddierer 32 eingefügt wurde, um das feste Wort (001 in diesem Beispiel) zum Ausgang von Speicher 30 zu addieren, der mit dem Wert in derselben Reihe der zweiten Spalte wie 010 der ersten Spalte korrespondiert. Somit addiert der Festwortaddierer lediglich das feste Wort (001 in diesem Beispiel) zu dem Wert aus Spalte 2, wonach das Klartextwort zu diesem Modulo-2-addiert wird, um die verschlüsselten Daten zu erhalten.
  • Wiederum für das Beispiel, unter Verwendung von Klartextdaten von 010 als Adresse an den Speicher 22, ist der Ausgang des Speichers 001. Unter Verwendung derselben Verschiebung wie im Beispiel aus Figur 8, wird 010, Ps = 2 zu 001 addiert, um eine Adresse an den Speicher 30 von 011 zu erzeugen. Dies ergibt einen Ausgang vom Speicher 30 von 100, zu dem der Festwortaddierer das feste Wort 001 Modulo-2-addiert, was 101 ergibt. Diese Modulo-2-Addition zum Klartextwort 010 ergibt das verschlüsselte Wort 111, wie in Figur 10 gezeigt.
  • Ein Blockschaltbild zur Entschlüsselung, das mit dem Blockschaltbild zur Verschlüsselung aus Figur 13 korrespondiert, ist in Figur 14 dargestellt. Wie darin zu sehen ist, ist Figur 14 mit Figur 13 identisch (obgleich sich die Verschiebungen für die Entschlüsselung wiederum von den Verschiebungen für die Verschlüsselung unterscheiden), mit der Ausnahme, daß der Festwortaddierer auch das feste Wort zu den verschlüsselten Daten Modulo-2-addiert, bevor diese an den Speicher 22 gelegt werden. Diese Modulo-2-Addition ist im wesentlichen die zweite Modulo-2-Addition des festen Wortes, da eine erste Modulo-2- Addition des festen Wortes in Figur 11 durchgeführt wurde, um das verschlüsselte Wort zu erhalten. Da eine zweite Modulo-2- Addition desselben Wortes in der Tat die erste Modulo-2-Addition aufhebt, so daß, nachdem zu den verschlüsselten Daten in Figur 12 das feste Wort Modulo-2-addiert wurde, das Ergebnis dieser Modulo-2-Addition somit mit den Gleichungen aus Figur 10 für Entschlüsselungszwecke verwendet werden kann. Als Beispiel ergibt sich somit, unter Verwendung des verschlüsselten Wortes 111 des Beispiels aus Figur 13, 111 001 = 110 als Adresse an den Speicher 22 aus Figur 14. Dies ergibt einen Speicherausgang von 100, zu dem der Wert von 5 = 6 oder 110 addiert wird. 100 + 110 = 1010 => 011 mit zyklischer Adressierung. Dies ergibt wiederum eine Adresse von 011 an den Speicher 30 oder einen Speicherausgang von 100, zu dem 110 Modulo- 2-addiert wird, die Adresse an den Speicher 22, um die Klartextdaten 010 wiederzuerhalten. Ferner kann natürlich, obwohl der Festwortaddierer der Figuren 13 und 14 ein festes Wort 001 verwendete, jedes beliebige andere feste Wort mit drei Bit verwendet werden, oder das feste Wort kann von Zeit zu Zeit verändert werden mit oder getrennt zu und unabhängig von Veränderungen der Verschiebung, wobei ein festes Wort von 000 den Betrieb des Systems im wesentlichen auf denjenigen der Figuren 8 und 9 reduziert.
  • Natürlich können die mit Bezug auf die Figuren 6, 7, 11 und 12 beschriebenen Verfahren problemlos mit einem System auf Mikroprozessorbasis unter Programmsteuerung durchgeführt werden. Alternativ könnte der Speicher ohne weiteres im Nur-Lese- Speicher vorprogrammiert werden, der im wesentlichen als Nachschlagetabellen verwendet wird, und die Addierer und Modulo-2- Addierer könnten ohne weiteres eine herkömmliche Addiererschaltung sein, so daß wenigstens die Hauptelemente eines Verschlüsselungs- und Entschlüsselungssystems entweder in diskreten Hochgeschwindigkeitskomponenten oder durch einen spezialgefertigten integrierten Chip realisiert werden können. Das Verschiebeprogramm könnte auch verschiedene Formen annehmen, in Abhängigkeit davon, wie häufig eine Verschiebung gewünscht wird, dem Ausmaß, in dem die Verschiebereihenfolge verändert wird, etc., wobei integrierte Schaltungen auf Mikroprozessorbasis oder andere Realisierungen ohne weiteres anwendbar sind, einschließlich Schieberegister-Ausführungen je nach Wunsch.
  • Obwohl im vorliegenden Text eine bevorzugte Ausführungsform für die Verschlüsselung und Entschlüsselung gemäß vorliegender Erfindung offenbart und beschrieben ist, ist es für den Fachmann auf dem Gebiet offensichtlich, daß verschiedene Anderungen an der Form und am Detail (der Erfindung) vorgenommen werden können, ohne vom beanspruchten Umfang der Erfindung abzuweichen.

Claims (12)

1. Verfahren zur Verschlüsselung, bei dem jedem der 2n eindeutig bestimmten Klartextblöcke aus n Bit Binärzahlen ein zugeordneter eindeutig bestimmter verschlüsselter Block aus n Bit Binärzahlen zugeordnet wird, wobei das Verfahren folgenden Schritt umfaßt:
(a) Auffinden einer ersten Matrix, bestehend aus 2n Gleichungen, wobei jede Gleichung die Addition Modulo 2 eines der 2n Klartextblöcke zu einer eindeutig bestimmten der 2n n Bit langen Zahlen repräsentiert, um als Ergebnis den zugeordneten, eindeutig bestimmten verschlüsselten n Bit Block zu erzeugen, wobei jeder Klartextblock in einen zugehörigen verschlüsselten Block übersetzt werden kann mit Hilfe der Eins-zu-Eins-Abbildung, die durch die 2n Gleichungen definiert ist, dadurch gekennzeichnet, daß jede der eindeutig bestimmten n Bit langen Zahlen, die zu den 2n eindeutig bestimmten Klartextblöcken hinzuaddiert werden, mit einem unterschiedlichen Block der 2n eindeutig bestimmten, verschlüsselten Blöcke korrespondiert; und daß das Verfahren des weiteren den folgenden Schritt umfaßt:
(b) zu jedem Klartextblock, der verschlüsselt werden soll, wird Modub 2 hinzuaddiert, die diesem Block zugeordnete, eindeutig bestimmte Zahl der 2n n Bit langen Zahlen, die sich aus der zugehörigen Gleichung in der ersten Matrix aus 2n Gleichungen ergibt, um den verschlüsselten Block zu erhalten,
wobei die Abbildung, die durch die 2n Gleichungen definiert ist, von Zeit zu Zeit verändert wird.
2. Verfahren nach Anspruch 1, des weiteren umfassend die anschließende Entschlüsselung der verschlüsselten Blöcke, mit folgenden weiteren Schritten:
(c) Auffinden einer zweiten Matrix, bestehend aus 2n Gleichungen, wobei jede Gleichung die Addition Modulo 2 eines der 2n verschlüsselten Blöcke zu einer eindeutig bestimmten der 2n n Bit langen Zahlen repräsentiert, um den zugehörigen, eindeutig bestimmten Klartextblock der Länge n Bit zu erhalten, wobei die zweite Matrix aus 2n Gleichungen Gleichungen enthält, die mit denen aus der ersten Matrix aus 2n Gleichungen korrespondieren, wobei die erste und die dritte Spalte untereinander vertauscht sind, wodurch jeder verschlüsselte Block durch die mittels der zweiten Matrix aus 2n Gleichungen definierte Eins-zu-Eins-Abbildung in einen zugehörigen Klartextblock übersetzt werden kann;
(d) zu jedem verschlüsselten Block, der entschlüsselt werden soll, wird Modulo 2 hinzuaddiert, die diesem Block zugeordnete, eindeutig bestimmte Zahl der 2n n Bit langen Zahlen, die sich aus der zugehörigen Gleichung in der zweiten Matrix aus 2n Gleichungen ergibt, um den entschlüsselten Block oder Klartextblock zu erhalten.
3. Verfahren nach Anspruch 1, wobei eine der Gleichungen in der ersten Matrix die Identitätsabbildung ist, die Null auf sich selbst abbildet, und wobei die Gleichungen in folgender Form angeordnet werden können:
wobei P eine ganze Zahl ist.
4. Verfahren nach Anspruch 3, des weiteren umfassend die Entschlüsselung der verschlüsselten Blöcke, mit den weiteren Schritten:
(c) Auffinden einer zweiten Matrix, bestehend aus 2n Gleichungen, wobei jede Gleichung die Addition Modulo 2 eines der 2n verschlüsselten Blöcke zu einer eindeutig bestimmten der 2n n Bit langen Zahlen repräsentiert, um den zugehörigen, eindeutig bestimmten Klartextblock der Länge n Bit zu erhalten, wobei die zweite Matrix aus 2n Gleichungen Spalten enthält, die mit denen aus der ersten Matrix aus 2n Gleichungen korrespondieren, wobei die Symbole und = untereinander vertauscht sind, wodurch jeder verschlüsselte Block durch die mittels der zweiten Matrix aus 2n Gleichungen definierte Eins-zu-Eins-Abbildung in einen zugehörigen Klartextblock übersetzt werden kann;
(d) zu jedem verschlüsselten Block, der entschlüsselt werden soll, wird Modulo 2 hinzuaddiert, die diesem Block zugeordnete, eindeutig bestimmte Zahl der 2n n Bit langen Zahlen, die sich aus der zugehörigen Gleichung in der zweiten Matrix aus 2n Gleichungen ergibt, um den entschlüsselten Block oder Klartextblock zu erhalten.
5. Verfahren nach Anspruch 1, wobei eine der Gleichungen in der ersten Matrix die Identitätsabbildung ist, die Null auf sich selbst abbildet, und wobei die Gleichungen in der ersten Matrix aus einer Matrix von Ursprungsgleichungen erzeugt werden können, welche in folgender Form angeordnet ist:
wobei die Gleichungen der ersten Matrix aus der vorhergehenden Matrix von Ursprungsgleichungen erzeugbar sind, indem man die n Bit Zahlen in der ersten oder der zweiten Spalte der Matrix um eine vorher festzulegende ganze Zahl s mit Wraparound verschiebt und die n Bit Zahlen in der dritten Spalte der Matrix um eine zweite, vorher festzulegende ganze Zahl Ps, die von der ersten vorher festzulegenden ganzen Zahl s abhängt, mit Wraparound verschiebt, wobei die vorgenommenen Verschiebungen alle Gleichungen in der Matrix mit Ausnahme der Identitätsabbildung berühren.
6. Verfahren nach Anspruch 5, des weiteren umfassend die Entschlüsselung der verschlüsselten Blöcke mit den folgenden weiteren Schritten:
(c) Auffinden einer zweiten Matrix, bestehend aus 2n Gleichungen, wobei jede Gleichung die Addition Modulo 2 eines der 2n verschlüsselten Blöcke zu einer eindeutig bestimmten der 2n n Bit langen Zahlen repräsentiert, um den zugehörigen, eindeutig bestimmten Klartextblock der Länge n Bit zu erhalten, wobei die zweite Matrix aus 2n Gleichungen Spalten enthält, die mit denen aus der ersten Matrix aus 2n Gleichungen korrespondieren, wobei die Symbole und = untereinander vertauscht sind, wodurch jeder verschlüsselte Block durch die mittels der zweiten Matrix aus 2n Gleichungen definierte Eins-zu-Eins-Abbildung in einen zugehörigen Klartextblock übersetzt werden kann;
(d) zu jedem verschlüsselten Block, der entschlüsselt werden soll, wird Modulo 2 hinzuaddiert, die diesem Block zugeordnete, eindeutig bestimmte Zahl der 2n n Bit langen Zahlen, die sich aus der zugehörigen Gleichung in der zweiten Matrix aus 2n Gleichungen ergibt, um den entschlüsselten Block oder Klartextblock zu erhalten.
7. Verfahren nach Anspruch 5, wobei der Betrag der Verschiebung von Zeit zu Zeit bei der Verschlüsselung aufeinanderfolgender n Bit Blöcke verändert wird.
8. Verfahren nach Anspruch 1, wobei eine der Gleichungen in der ersten Matrix die Identitätsabbildung ist, die Null auf sich selbst abbildet, und wobei die Gleichungen in der ersten Matrix aus einer Matrix von Ursprungsgleichungen erzeugt werden können, welche in folgender Form angeordnet ist:
wobei die Gleichungen in der ersten Matrix aus der vorhergehenden Matrix von Gleichungen durch folgende Schritte erzeugbar sind:
(e) Verschieben mit Wraparound der n Bit Zahlen in der ersten Spalte der Matrix um eine vorher festzulegende ganze Zahl s und Verschieben mit Wraparound der n Bit Zahlen in der dritten Spalte der Matrix um eine zweite, vorher festzulegende ganze Zahl Ps, die von der ersten vorher festzulegenden ganzen Zahl s abhängt, wobei die vorgenommenen Verschiebungen alle Gleichungen in der Matrix mit Ausnahme der Identitätsabbildung berühren; und
(f) Hinzuaddieren von Modulo 2, einer jeden n Bit Zahl Y, zu den n Bit Zahlen in der ersten und der zweiten Spalte der Matrix, einschließlich der Identitätsabbildung.
9. Verfahren nach Anspruch 8, wobei der Betrag der Verschiebung von Zeit zu Zeit bei der Verschlüsselung aufeinanderfolgender Blöcke von n Bit Blöcken verändert wird.
10. Verfahren nach Anspruch 8, wobei die n Bit Zahl, die in Schritt (f) hinzuaddiert wird, von Zeit zu Zeit bei der Verschlüsselung aufeinanderfolgender Blöcke von n Bit Blöcken verändert wird.
11. Verfahren nach Anspruch 8, wobei sowohl der Betrag der Verschiebungen als auch die n Bit Zahl, die in Schritt (f) hinzuaddiert wird, von Zeit zu Zeit bei der Verschlüsselung aufeinanderfolgender Blöcke von n Bit Blökken verändert wird.
12. Verfahren nach Anspruch 8, des weiteren umfassend die Entschlüsselung der verschlüsselten Blöcke, mit den folgenden Schritten:
(c) Auffinden einer zweiten Matrix, bestehend aus 2n Gleichungen, wobei jede Gleichung die Addition Modulo 2 eines der 2n verschlüsselten Blöcke zu einer eindeutig bestimmten der 2n n Bit langen Zahlen repräsentiert, um den zugehörigen, eindeutig bestimmten Klartextblock der Länge n Bit zu erhalten, wobei die zweite Matrix aus 2n Gleichungen Spalten enthält, die mit denen aus der ersten Matrix aus 2n Gleichungen korrespondieren, wobei die Symbole und = untereinander vertauscht sind, wodurch jeder verschlüsselte Block durch die mittels der zweiten Matrix aus 2n Gleichungen definierte Eins-zu-Eins-Abbildung in einen zugehörigen Klartextblock übersetzt werden kann;
(d) zu jedem verschlüsselten Block, der entschlüsselt werden soll, wird Modulo 2 hinzuaddiert, die diesem Block zugeordnete, eindeutig bestimmte Zahl der 2n n Bit langen Zahlen, die sich aus der zugehörigen Gleichung in der zweiten Matrix aus 2n Gleichungen ergibt, um den entschlüsselten Block oder Klartextblock zu erhalten.
DE69026784T 1989-10-04 1990-10-03 Verfahren und Einrichtung zur Verschlüsselung mittels Modulo 2-Addition und Blocksubstitution Expired - Fee Related DE69026784T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/416,953 US5038376A (en) 1989-10-04 1989-10-04 Block substitution based encryption by a modulo 2 addition method and apparatus

Publications (2)

Publication Number Publication Date
DE69026784D1 DE69026784D1 (de) 1996-06-05
DE69026784T2 true DE69026784T2 (de) 1996-12-12

Family

ID=23651992

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69026784T Expired - Fee Related DE69026784T2 (de) 1989-10-04 1990-10-03 Verfahren und Einrichtung zur Verschlüsselung mittels Modulo 2-Addition und Blocksubstitution

Country Status (7)

Country Link
US (1) US5038376A (de)
EP (1) EP0421754B1 (de)
JP (1) JP3044565B2 (de)
AT (1) ATE137627T1 (de)
DE (1) DE69026784T2 (de)
HK (1) HK1006343A1 (de)
IL (1) IL95895A0 (de)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5647001A (en) * 1989-10-04 1997-07-08 Litton Systems, Inc. Nonlinear dynamic substitution devices and methods for block substitutions employing coset decompositions and direct geometric generation
US5317639A (en) * 1989-10-04 1994-05-31 Teledyne Industries, Inc. Non-linear block substitution devices derived by constructive corruption
US5214704A (en) * 1989-10-04 1993-05-25 Teledyne Industries, Inc. Nonlinear dynamic substitution devices and methods for block substitutions
US5307412A (en) * 1992-09-30 1994-04-26 Vobach Arnold R Random coding cipher system and method
US5864622A (en) * 1992-11-20 1999-01-26 Pitney Bowes Inc. Secure identification card and method and apparatus for producing and authenticating same
AU3560895A (en) * 1995-09-26 1997-04-17 Xian Kan Lin A method for encryption of file
US5838794A (en) * 1996-01-11 1998-11-17 Teledyne Electronic Technologies Method and apparatus for inter-round mixing in iterated block substitution systems
DE19834934C2 (de) * 1998-07-29 2000-08-31 Sikom Sicherheits Und Kommunik Verfahren zur gesicherten Übertragung von Daten
US7292693B1 (en) 1998-08-13 2007-11-06 Teledyne Technologies Incorporated Deterministically generating block substitution tables which meet a given standard of nonlinearity
DE10162991A1 (de) * 2001-12-20 2003-07-17 Siemens Ag Verfahren zum rechnergestützten Ver- und Entschlüsseln von Daten
US8031865B2 (en) * 2004-01-08 2011-10-04 Encryption Solutions, Inc. Multiple level security system and method for encrypting data within documents
US7752453B2 (en) 2004-01-08 2010-07-06 Encryption Solutions, Inc. Method of encrypting and transmitting data and system for transmitting encrypted data
US7526643B2 (en) * 2004-01-08 2009-04-28 Encryption Solutions, Inc. System for transmitting encrypted data
US7849125B2 (en) 2006-07-07 2010-12-07 Via Telecom Co., Ltd Efficient computation of the modulo operation based on divisor (2n-1)
WO2009141756A2 (en) * 2008-05-20 2009-11-26 Koninklijke Philips Electronics N.V. Cryptographic system
WO2015013440A1 (en) * 2013-07-23 2015-01-29 Battelle Memorial Institute Systems and methods for securing real-time messages
CN111353166B (zh) * 2020-02-25 2021-10-26 南通大学 一种图片转汉字的加密方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3683513A (en) * 1970-11-19 1972-08-15 Europaische Handelsgellschaft Apparatus for automatically enciphering and/or deciphering a test consisting of multidigit dual coded characters
SE7714587L (sv) * 1977-12-21 1979-06-22 Brendstrom Hugo System for meddelanden
US4520232A (en) * 1982-04-30 1985-05-28 Wilson William J Polygraphic encryption-decryption system
US4776011A (en) * 1983-10-24 1988-10-04 Sony Corporation Recursive key schedule cryptographic system
US4797921A (en) * 1984-11-13 1989-01-10 Hitachi, Ltd. System for enciphering or deciphering data
US4685132A (en) * 1985-07-30 1987-08-04 Sperry Corporation Bent sequence code generator
US4932056A (en) * 1989-03-16 1990-06-05 Yeda Research And Development Company Limited Method and apparatus for user identification based on permuted kernels

Also Published As

Publication number Publication date
JP3044565B2 (ja) 2000-05-22
ATE137627T1 (de) 1996-05-15
IL95895A0 (en) 1991-07-18
DE69026784D1 (de) 1996-06-05
US5038376A (en) 1991-08-06
EP0421754B1 (de) 1996-05-01
EP0421754A3 (en) 1992-08-26
JPH03192383A (ja) 1991-08-22
EP0421754A2 (de) 1991-04-10
HK1006343A1 (en) 1999-02-19

Similar Documents

Publication Publication Date Title
DE69026784T2 (de) Verfahren und Einrichtung zur Verschlüsselung mittels Modulo 2-Addition und Blocksubstitution
DE69031736T2 (de) Verschlüsselungsmethode
EP0010195B1 (de) Vorrichtung zur Adressumwandlung in einer Datenverarbeitungsanlage
DE3689510T2 (de) Einrichtung und Verfahren zur Datenverschleierung.
DE2231849C3 (de) Verschlüsselungsverfahren zur Erhöhung der Entschlüsselungsfestigkeit von blockweise zu verschlüsselnden Binärdaten und Anordnung zur Durchführung des Verfahrens
DE60112130T2 (de) Vorrichtung zur datenverschlüsselung unter verwendung einer schlüsselmatrix
DE69313540T2 (de) Verbesserte Vorrichtung zur variablen Längendekodierung
DE2231835B2 (de) Verfahren zur in mehreren Stufen erfolgenden Ver- und Entschlüsselung binärer Daten
DE69222174T2 (de) Nichtlineare dynamische verfahren zur blockvertauschung.
EP0012974B1 (de) Verfahren zur Chiffrierung von Datenblöcken einer vorgegebenen Länge
EP1246043A2 (de) Verfahren zur Übertragung von Daten über einen Datenbus
DE10319435A1 (de) Verfahren zur Verarbeitung von Daten
DE102008010789B4 (de) Verfahren zur zugriffs- und kommunikationsbezogenen Zufallsver- und Entschlüsselung von Daten
DE60009257T2 (de) Verfahren und Vorrichtung zum Entwurf einer Verschlüsselungslogik und zugehöriger Computer
DE60004409T2 (de) Schaltung und Verfahren zur Zufallszahlerzeugung
DE60224603T2 (de) Auf einem graphisch implementierten Algorithmus basierendes Verfahren zur Erzeugung und Filtrierung von Datensequenzen für kryptographische Anwendungen
DE102004018874B4 (de) Verfahren und Vorrichtung zum Bestimmen eines Ergebnisses
EP1676394A1 (de) Verfahren und vorrichtung zur ver-/ entschlüsselung
DE10352680A1 (de) Verschlüsselungsvorrichtung und Verschlüsselungsverfahren
DE102018113772A1 (de) Verschlüsselungsverfahren
DE69533313T2 (de) Einrichtungen und verfahren zur nichtlinearen dynamischen blocksubstitution unter verwendung von untermengenaufspaltungen und direkter geometrischer erzeugung
DE19757370C2 (de) Verfahren zur taktilen Erzeugung pseudo-zufälliger Datenworte
EP0384478A2 (de) Verfahren zum Ver- und Entschlüsseln eines Nachrichtenstromes
DE2136536C3 (de) Anordnung zur Komprimierung binarer Daten
DE2450669A1 (de) Verfahren und schaltungsanordnungen zur verschluesselung und entschluesselung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee