DE69533313T2 - Einrichtungen und verfahren zur nichtlinearen dynamischen blocksubstitution unter verwendung von untermengenaufspaltungen und direkter geometrischer erzeugung - Google Patents

Einrichtungen und verfahren zur nichtlinearen dynamischen blocksubstitution unter verwendung von untermengenaufspaltungen und direkter geometrischer erzeugung Download PDF

Info

Publication number
DE69533313T2
DE69533313T2 DE69533313T DE69533313T DE69533313T2 DE 69533313 T2 DE69533313 T2 DE 69533313T2 DE 69533313 T DE69533313 T DE 69533313T DE 69533313 T DE69533313 T DE 69533313T DE 69533313 T2 DE69533313 T2 DE 69533313T2
Authority
DE
Germany
Prior art keywords
equations
column
equation
linear
block
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 - Lifetime
Application number
DE69533313T
Other languages
English (en)
Other versions
DE69533313D1 (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.)
Northrop Grumman Guidance and Electronics Co Inc
Original Assignee
Litton Systems 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 Litton Systems Inc filed Critical Litton Systems Inc
Application granted granted Critical
Publication of DE69533313D1 publication Critical patent/DE69533313D1/de
Publication of DE69533313T2 publication Critical patent/DE69533313T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • 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)

Description

  • HINTERGRUND DER ERFINDUNG
  • 1. Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf das Gebiet der Verschlüsselungseinrichtungen und -verfahren und insbesondere auf Verfahren und Einrichtungen zur Blocksubstitutionsverschlüsselung.
  • 2. Stand der Technik
  • In vielen Fällen ist es wünschenswert, Informationen in digitaler Form von einem Ort zu einem andern in einer Art und Weise zu übermitteln, die klar und eindeutig für den Empfänger, aber unverständlich für einen sich dazwischen befindenden Eindringling ist. Dementsprechend ist es in vielen Fällen üblich, die zu übermittelnden Informationen durch einen vorher festgelegten Verschlüsselungsvorgang zu verschlüsseln, die verschlüsselte Form der Informationen zu übertragen und dann auf der Empfängerseite die Informationen zu entschlüsseln. In Abhängigkeit vom gewünschten Sicherheitsgrad kann eine relativ einfache und leicht zu knackende Verschlüsselung verwendet werden, da jede Verschlüsselungsstufe die Übertragung für den gelegentlichen Eindringling bedeutungslos macht. In anderen Situationen kann der Grad der gewünschten Sicherheit die Verwendung einer Verschlüsselungstechnik gebieten, die schwieriger durch Kryptanalyse zu entschlüsseln ist oder die, selbstverständlich hoffentlich, es in der höchsten Sicherheitsstufe im wesentlichen unmöglich macht, diese zu entschlüsseln. Anwendungen derartiger Verschlüsselungstechniken umfassen kommerzielle Anwendungen, wie zum Beispiel sensible Übertragungen zwischen Produktionsbetrieben, Bankfilialen, etc. und militärische Anwendungen, einschließlich, aber nicht begrenzt auf IFF (Identifizierung Freund-Feind). Während in einigen Fällen das Hauptziel der Verschlüsselung darin besteht, einen Eindringling daran zu hindern, die übermittelten Informationen zu entschlüsseln, ist in anderen Fällen, wie zum Beispiel bei IFF, ein Hauptziel, den Eindringling selbst daran zu hindern, falsche Informationen mit dem gleichen Verschlüsselungssystem falsche Informationen mit dem gleichen Verschlüsselungssystem zu erzeugen, um so den vorgesehenen Empfänger zu täuschen. Beide Ziele sind in vielen Anwendungen häufig vorhanden.
  • Blocksubstitution ist ein Verfahren, das zur Verschlüsselung einer Klartextnachricht verwendet wird, die in Form einer Folge von Binärzahlen vorliegt. Gemäß dem Verfahren wird die Folge in Blöcke vorgegebener Blocklänge n unterteilt, wobei die Blocksubstitutionseinrichtung jeden im Klartext enthaltenen Block durch einen neuen Block von Binärzahlen ersetzt. Die Substitutionsblöcke bilden die verschlüsselte Nachricht oder den Geheimtext, wobei jeder Substitutionsblock eine nicht mehrdeutige eineindeutige Transformation eines Klartextblocks darstellt. Beim Stand der Technik erfolgen solche Substitutionen mit Hilfe von Nachschlagetabellen, Schaltanordnungen oder rückgeführten Schieberegistern. Doch ohne häufiges Wechseln der Codes oder der Substitutionsverfahren, kann die Verschlüsselung durch Kryptanalyse geknackt werden. Das Wechseln von Nachschlagetabellen ist jedoch aufwendig, nur eine begrenzte Anzahl möglicher Schaltanordnungen ist zweckmäßig und ein wiederholtes periodisches Durchlaufen eines Schieberegisters ist zeitaufwendig. Ein zusätzliches Problem besteht darin, Substitutionen zu finden, die nicht irgendein Muster oder Ausrichtung aufweisen. Derzeit werden Substitutionskandidaten durch Computersimulation auf mögliche systematische Muster geprüft und in einigen Fällen werden zusätzliche Schaltungen verwendet, um dies auszugleichen.
  • Verschiedene Ausführungen von Verschlüsselungseinrichtungen und -verfahren sind in dem Stand der Technik bekannt. Siehe zum Beispiel die US-Patente Nr. 3,796,830, 3,798,359, 4,078,152, 4,195,200, 4,255,811, 4,316,055 und 4,520,232.
  • Im Allgemeinen sind diese Systeme, insofern sie sich auf eine Blocksubstitution beziehen, Schlüssel-abhängige Chiffrierungs- und Dechiffrierungssysteme und basieren nicht auf einer Blocksubstitution durch Modulo-2-Addition einer zusätzlichen permutierten Zahlenmenge mit einer anderen, wie in der vorliegenden Erfindung.
  • Die vorliegende Erfindung bezieht sich auf weitere Verfahren zur konstruktiven bzw. verdeckten Verfälschung, wie in den beigefügten Ansprüchen dargelegt.
  • Verfahren und Einrichtungen für auf nicht-linearisierender Modulo-2-Addition beruhende Verschlüsselung durch Blocksubstitutionstechnik, die die Verwendung des Substitutionsverfahrens mit relativ einfacher Hardware gestattet und eine Kryptanalyse dennoch weiter erschwert. Die grundlegende Blocksubstitution, eine eineindeutige Abbildung von n-Bit Binärzahlen auf sich selbst, basiert auf der Tatsache, daß bestimmte Permutationen der n-Bit Binärzahlen eine Blocksubstitution durch eine Modulo-2-Addition einer permutierten Zahlenmenge mit einer anderen definieren und daß eine Teilmenge dieser definierten Gleichungen eine zusätzliche Beziehung aufweist, wenn sie als Vektor betrachtet wird. Dies gestattet das häufige, einfache Wechseln der Transformation. Folglich sind die Gleichungen nicht-linearisiert, ebenfalls in einer geordneten und leicht veränderlichen Art und Weise, so daß der Rest der Gleichungsmenge nicht mehr von einer begrenzten Teilmenge der Gleichungen erzeugt werden kann. Verschiedene Eigenschaften der Transformationen und Verfahren zur Verwendung derselben sind offenbart. Insbesondere umfassen die Verfahren zur Nicht-Linearisierung, die gemäß der Erfindung bereitgestellt werden, eine Nicht-Linearisierung durch Bildung geschachtelter Folgen von Untergruppen, zugeschnittene Nebenklassen [cosets] und Nebenklassen disjunkter verfälschbarer Untergruppen. Ferner umfassen die Verfahren zur konstruktiven Verfälschung ein auf beliebige Blockgrößen anwendbares Verfahren zur Nebenklassenzerlegung und ein auf kleine Blockgrößen, wie zum Beispiel 4 oder 5, anwendbares „Bar Sinister"-Verfahren zur konstruktiven Verfälschung.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 stellt eine mehrdeutige Transformation einer Menge Drei-Bit Binärzahlen auf eine andere Menge Binärzahlen durch eine Modulo-2-Addition dar.
  • 2 stellt eine eineindeutige Transformation einer Menge Drei-Bit Binärzahlen auf eine andere Menge Binärzahlen durch eine Modulo-2-Addition dar.
  • 3 stellt die Transformationsgleichungen von 2 dar, die, mit Ausnahme der ersten Gleichung, neu geordnet sind, wodurch die dreistellige Zahl in der ersten Spalte gleich der dreistelligen Zahl in der zweiten Spalte der vorhergehenden Zeile wird. Mit Ausnahme der ersten Gleichung ist jetzt jede Spalte in der gleichen Reihenfolge, aber mit unterschiedlichen Startpositionen.
  • 4 entspricht 3, jedoch mit einer vertikalen Verschiebung der ersten und dritten Spalte in Bezug auf die zweite Spalte. Diese Verschiebungen sind 6 beziehungsweise 2 Positionen nach unten. Mit Ausnahme der ersten Gleichung verbleibt jede Spalte in der gleichen Reihenfolge, jedoch mit unterschiedlichen Startpositionen.
  • 5 entspricht 4, wobei die ⊕ und = Symbole zu Verschlüsselungszwecken vertauscht sind.
  • 6 zeigt eine Blockdarstellung einer Einrichtung zur Verschlüsselung von Daten.
  • 7 zeigt eine Blockdarstellung einer Einrichtung zur Entschlüsselung von Daten, die durch die Einrichtung von 6 verschlüsselt wurden.
  • 8 zeigt ein Beispiel einer Verschlüsselung unter Verwendung von 6.
  • 9 zeigt ein Beispiel einer Entschlüsselung unter Verwendung von 7.
  • 10 stellt eine Menge von Transformationsgleichungen dar, die denen in 4 entsprechen, wobei das feste Wort 001 zu deren Spalten 1 und 2 addiert wurde. Mit Ausnahme der ersten Gleichung sind die Spalten 1 und 2 in der gleichen Reihenfolge, jedoch mit anderen Startpositionen.
  • 11 zeigt eine Blockdarstellung einer Einrichtung zum Verschlüsseln von Daten gemäß einer Menge von Transformationsgleichungen, wie zum Beispiel denen von 10.
  • 12 zeigt eine Blockdarstellung einer Einrichtung zum Entschlüsseln von Daten, die mit der Einrichtung von 11 verschlüsselt wurden.
  • 13 zeigt ein Beispiel einer Entschlüsselung unter Verwendung von 11.
  • 14 zeigt ein Beispiel einer Entschlüsselung unter Verwendung von 12.
  • 15 stellt eine Umordnung der Gleichungen in 2 in die allgemeine Form xn–1 ⊕ xn = zn dar .
  • 16 zeigt eine Blockdarstellung eines Systems zum Verschlüsseln und Entschlüsseln gemäß der vorliegenden Erfindung.
  • 17 stellt eine Gleichungsmenge dar, die zum Verschlüsseln verwendbar ist.
  • 18 stellt ein Verfahren zur Nicht-Linearisierung einer Gruppe von Gleichungen unter Verwendung geschachtelter Folgen von Untergruppen grafisch dar;
  • 19 zeigt eine Blockdarstellung, die ein Verschlüsselungsverfahren darstellt, das geschachtelte Folgen von Untergruppen einsetzt;
  • 20 stellt eine Zerlegung von Mehrfach-Nebenklassen für einen linearen Orthomorphismus maximaler Länge auf Binärzahlen mit der Blockgröße n=8 dar;
  • 21 zeigt eine Blockdarstellung, die ein Verschlüsselungsverfahren darstellt, das zugeschnittene Nebenklassen aus unterschiedlichen Untergruppen verwendet, wie in 20 graphisch dargestellt ist;
  • 22 zeigt eine Blockdarstellung, die das Verfahren von 21 für eine Blockgröße n=8 darstellt;
  • 23 zeigt eine Blockdarstellung, die ein Verschlüsselungsverfahren darstellt, das Nebenklassen disjunkter verfälschbar Untergruppen verwendet.
  • 24 zeigt eine Blockdarstellung, die ein Verschlüsselungsverfahren darstellt, das eine vollständige Nebenklassenzerlegung verwendet.
  • 25 zeigt eine Blockdarstellung, die ein Verschlüsselungsverfahren darstellt, das zur Verschlüsselung von Text verwendbar ist, der kleine Blockgrößen, wie zum Beispiel 4 oder 5, aufweist.
  • 26 zeigt eine Blockdarstellung eines Beispiels der Indextabelle für die Blockgröße 4, das unter Verwendung des Verfahrens von 25 entwickelt wurde.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Die vorliegende Erfindung umfasst Verfahren und Einrichtungen für eine Verschlüsselung, die auf nicht-linearisierender Modulo-2-Addition basiert, durch Blocksubstitution, die in früheren US-Patentanmeldungen ausführlich beschrieben ist. Besonders Aspekte des US-Patents US-A-5038376 werden nachstehend in Abschnitt I. BLOCKSUBSTITUTION dargelegt. Beschreibungen der Erfindung von US Patent US-A-5214704 werden in Abschnitt II. ÜBERBLICK ÜBER NICHT-LINEARISIERUNG dargelegt. Für die vorliegende Erfindung relevante Offenbarungen werden in den verbleibenden Abschnitten dargelegt. Insbesondere Abschnitt III. MODIFIKATIONEN DER LINEAREN ORTHOMORPHISMEN stellt eine Beschreibung vorläufiger Modifikationen und Variationen des in diesen früheren US-Anmeldungen beschriebenen linearen Orthomorphismus bereit. Abschnitt IV. KONSTRUKTION VOLLSTÄNDIG NICHT-LINEARER ORTHOMORPHISMEN stellt eine Verallgemeinerung der nicht-linearen Orthomorphismen bereit. Abschnitt IV. KONSTRUKTION VOLLSTÄNDIG NICHT-LINEARER ORTHOMORPHISMEN stellt ein ausführliches Beispiel bereit, das die Konstruktion eines Orthomorphismus für die Blockgröße n=8 beschreibt. Ein erstes Verfahren zur konstruktiven Verfälschung durch Nicht-Linearisierung einer Menge Blocksubstitutionsgleichungen wird in Abschnitt V. GESCHACHTELTE FOLGEN VON UNTERGRUPPEN bereitgestellt. Ein zweites Verfahren zur konstruktiven Verfälschung wird in Abschnitt VI. ZUGESCHNITTENE NEBENKLASSEN VON VERSCHIEDENEN UNTERGRUPPEN bereitgestellt. Ein drittes Verfahren zur konstruktiven Verfälschung wird in Abschnitt VII. NEBENKLASSEN DISJUNKTER VERFÄLSCHBARER UNTERGRUPPEN bereitgestellt. Abschnitt VII. NEBENKLASSEN DISJUNKTER VERFÄLSCHBARER UNTERGRUPPEN umfasst weiter ein ausführliches Beispiel eines Blocksubstitutionssystems, das die Blockgröße n=8 aufweist. Zwei verbesserte Verfahren zur konstruktiven Verfälschung gemäß der Erfindung werden in Abschnitt VIII mit dem Titel NEBENKLASSENZERLEGUNG VERFÄLSCHBARER UNTERGRUPPEN bereitgestellt. Das erste verbesserte Verfahren ist mit einer vollständigen Nebenklassenzerlegung verbunden, die für Verschlüsselungssysteme beliebiger Blockgröße einsetzbar ist. Das zweite verbesserte Verfahren, das hier als „Bar Sinister"-Verfahren bezeichnet wird, ist im Wesentlichen für Verschlüsselungssysteme kleiner Blockgrößen, wie zum Beispiel 4 oder 5, einsetzbar. Zum Abschluss stellt Abschnitt IX. DEFINITIONEN DER AUSDRÜCKE UND SYMBOLE ein Glossar der in dieser Patentanmeldung verwendeten Ausdrücke und die Anhänge als Anlage bereit. Abschnitt IX. DEFINITIONEN DER AUSDRÜCKE UND SYMBOLE definiert ferner bestimmte mathematische Symbole, die hier verwendet wurden.
  • I. BLOCKSUBSTITUTION
  • In der nachfolgenden Beschreibung werden die Verfahren und Einrichtungen zuerst in Bezug auf Blöcke von n Binärzahlen mit n=3 beschrieben. Dann werden die Verfahren und Einrichtungen auf n-Bit Blöcke allgemein erweitert und bestimmte Eigenschaften von Blöcken bis zu n=8 werden dargestellt. Es wird angenommen, daß mit der Darstellung des nachfolgenden Beispiels für n=3 die Konzepte der originären Erfindung besser verstanden werden, als es der Fall wäre, wenn ein größerer, sehr viel mehr Kombinationen aufweisender Block verwendet würde.
  • Blocksubstitution ist der Ausdruck, der üblicherweise für eine eineindeutige Abbildung der n-Bit Binärzahlen auf sich selbst verwendet wird. Diese Abbildung kann als eine Paarbildung der 2n n-Bit Zahlen geschrieben werden:
    Figure 00070001
    Figure 00080001
    wobei jede Spalte die Menge der gleichen 2n verschiedenen, aber in unterschiedlicher Anordnung geschrieben n-Bit Zahlen darstellt. Demzufolge kann diese Abbildung als eine Permutation der n-Bit Zahlen angesehen werden, die geschrieben wird als:
    Figure 00080002
    oder (X1 Xi Xj) für irgendeine Menge Indizes . Diese übliche Bezeichnung für Permutationen bedeutet lediglich, daß X1 → Xi, Xi → Xj etc .
  • Zurück zu den Spaltenbezeichnungen: Man kann eine Menge einfacher Gleichungen ausgehend von der ursprünglichen Menge und ihrem Abbild definieren:
    Figure 00080003
    wobei ⊕ Modulo-2-Addition (d.h. Addition entsprechender Ziffern ohne Übertrag) bedeutet. Im Allgemeinen wird die Menge {Y1, Y2,...} nicht immer eindeutig sein; unter bestimmten Umständen wird sie es aber sein. Wenn sie eindeutig ist, können gemäß der originären Erfindung Blocksubstitutionen eher durch Modulo-2-Addition erzeugt werden, als auf herkömmliche Weise. Die Hauptaufgaben bestehen darin, die Umstände zu bestimmen, soweit diese vorhanden sind, unter denen dieses Verfahren wirkt, wie die Substitutionen schnell geändert werden können und das Fehlen von Ausrichtung.
  • Es ist nicht offensichtlich, daß Blocksubstitutionen überhaupt durch Modulo-2-Addition erzeugt werden können. Man berücksichtige zum Beispiel den in 1 gezeigten Versuch, eine Anordnung von 3-Bit Binärzahlen mittels Modulo-2-Addition für eine andere einzusetzen. Rechts in Spalte 3, erscheinen 011 und 100 jeweils zweimal, während 001 und 110 nie erscheinen. Die Zahlen in Spalte 1 links, die auf die Zahlen der Spalte 2 in der Mitte wirken, bilden eine Transformation der Menge von 3-Bit Binärworten der Spalte 1 in sich selbst. Dies ist eine mehrdeutige Transformation und sie ist für Blocksubstitutionen aufgrund der Mehrdeutigkeit unbrauchbar, die sich beim Versuch der Wiederherstellung des ursprünglichen Blocks für die transformierten Blöcke 011 und 100 ergibt.
  • Der Versuch einer weiteren Anordnung, wie in 2 gezeigt, führt zu einem anderen Ergebnis. Jedes Spaltenpaar bildet nun eine eineindeutige Transformation. Insbesondere die Transformation der 3-Bit Binärzahlen der Spalte 3 (dem Klartext) auf sich selbst, den verschlüsselten Text der Spalte 1, ist eineindeutig. Jede Spalte enthält alle 3-Bit Zahlen genau einmal.
  • Offensichtlich kann man die Transformationen aus 2 zur Transformation jedes dreistelligen Binärblocks in einen verschlüsselten Binärblock verwenden und natürlich kann man die gleichen Gleichungen zum Entschlüsseln der verschlüsselten Nachricht durch Suchen des verschlüsselten Wortes in Spalte 1 und anschließendem Wählen des entsprechenden Klartextwortes in der gleichen Zeile, Spalte 3 in 2, verwenden. Dies ist äußerst zweckmäßig, wenn ⊕ und = vertauscht werden, wie in 5 gezeigt. Es ergibt sich eine äquivalente Transformation zur Rücktransformation des verschlüsselten Wortes in das Klartextwort, wenn die Wörter aus Spalte eins zu denen von Spalte zwei addiert werden, um diejenigen in Spalte drei zu erhalten.
  • Es wird erneut auf 2 Bezug genommen, der eine interessante Eigenschaft der dort gezeigten Transformation, und was das betrifft, für alle Transformationen der hier interessie renden Art, entnommen werden kann. Insbesondere werden von den acht Blöcken aus Dreier-Binärzahlen die unteren vier Blöcke 000, 001, 010 und 011 in zwei Blöcke der unteren vier, und zwar 000 und 001, und in zwei Blöcke der oberen vier, und zwar 110 und 111, abgebildet. In ähnlicher Weise werden natürlich von den vier größeren Blöcken der acht zwei in Blöcke der unteren vier und zwei in Blöcke der oberen vier abgebildet. Die geraden Blöcke 000, 010, 100 und 110 werden in ähnlicher Weise in zwei gerade Blöcke, 000 und 010, und in zwei ungerade Blöcke, 001 und 011, abgebildet. Die ungeraden vier Blöcke werden zur Hälfte in die ungeraden Blöcke und zur Hälfte in die geraden Blöcke abgebildet. Offensichtlich gilt das Gleiche für die Entschlüsselung. Somit vermittelt die Kenntnis über einige Eigenschaften des verschlüsselten Blocks, wie zum Beispiel, daß er groß, klein, gerade, ungerade etc. ist, keine ähnliche Kenntnis einer Eigenschaft des unverschlüsselten Blocks. Als Ergebnis daraus wird die Verschlüsselung als nicht ausgerichtet bezeichnet. Was das betrifft, sei angemerkt, daß selbst bei Berücksichtigung der mittleren Ziffer jedes Blocks, die vier Blöcke von 2, die eine Null als mittlere Ziffer aufweisen, zwei Blöcke in Blöcke, die ebenso eine Null als mittlere Ziffer aufweisen, und zwei Blöcke, die eine Eins als mittlere Ziffer aufweisen, abbilden. Die vier Blöcke, die eine Eins als mittlere Ziffer aufweisen, bilden natürlich ebenso zwei Blöcke in Blöcke, die eine Eins als mittlere Ziffer aufweisen, und zwei in Blöcke, die eine Null als mittlere Ziffer aufweisen, ab. Diese Eigenschaft gilt für alle Blockgrößen und erstreckt sich auf die gleichmäßige Teilung aller Mengen von Blöcken, die algebraisch als maximale Untergruppen gekennzeichnet werden können. Dieses nicht ausgerichtete Merkmal der Verschlüsselung ist eine sehr vorteilhafte Eigenschaft des hier offenbarten Verschlüsselungsverfahrens, insbesondere in Verbindung mit dem häufigen Wechsel der Verschlüsselung von Zeit zu Zeit.
  • Insbesondere möchte man natürlich in jeder geeigneten Verschlüsselungseinrichtung in der Lage sein, das Verschlüsselungsverfahren häufig zu wechseln, so daß Muster nicht für ei ne ausreichende Zeitdauer bestehen, um eine Kryptanalyse des Musters zuzulassen. Zu diesem Zweck können bestimmte Eigenschaften der Gleichungen in 2 durch Umordnen der Zeilen in 2, wie in 3 gezeigt, erkannt werden. Die Umordnung der Zeilen auf eine beliebige Art und Weise beeinflusst die Transformation natürlich keineswegs, da jede Gleichung ihre eigene Vollständigkeit einzeln und getrennt von ihrer Position in der Tabelle beibehält. Im Wesentlichen ist die zweite Zeile in 3 die vierte Zeile in 2 und die dritte Zeile in 3 ist die fünfte Zeile in 2, wobei jede nachfolgende Zeile so angeordnet ist, daß die linke Spalte in jeder nachfolgenden Zeile die gleiche 3-Bit Zahl, wie die zweite Spalte der vorhergehenden Zeile enthält. Wenn eine solche Anordnung vorliegt, ist unter Vernachlässigung der ersten Zeile oder Ident-Zeile zu beachten, daß jede der drei Spalten die gleiche Folge von 3-Bit Binärzahlen mit Übertrag auf die nächste Zeile (wrap-around) enthält. Insbesondere weist die erste Spalte die gleiche Folge wie die zweite Spalte auf, aber eine Stelle davon abwärts (oder sechs Stellen aufwärts) versetzt und die dritte Spalte weist die gleiche Folge wie die zweite Spalte auf, jedoch drei Stellen abwärts versetzt (oder vier Stellen aufwärts) von der Folge der Spalte zwei.
  • Die erste Zeile oder Ident-Zeile in 3 wird erneut vernachlässigt. Man beachte, daß wenn die 3-Bit Binärzahlen in Spalte 1 um insgesamt sechs Stellen abwärts mit Übertrag auf die nächste Zeile in Bezug auf die zweite Spalte verschoben werden, sich nach wie vor eine eineindeutige Transformation ergibt, wie in 4 gezeigt. Mit Ausnahme der Ident-Zeile ist die Transformation vollkommen verschieden von der in 3. Zum Beispiel wird 111 der Spalte 3 in 011 der Spalte 1 in 3 und in 100 der Spalte 1 in 4 abgebildet. Jedoch ist es darüber hinaus wichtig, zu beachten, daß die Folge der 3-stelligen Zahlen der Spalten 1 und 3 in 4 (die Ident-Zeile ausgenommen) immer noch die Gleiche, wie die in Spalte 2 in 3 und 4 ist, obwohl jede mit Übertrag auf die nächste Zeile im Vergleich zu Spalte 2 verschoben ist. Auf diese Weise wurde die Transformation in 3 zu der neuen Transformation in 4 geändert, indem lediglich die Zahlen in der ersten Spalte in 3 in Bezug auf diejenigen in der zweiten Spalte verschoben wurden und die Zahlen in der dritten Spalte ebenfalls in Bezug auf diejenigen in der zweiten Spalte verschoben wurden, aber mit einem anderen Betrag, um die Vollständigkeit der Modulo-2-Additionsgleichungen zu erhalten. Wieder können zur Entschlüsselung die Symbole ⊕ und = in 4 vertauscht werden, wie in 5.
  • Allgemein können die Gleichungsmengen für alle Blockgrößen geschrieben werden als:
  • VERSCHLÜSSELUNG
    Figure 00120001
  • ENTSCHLÜSSELUNG
    Figure 00120002
  • Figure 00130001
  • Für die Blockgröße n, m = 2n–1, θ = 00 ... 00, besteht das n-Bit Wort nur aus Nullen.
  • Wenn Spalte 1 um S Stellen in Bezug auf Spalte 2 verschoben wird, dann wird Spalte 3 um einen anderen Betrag Ps verschoben, um die Vollständigkeit der Modulo-2-Additionsgleichungen zu erhalten. Für eine vorgegebene Verschiebung S wird Ps durch die Verschiebungsprogrammiereinrichtung bestimmt .
  • Es wird jetzt auf 6 Bezug genommen, aus der eine Blockdarstellung eines Systems zum Ausführen einer Verschlüsselung gemäß der bisher behandelten Verschlüsselungs- und Entschlüsselungstechniken entnommen werden kann.
  • Das Klartextwort wird zu seiner Adresse in Speicher I gesandt. Dies entspricht der Auswahl eines Wortes Xk–Ps aus Spalte 3, das nicht θ ist. Das Konzept besteht darin, es zu seiner Entsprechung in Spalte 2 zu addieren. Wenn Xk–Ps nicht θ ist und zu Xk addiert wird, entspricht dies dem Addieren des Wortes mit den Ordnungsdaten K – PS in Spalte 3 zum Wort der Ordnung K – PS + PS = K, ebenfalls in Spalte 3. Auf diese Weise werden die Ordnungsdaten des Klartextwortes K – PS zum Addierer gesandt, um zu PS addiert zu werden. Die neue Ordnungszahl wird zu ihrer Adresse im Speicher II gesandt. Der Inhalt dieser Adresse wird zum Klartextwort Modulo-2-addiert, um das verschlüsselte Wort Xk–s in Spalte 1 zu erhalten. Wenn das Klartextwort θ ist, ist sein Chiffrierungs-Prüfbild das Gleiche.
  • Das Addieren der Ordnungsdaten wird durch zwei Addierer, dem Übertrag (C) und dem niederwertigsten Bit (LSB) ausgeführt. Der Übertragsaddierer addiert die Zahlen herkömmlich mit Übertrag, z.B. 001 + 011 = 100. Wenn die Addition jedoch mehr als n Stellen erfordert, d.h. eine 1 auf die n+1 Stelle übertragen wird, wird diese zusätzliche 1 stattdessen zur ersten Stelle addiert, z.B. 100 + 110 = 1010 ⇒ 011. Dies wird durch den LSB-Addierer ausgeführt. Dies ist lediglich eine Modulo-m-Addition mit m = 2n – 1. In diesem Beispiel ist n = 3, m = 7 und die Addition ist dezimal ausgedrückt 4 + 6 = 10 ≡ 3 mod 7, mit 100 ⇒ 4, 110 ⇒ 6 und 011 ⇒ 3.
  • Die Blockdarstellung zur Entschlüsselung ist in 7 gezeigt. Das Geheimtextwort wird zu seiner Adresse in Speicher I gesandt. Dies entspricht der Auswahl eines Wortes Xk–3 aus Spalte 1, das nicht θ ist. Das Konzept besteht darin, es zu seiner Entsprechung Xk in Spalte 2 zu addieren. Dies entspricht dem Addieren von Xk–s in Spalte 1 zum Wort mit den Ordnungsdaten K – s + s = K, ebenfalls in Spalte 1. Auf diese Weise werden die Ordnungsdaten des Geheimtextwortes K–s zum Addierer gesandt, um zu s addiert zu werden. Die neue Ordnungszahl wird zu ihrer Adresse in Speicher II gesandt. Der Inhalt dieser Adresse wird zum Geheimtextwort Modulo-2-addiert, um das entschlüsselte Wort Xk–Ps in Spalte 3 zu erhalten. Wenn das Geheimtextwort θ ist, wird es als θ entschlüsselt.
  • Die Addition der Ordnungsdaten K – S + S und K – PS + PS wird als Modulo-m-Addition oder Addition mit Übertrag auf die nächste Zeile verstanden. Das heißt, wenn die Ordnungsdaten größer als m sind, wird die letzte Stelle m von den Ordnungsdaten subtrahiert. Wenn das Geheimtextwort θ ist, wird es als das gleiche Wort entschlüsselt.
  • Das Verschiebungsprogramm bestimmt die Ordnung, in der die Verschiebungen S in Spalte 1 verwendet werden, mit der entsprechenden PS Verschiebung S in Spalte 3. Jede gewünschte Ordnung kann verwendet werden. Die Verschiebung S entspricht der Potenz der auf Seite 8 beschriebenen elementaren Permutation, die die Substitution durch Addition bestimmt.
  • Wenn also zum Beispiel in 8 der Klardatenwert 010 beträgt, dann stellt diese Adresse in Speicher I die Ordnungsdaten 001 bereit. Dies ist die binäre Bezeichnung dafür, daß 010 an der Stelle 1 in der Folge im Speicher I (Spalte 3 der Glei chungsmenge) steht. Die erste Verschiebungsstelle im Programm ist S = 6, für die P6 = 2 ist. Zur Stelle von 010, K – P6 = 1, wird P6 = 2 addiert. In binärer Bezeichnung 001 + 010 = 011. Der Adresse 011 in Speicher II entspricht die Zahl 100. (Dies entspricht der Aussage, daß 100 an Stelle 3 in Spalte 3 steht.) 110 = 100 ⊕ 010 ist das Geheimtextwort. Dies stellt die erste Additionsgleichung in 5 dar.
  • Das Geheimtextwort für die Entschlüsselung ist 110. In 9 stellt diese Adresse in Speicher I die Ordnungsdaten 100 oder die Stelle 4 in der Folge in Speicher I bereit. Die erste Verschiebungsstelle im Programm ist S = 6. Zur Stelle 110, K – 6 = 4, wird 6 oder 110 in binärer Bezeichnung addiert. 4 + 6 = 10. Subtraktion von m = 7, 10 – 7 = 3 oder Stelle 3 mit Übertrag auf die nächste Zeile. In binärer Bezeichnung 100 + 110 = 011 Modulo 7. Der Adresse 011 in Speicher II entspricht die Zahl 100. 110 ⊕ 100 = 010. Dies stellt die erste Additionsgleichung in 4 dar.
  • Wenn man eine feste Zahl zur ersten und zweiten Spalte von 4 Modulo-2-addiert, ergibt sich eine weitere eineindeutige Transformation.
  • VERSCHLÜSSELUNG
    Figure 00150001
  • ENTSCHLÜSSELUNG
    Figure 00160001
  • Es wird jetzt auf 11 und 12 Bezug genommen, aus denen für jede Blockgröße eine Blockdarstellung zum Ausführen der Verschlüsselung und Entschlüsselung unter Verwendung eines festen, vom Nullwort θ verschiedenen Wortes, entnommen werden kann. Das Verfahren ist im Wesentlichen daßelbe wie zuvor, mit dem zusätzlichen Schritt der Modulo-2-Addition eines festen Wortes als letzten Schritt im Verschlüsselungsvorgang und als ersten Schritt im Entschlüsselungsvorgang.
  • Ein Beispiel ist in 13 und 14 gezeigt. In diesem Fall bleibt 000 nicht mehr fest, sondern ist in 001 transformiert. Jetzt wird 110 auf sich selbst transformiert und wird daher in diesem Fall fest.
  • Der Festwortaddierer kann nacheinander beliebige oder alle n-Bit Wörter addieren, gleich welche Reihenfolge durch den Anwender gewählt wurde.
  • Es wird jetzt auf 8 Bezug genommen, aus der als Beispiel eine Blockdarstellung eines Systems zum Ausführen der Verschlüsselung gemäß der bisher behandelten Verschlüsselungs- und Entschlüsselungstechniken entnommen werden kann. Wie in der Figur gezeigt, wird jeder Wert der Klardaten 20, 000 ausgenommen, als eine Adresse dem Speicher 22 bereitgestellt. Die Ordnungsdaten für den Klardatenwert sind bei den verschiedenen Speicheradressen gespeichert, dies entspricht der als Binärzahl angegebenen Stelle dieses Klardatenwertes in der geordne ten Folge der rechten Spalte in 4 (und 5 und 10). Diese Stelle wird als Ausgabe des Speichers 22 an einen Addierer, der als Kombination der Addierer 24 und 26 gezeigt ist, bereitgestellt. Die Addierer sind gekoppelt, um die Ausgabe des Speichers zu einem durch die Verschiebungs-Programmiereinrichtung 28 gesteuerten Verschiebungswert PS zu addieren. Diese Addition ist keine Modulo-2-Addition, sondern eine normale Binäraddition, mit der einen Ausnahme, daß der Übertrag vom höchstwertigen Bit mit dem Übertrag des niederwertigsten Bits gekoppelt ist. Somit wird der Addierer das Ergebnis 001 als Summe 1 größer als 111, und nicht 1000 oder einfach 000, bereitstellen. Somit ist ersichtlich, daß die Ausgabe der Addierer eine neue, in der Ordnungsdatenfolge um den Betrag PS verschobene 3-Bit Binärzahl ist. Diese neue Stelle wird dann als Adresse für Speicher 30 verwendet, der an seinem Ausgang die 3-Bit Binärzahl, die dem Wert in Spalte 2 in 4 entspricht, oder den entsprechenden Klardatenwert in 3 bereitstellt. Wenn somit zum Beispiel der Klardatenwert 010 ist, stellt dieser Wert als eine Adresse für den Speicher I die Position dieses Wertes 001 in der Folge bereit. Wenn das Verschiebungsprogramm S = 6 auswählt, dann ist P6 = 2 und Spalte 3 wird um zwei Stellen von Spalte 2 abwärts oder um einen Betrag 010 verschoben. Die 3-Bit Binärzahl, die dann an den Klardatenwert von 010 angrenzen würde, ist 100, wie in 5. Diese Modulo-2-Addition zu den Klardaten 010 stellt einen verschlüsselten Wert von 110 bereit, der dem in 5 gezeigten Wert entspricht. Wenn jedoch der Klartextdatenwert 000 ist, stellt dieser Wert als eine Adresse in Speicher I die Position des Wertes von 000 in der Folge bereit. Er wird nicht verschoben, sondern unverändert als Ordnungsdaten in Speicher 30 bereitgestellt. Somit bleibt 000 zu sich selbst addiert fest.
  • Die Abwärtsverschiebung PS der Folge von Spalte 3 in 5 entspricht im Vergleich mit den elementaren Ordnungsdaten von Spalte 2 in 5 natürlich einer komplementären Aufwärtsverschiebung. Somit entspricht eine Abwärtsverschiebung um PS für einen n-Bit Block einer Aufwärtsverschiebung um m–PS. Man be achte ebenfalls, daß für einen 3-Bit Block alle möglichen Verschiebungswerte die gewünschte eineindeutige Abbildung bereitstellen, mit Ausnahme einer Verschiebung der ersten Spalte in Bezug auf die zweite Spalte um Null und um 7 und Vielfachen davon, da derartige Verschiebungen eine zweite Spalte in der Matrix bereitstellen würden, in der jede Zeile die gleiche, wie die entsprechende Zeile der ersten Spalte ist, und jede Zahl zu sich selbst Modulo-2-addiert Null ist. Somit werden für eine Verschiebung um sieben oder Vielfache davon alle Klardatenwerte auf 000 abgebildet, was für Verschlüsselungszwecke unbrauchbar ist. Es wird jedoch später gezeigt, daß im Allgemeinen für n-Bit Blöcke, die größer als drei Bit sind, alle von Null und ganzzahligen Vielfachen von m verschiedenen Verschiebungen das gewünschte Ergebnis liefern und somit gemäß der originären Erfindung verwendbar sind.
  • Die Blockdarstellung zur Entschlüsselung gemäß 7 ist in 9 gezeigt. Vom Standpunkt der Hardware ist dieses Diagramm genau das Gleiche, wie das in 8 zur Verschlüsselung. Die Entschlüsselung unterscheidet sich nur in der Verschiebung S, die für eine vorgegebene Verschiebung PS zur Verschlüsselung anzuwenden ist. Wie im Beispiel auf Seite 14 stellt für eine Verschiebung PS um 2 zur Verschlüsselung eine Verschiebung 6 die richtige Entschlüsselung bereit etc., wie in den Tabellen in 8 und 9 gezeigt. Offensichtlich müssen die Verschlüsselungshardware und die Entschlüsselungshardware die zugehörigen Verschiebungen für die richtige Wiederherstellung der Klardaten bei der Entschlüsselung verwenden, obwohl die anzuwendende Verschiebung auf beiden Seiten häufig verändert werden kann, um eine Kryptanalyse sehr schwer, wenn nicht praktisch unmöglich zu machen.
  • Wenn man zu jedem Spaltenpaar in 5 eine feste Zahl Modulo-2-addiert, ergibt sich noch eine weitere eineindeutige Transformation. In 10 wurde zum Beispiel die feste Zahl 001 zur ersten und zweiten Spalte in 5 Modulo-2-addiert. Nun wird 010 als Klartextwort in ein verschlüsseltes Wort 111 abgebildet, wohingegen im Beispiel in 8 010 in 110 abgebildet wird.
  • Ein Beispiel einer Blockdarstellung einer Verschlüsselung, die einen Festwortaddierer verwendet, kann 13 entnommen werden. Diese Abbildung ist mit 8 identisch, mit der Ausnahme, daß der Festwortaddierer 32 eingebunden wurde, um das Festwort (im Beispiel 001) zur Ausgabe des Speichers 30 zu addieren, was dem Wert in der gleichen Zeile in der zweiten Spalte wie 010 der ersten Spalte entspricht. Somit addiert der Festwortaddierer lediglich das Festwort (im Beispiel 001) zum Wert der Spalte 2, nachdem das Klartextwort dazu Modulo-2-addiert wurde, um die verschlüsselten Daten zu erhalten. Erneut wird für das Beispiel bei Verwendung, der Klardaten von 010 als Adresse für den Speicher 22 die Ausgabe des Speichers 001 sein. Bei Verwendung der gleichen Verschiebung 010 wie im Beispiel in 8, wird PS = 2 zu 001 addiert, um eine Adresse von 011 in Speicher 30 bereitzustellen. Dies führt zur Ausgabe 100 von Speicher 30, zu der der Festwortaddierer das Festwort 001 Modulo-2-addiert, was 101 ergibt. Diese Modulo-2-Addition zum Klartextwort 010 ergibt das verschlüsselte Wort 111, wie in 10 gezeigt.
  • In 14 ist eine Blockdarstellung zur Entschlüsselung gezeigt, die der Blockdarstellung zur Verschlüsselung in 13 entspricht. Wie man sehen kann, ist 14 mit 13 identisch (obwohl die Verschiebungen zur Entschlüsselung sich erneut von den Verschiebungen zur Verschlüsselung unterscheiden), mit Ausnahme des Festwortaddierers, der das Festwort ebenfalls zu den verschlüsselten Daten Modulo-2-addiert, bevor diese an Speicher 22 angelegt werden. Diese Modulo-2-Addition ist im Wesentlichen die zweite Modulo-2-Addition des Festwortes, da eine erste Modulo-2-Addition des Festwortes in 11 durchgeführt wurde, um das verschlüsselte Wort zu erhalten. Da eine zweite Modulo-2-Addition desselben Wortes die erste Modulo-2-Addition in der Wirkung aufhebt, so daß danach das Festwort zu den verschlüsselten Daten in 12 Modulo-2-addiert ist, kann das Ergebnis dieser Modulo-2-Addition folglich mit den Gleichungen in 10 zu Entschlüsselungszwecken verwendet werden. Somit ergibt zum Beispiel die Verwendung des verschlüsselten Wortes 111 des Beispiels in 13 111 ⊕ 001 = 110 die Adresse in Speicher 22 in 14. Dies ergibt eine Speicherausgabe von 100, zu der der Wert S = 6 oder 110 addiert wird. 100 + 110 = 1010 ⇒ 011 mit Übertrag auf die nächste Zeile. Dies wiederum ergibt eine Adresse 011 in Speicher 30 oder eine entsprechende Ausgabe 100, zu der 110, die Adresse in Speicher 22, Modulo-2-addiert wird, um die Klartextdaten 010 wiederherzustellen. Während der Festwortaddierer in 13 und 14 ein Festwort 001 verwendete, kann natürlich auch jedes andere 3-Bit Festwort verwendet werden oder was das betrifft, kann das Festwort von Zeit zu Zeit mit oder einzeln und getrennt von Variationen der Verschiebung variiert werden. Ein Festwort 000 reduziert im Wesentlichen die Prozessoperation des Systems zu der in 8 und 9.
  • Offensichtlich können die in Bezug auf 6, 7, 11 und 12 beschriebenen Verfahren leicht mit einem auf einem Mikroprozessor basierenden System mit Programmsteuerung ausgeführt werden. Alternativ kann der Speicher leicht in einem Nur-Lese-Speicher, der im Wesentliche als Nachschlagetabelle verwendet wird, vorprogrammiert werden, und die Modulo-2-Addierer können leicht herkömmliche Addiererschaltungen sein, so daß mindestens die Hauptbestandteile eines Verschlüsselungs- und Entschlüsselungssystems entweder mit diskreten Hochgeschwindigkeitsbauelementen oder durch einen kundenspezifischen Chip umgesetzt werden können. Das Verschiebungsprogramm kann ebenfalls verschiedene Formen in Abhängigkeit davon annehmen, wie oft eine Verschiebung gewünscht ist, dem Umfang in welchem die Verschiebungsordnung selbst variiert wird etc., wobei auf einem Mikroprozessor basierende Ausführungen, integrierte Schaltungen oder andere Ausführungen, leicht realisierbar sind, einschließlich Schieberegisterausführungen, falls gewünscht.
  • II. ÜBERBLICK ÜBER NICHT-LINEARISIERUNG
  • Nicht-Linearität in diesem Sinn bedeutet, daß die Abbildungen vom Klartext in den verschlüsselten Text (und vom verschlüsselten Text in den Klartext) mit der Operation der Bitweisen Modulo-2-Addition nicht-linear sind. In diesem Zusammenhang wurde herausgestellt, daß 1 eine mehrdeutige Transformation einer Menge von Drei-Bit Binärzahlen in eine andere Menge von Binärzahlen durch eine Modulo-2-Addition darstellt. Dieses spezielle Beispiel bildet die acht möglichen Werte der Drei-Bit Zahlen in der ersten Spalte durch Modulo-2-Addition auf sechs Drei-Bit Zahlen in Spalte 3 ab, die sechs der acht möglichen Kombinationen darstellen und von denen zwei (100 und 011) jeweils zweimal wiederholt werden. Da zwei Drei-Bit Zahlen (010 und 101) auf die gleiche Drei-Bit Zahl (100) abgebildet werden und zwei andere Drei-Bit Zahlen (100 und 110) auf die gleiche Drei-Bit Zahl (010) abgebildet werden, hat die Umkehrabbildung Mehrdeutigkeiten, die die in 1 dargestellten Abbildungen für Verschlüsselungs- und Entschlüsselungszwecke ungeeignet machen.
  • Andererseits stellen 2 bis 5 Gleichungsmengen zur Verschlüsselung jeder der acht möglichen Drei-Bit Klartextworte (Spalte 1) in ein entsprechendes, eindeutiges, verschlüsseltes Textwort (Spalte 3) bereit. Diese Gleichungen behalten durch den Austausch der Spalten 1 und 3 ihre Gültigkeit und bilden daher mit diesem Austausch die Gleichungen für die entsprechende Entschlüsselung, ebenso wie die Gleichungen vor dem Austausch die Gleichungen zur Verschlüsselung bilden. Jedoch sind die in jeder der 2 bis 5 gezeigten Gleichungsmengen in der Hinsicht linear, daß die Addition zweier beliebiger Gleichungen innerhalb der vorgegebenen Gleichungsmenge (acht Gleichungen für Drei-Bit Zahlen, wie zum Beispiel in 2 bis 5) ebenfalls eine der Gleichungen der Menge ergibt. Während zum Beispiel in 2 die Addition der ersten oder Null-Gleichung zu jeder anderen Gleichung diese andere Gleichung ergibt und daher trivial ist, stellt die Addition der zweiten und dritten Gleichung die vierte Gleichung bereit, die Addition der dritten und vierten Gleichung stellt die zweite Gleichung bereit, die Addition der vierten und fünften Gleichung stellt die achte Gleichung bereit, etc. Selbst wenn man eine Gleichung zu sich selbst Modulo-2-addiert, erhält man eine der acht Gleichungen, nämlich die Nullgleichung, wie es eintreten kann, wenn man mehr als zwei Gleichungen, wie zum Beispiel die Gleichungen zwei, drei und vier, Modulo-2-addiert, da die Ad dition der Gleichungen zwei und drei Gleichung vier ergibt und Gleichung vier zu sich selbst addiert die Nullgleichung ergibt. In diesem Zusammenhang kann das Modulo-2-Addieren von zwei Gleichungen entsprechend als das Addieren jeder größeren Anzahl Gleichungen angesehen werden, da eine von beiden oder beide der addierten Gleichungen als Summe zweier oder mehrerer anderen Gleichungen angesehen werden kann bzw. können. Ferner gibt es keine Kombination von Gleichungen, deren Summe nicht eine andere Gleichung in der vorgegebenen Menge ist. Vom Standpunkt der Kryptanalyse ist am Bedeutsamsten, daß, wenn die richtigen drei der sieben, von der Nullgleichung verschiedenen Gleichungen vorgegeben sind, die verbleibenden vier Gleichungen durch die entsprechenden Summen der Kombinationen der drei bekannten Gleichungen bestimmt werden können. Während zum Beispiel die Kombinationen der Summen der Gleichungen zwei, drei und vier in 2 nicht zur Erzeugung der restlichen Gleichungen verwendet werden können, können die Gleichungen zwei, drei oder vier und fünf, sechs, sieben oder acht dazu verwendet werden. Werden zum Beispiel die Gleichungen zwei, vier und acht genommen, stellt die Summe der Gleichungen zwei und vier Gleichung drei bereit, die Summe der Gleichungen zwei und acht stellt Gleichung sieben bereit, die Summe der Gleichungen zwei, vier und acht stellt Gleichung sechs bereit und die Summe der Gleichungen vier und acht stellt Gleichung fünf bereit. Die vorangehende Regel gilt natürlich ebenso für die Verschlüsselung von Worten anderer Bit-Längen. Die erzeugenden Gleichungen der sechzehn Gleichungen zur Verschlüsselung eines 4-Bit Wortes werden durch Modulo-2-Addieren verschiedener Kombinationen von vier unabhängigen Gleichungen gebildet.
  • Mit Bezug auf die Gleichungsmenge in 10 stellt das Addieren zweier beliebiger Gleichungen nicht eine dritte Gleichung der Menge bereit. Jedoch stellt das Addieren von 001 zu jeder der Spalten der linken Seite in 10 erneut die Nullgleichung und den Rest der Gleichungsmenge in 5 bereit, deren Menge allgemein durch beliebige drei unabhängige Gleichungen der Menge geeignet ist. Es ist diese Fähigkeit, den Rest der Gleichungen von einer Basismenge unabhängiger Glei chungen zu erzeugen, die durch die vorliegende Erfindung verhindert werden soll. Die vorliegende Erfindung tut dies in einer geordneten und logischen Art und Weise, so daß nicht nur die Basismenge linearer Gleichungen von Zeit zu Zeit oder dynamisch in den verschiedenen, in der ursprünglichen Patentanmeldung offenbarten Ausführungen gewechselt werden kann, sondern auch die sich ergebende Basismenge von Zeit zu Zeit oder dynamisch in einem wechselndem Umfang und in wechselnden Kombinationen nicht-linearisiert werden kann, was eine Kryptanalyse noch viel schwieriger als bisher macht.
  • Es wird erneut auf 2 Bezug genommen; wenn man die Reihenfolge der Gleichungen neu anordnet, gibt es natürlich keine Änderung in der Abbildung der Zahlen in Spalte 1 in die Zahlen in Spalte 3. Demzufolge können die Gleichungen in 2, wie in 15 gezeigt, umgeordnet werden. Es wird insbesondere angemerkt, daß bei Vernachlässigung der Nullgleichung die erste in Spalte 2 erscheinende Zahl (001), in der nächsten Zeile von Spalte 1 auftritt, die zweite Zahl in Spalte 2 (111) in der dritten Zeile von Spalte 1 auftritt etc. Der sich in der letzten Zahl in Spalte 2 (101) ergebende Übertrag auf die nächste Zeile fällt auf die erste Zeile von Spalte 1 (erneut wird die Nullgleichung vernachlässigt). Der sich ergebende Aufbau der Gleichungen ist in 15 gezeigt, wo x1 001 und xm 101 ist. Jede Gleichungsmenge für Worte (Zahlen) jeder Bit-Länge, die eine Nullgleichung und 2n–1 von Null verschiedene Gleichungen aufweist, kann ohne jede Änderung der dadurch definierten Abbildung so angeordnet werden, da eine derartige Anordnung nur eine Änderung der Reihenfolge des Erscheinens der Gleichungen und keine Änderung irgendeiner Gleichung selbst darstellt.
  • Bestimmte Gruppen derartiger Gleichungen können durch Neuanordnung der in Spalte 1 und 2 erscheinenden Worte verändert werden, um entsprechende neue Modulo-2-Additionsgleichungen bereitzustellen, die dann für die ursprüngliche Gleichungsgruppe innerhalb der ursprünglichen Gleichungsmenge substituiert, immer noch eine eineindeutige Abbildung bewahren und somit für die Verwendung zur Verschlüsselung und Entschlüsselung geeignet sind. In dieser Hinsicht wird die eineindeutige Abbildung bewahrt, da die Anordnung der in Spalte 1 und 2 erscheinenden Mehr-Bit Worte der ausgewählten Gleichungsgruppe verändert wird, aber nicht die Worte selbst, so daß die Wortgruppe, die abgebildet wird, und die Wortgruppe, in die sie durch die ausgewählten Gleichungen abgebildet werden, nicht verändert wurden, obwohl innerhalb dieser zwei Gruppen verändert wurde, welches Wort in Spalte 1 in welches Wort in Spalte 3 abgebildet wird. Das Nettoergebnis dieser veränderten Gleichungen ist, daß diese nicht mehr länger lineare Erweiterungen der unveränderten Gleichungen sind, das heißt, daß diese nicht mehr länger durch die Addition zweier oder mehrerer unveränderter Gleichungen erzeugt werden können. Dies löst folglich die Linearität der ursprünglichen Menge auf. Der mögliche Umfang dessen wird nachfolgend behandelt und macht Kryptanalyse, wie gewünscht, noch schwieriger.
  • Es wurde gezeigt, das unter bestimmten Bedingungen Gleichungsgruppen innerhalb einer gegebenen Menge verändert und zum Ersetzen der entsprechenden ursprünglichen Gleichungsgruppe innerhalb der ursprünglichen Menge verwendet werden können, um eine eineindeutige Abbildung der vollständigen Menge beizubehalten und gleichzeitig die lineare Eigenschaft der Gleichungsmenge aufzulösen, wie hier zuvor beschrieben. Das Grundkonzept besteht darin, Summierungen aufeinanderfolgender Zeilentripel in der ursprünglichen Gleichungsmenge vorzunehmen. Nicht-Linearisierung durch Übernahme derartiger aufeinanderfolgender Zeilentripel funktioniert, wenn eine Menge von nur drei oder vier aufeinanderfolgenden Zeilen der ursprünglichen Menge verwendet wird. Wenn drei aufeinanderfolgende Zeilen verwendet werden, werden tatsächlich vier Zeilen modifiziert, und zwar die drei aufeinanderfolgenden Zeilen der ursprünglichen Menge zusammen mit einer vierten Zeile, die der Modulo-2-Vektorsumme der drei aufeinanderfolgenden Zeilen entspricht. Die Modifikation kann dadurch erreicht werden, daß zu jeder der vier Zeilen die folgende Gleichung vektoriell addiert wird: (x1 ⊕ x2) ⊕ (x1 ⊕ x2) = ⊖ 8)
  • Wenn vier aufeinanderfolgende Zeilen der ursprünglichen Menge linearer Gleichungen verwendet werden, werden sechs Zeilen der ursprünglichen Menge Gleichungen modifiziert, und zwar die vier aufeinanderfolgenden Zeilen zusammen mit der Zeile, die die Vektorsumme der ersten drei der vier aufeinanderfolgenden Zeilen darstellt, und die Zeile, die der Vektorsumme der letzten drei der vier aufeinanderfolgenden Zeilen der ursprünglichen Menge entspricht. Die Modifikation kann in diesem Fall erhalten werden, indem Nachfolgendes zu den entsprechenden sechs Zeilen vektoriell addiert wird:
  • Figure 00250001
  • Die Form der obigen Gleichungen weist darauf hin, daß die Nicht-Linearisierung funktioniert, wenn man die erste, zweite, dritte und eine weitere Zeile der ursprünglichen Menge linearer Gleichungen verwendet, oder wenn man alternativ die erste, zweite, dritte, vierte und zwei andere Zeilen der ursprünglichen Menge linearer Gleichungen verwendet. Da das Verfahren funktioniert, weil die Gleichungen in der ursprünglichen, zur Modifikation ausgewählten Menge innerhalb ihrer selbst linear sind, können die einmal durch die Verfahren der vorliegenden Erfindung nicht-linearisierten Gleichungen kein weiteres Mal als Teil des Nicht-Linearisierungsprozesses verwendet werden. Dies würde dazu tendieren, darauf hinzuweisen, daß nur vier oder sechs Gleichungen durch diesen Prozess nicht-linearisiert werden können, was natürlich eine unwesentliche Anzahl der Gesamtgleichungen größerer Wortgrößen (zum Beispiel erfordert ein 4-Bit Wort 16 Gleichungen, ein 8-Bit Wort 256 Gleichungen, etc.) wäre. Es wird erneut auf 15 Bezug genommen. Es ist jedoch zu beachten, daß es beliebig ist, welches Wort oder welche Zahl in Spalte 2 von den von Null verschiedenen Zeilen als x1 ausgewählt wird. Wenn man zum Beispiel 001 als x1 an stelle von 001 auswählt, wird die dritte, von Null verschiedene Zeile die erste, die vierte, von Null verschiedene Zeile die zweite, die fünfte, von Null verschiedene Zeile die dritte, die sechste, von Null verschiedene Zeile die vierte, die siebente, von Null verschiedene Zeile die fünfte, die erste, von Null verschiedene Zeile die sechste etc. Im Wesentlichen werden die unteren fünf Gleichungen nach oben verschoben und die oberen zwei von Null verschiedenen Gleichungen auf die nächste Zeile übertragen, mit dem Ergebnis, daß die Gleichungen selbst nicht verändert werden, auch nicht die Anordnung der Gleichungen, jedoch stattdessen nur der Startpunkt in dieser Anordnung verändert wird. Eine derartige Gleichungsanordnung wurde in 3 gezeigt, in der x1 = 100 und xm (=x7) = 011 ist. Wenn drei aufeinanderfolgende Zeilen und die Zeile, die der Summe der drei aufeinanderfolgenden Zeilen entspricht, modifiziert (nicht-linearisiert) werden sollen, können beliebige drei aufeinanderfolgende Zeilen ausgewählt werden. Dies ist nur durch die Tatsache begrenzt, daß keine der drei ausgewählten, auch nicht die Zeile, die der Summe der drei entspricht, als Ergebnis einer früheren Auswahl vorher nicht-linearisiert worden sein kann. Wenn in gleicher Weise vier aufeinanderfolgende Zeilen zuzüglich die zwei hier zuvor beschriebenen Summenzeilen ausgewählt werden, können beliebige vier aufeinanderfolgende Zeilen verwendet werden, wenn erneut sichergestellt ist, daß keine der vier ausgewählten, auch nicht die zwei Summenzeilen, vorher durch diesen Prozess nicht-linearisiert worden sein können. Um die Gleichungen zur Nicht-Linearisierung zu verallgemeinern, muss man nur x1 als Wert in der zweiten Spalte der ersten der drei oder vier ausgewählten aufeinanderfolgenden Zeilen in Betracht ziehen und die Werte in jeder Spalte entsprechend neu nummerieren.
  • Es sei angemerkt, daß der Nicht-Linearisierungsprozess auf den von den Nullgleichungen verschiedenen Gleichungen ausgeführt wird. Da es 2n – 1 derartiger Gleichungen gibt, wobei das n die Bit-Länge des verwendeten Wortes ist, ist notwendigerweise eine ungerade Anzahl von Gleichungen zur Nicht-Linearisierung verfügbar, unabhängig vom Wert von n, wohinge gen der Nicht-Linearisierungsprozess jeweils eine gerade Anzahl (4 oder 6) Gleichungen nicht-linearisiert (offensichtlich können in einem Hochgeschwindigkeitssystem Einrichtungen zum gleichzeitigen Nicht-Linearisieren unterschiedlicher nicht-überschneidender Gruppen einer gegebenen Menge linearer Gleichungen bereitgestellt werden, da die Nicht-Linearisierungsprozesse für nicht-überschneidende Gruppen vollkommen unabhängig voneinander sind, ungeachtet dessen, welcher Prozess verwendet wird). Somit ist klar, daß nicht alle Gleichungen jeder gegebenen linearen Menge nicht-linearisiert werden können. Infolgedessen ergibt sich eine Frage, wie viele der Gleichungen nicht-linearisiert werden können und ob es eine logische Art und weise des Auswählens der Gleichungen zur Nicht-Linearisierung gibt. Während im Allgemeinen nicht alle Gleichungen nicht-linearisiert werden können, kann normalerweise für Wortgrößen von vier oder mehr Bits die überwiegende Mehrheit der Gleichungen nicht-linearisiert werden, die verbleibenden nicht-linearisierten Gleichungen von geringer Bedeutung werden übrig gelassen und sind vielleicht, wenn überhaupt etwas, aus Sichtweise der Kryptanalyse möglicherweise irreführend. Weiterhin sei natürlich angemerkt, daß ein Variieren von Zeit zu Zeit oder ein dynamisches Variieren der Anzahl und Bezeichnung der zu nicht-linearisierenden Zeilen und der verwendeten Nicht-Linearisierungstechnik das Kryptanalyseproblem weiter verkompliziert, wobei eine derartige zeitweise variierende oder dynamisch variierende Nicht-Linearisierung vom Standpunkt der Hardware (oder Standpunkt der Software, wenn unter Softwaresteuerung ausgeführt) nicht so schwer ist, da die Startmenge linearer Gleichungen (welche selbst von Zeit zu Zeit oder dynamisch variiert werden können, wie hier zuvor beschrieben) von einer einfachen und leicht variablen Erzeugungsfunktion erzeugt werden kann, welche Gleichungsmenge nicht-linearisiert werden kann, sowohl in Art und Weise als auch Umfang der Verwendung logischer Prozesse und der Art und Weise und Umfang, in der jede selbst von Zeit zu Zeit oder dynamisch variiert werden kann.
  • Letztendlich können die Nicht-Linearisierungsgleichungen durch Modulo-2-Addieren eines Offsets zu jeder der ersten zwei Spalten weiter modifiziert werden. Dies entspricht natürlich dem Modulo-2-Addieren des Offsets zu sich selbst, wobei dies natürlich 0 ist und deshalb die Zahlen in der dritten Spalte nicht beeinflusst. Als spezielles Beispiel stellt 17 die Gleichungsmenge als durch die Addition des Offsets 0101 zur ersten und zweiten Spalte modifiziert dar.
  • 16 zeigt eine Blockdarstellung typischer Einrichtungen zur Verschlüsselung und Entschlüsselung gemäß der vorliegenden Erfindung der Stamm-Patentanmeldung. Wie aus 16 entnommen werden kann, ist es letztendlich zweckmäßig, eine Nachschlagetabelle in Form eines Lese-/Schreib-Speichers zu verwenden, wobei der Klartextdatenblock oder der verschlüsselte Textdatenblock (beide n Bit lang) parallel als die Adresse für den Speicher angelegt werden und die an der entsprechenden Adresse gespeicherten Daten der Verschlüsselung oder Entschlüsselung des jeweiligen Datenblocks entsprechen. Zu diesem Zweck kann es zweckmäßig sein, einen Speicher mit doppeltem Adressraum zu verwenden, der entweder für eine Verschlüsselung oder Entschlüsselung (z.B. n + 1 Adress-Bits) erforderlich ist, so daß der Adressbereich des Speichers ein Bit breiter ist, als der ihm bearbeitete Datenblock. Auf diese Art und Weise kann ein Bit der Speicheradresse dazu verwendet werden, zu kennzeichnen, ob die Operation eine Verschlüsselungs- oder eine Entschlüsselungsoperation sein soll. Als ein spezielles Beispiel kann das höchstwertige Bit der Speicheradresse 0 sein, um einen Entschlüsselungsprozess zu kennzeichnen oder eine 1, um einen Verschlüsselungsprozess zu kennzeichnen, wobei die Entschlüsselungsdaten in der unteren Hälfte des Adressbereichs gespeichert werden und die Verschlüsselungsdaten im oberen Adressbereich des Speichers gespeichert werden. Auf diese Weise kann, wie gewünscht, sowohl eine Verschlüsselung als auch eine Entschlüsselung durch eine Steuerung des einzelnen Bits von der Nachschlagetabelle ausgeführt werden und eine Verschlüsselung und eine Entschlüsselung eines n-Bit Blocks kann in einem einzigen Speicherzyklus ausgeführt werden.
  • Unter der Annahme, daß die Abbildungen zur Verschlüsselung und Entschlüsselung periodisch und/oder dynamisch geändert werden sollen, muss irgendein Verfahren zur Änderung des Inhalts der Nachschlagetabelle bereitgestellt werden. Während dies durch besondere Hardware ausgeführt werden kann, ist es zweckmäßig, das Gleiche durch einen entsprechenden programmgesteuerten Prozessor auszuführen, da die Änderung des Verschlüsselungs- und Entschlüsselungsverfahrens normalerweise weitaus weniger häufig vorkommen wird, als der Verschlüsselungs- und Entschlüsselungsprozess selbst ausgeführt werden muss. Entsprechend muss das Gleiche normalerweise nicht mit derselben Geschwindigkeit wie die Verschlüsselung und Entschlüsselung selbst ausgeführt werden. Folglich kann der in 16 gezeigte nicht-lineare dynamische Substitutionsgenerator mit einer Programmsteuerung arbeiten, die auf verschiedenen Eingaben basiert. Insbesondere kann die Gleichung zur Verschlüsselung leicht mit einer Programmsteuerung erzeugt werden, der bestimmte elementare Informationen, die jene definieren, vorgegeben werden, so zum Beispiel die Bitgröße (n) der Blocksubstitution, die Basismenge der n linear unabhängigen Zahlen, die Erzeugungsfunktion, die Anfangsgleichung der linearen Menge, auf der die Nicht-Linearisierung beginnt, und die Anzahl der durch die Nicht-Linearisierungsfunktion auszuführenden Iterationen.
  • Nachdem der Offset auf die nicht-linearisierten Gleichungen angewendet wurde, wird jede Zahl oder jeder Block in Spalte 3 in dem Teil der Nachschlagetabelle gespeichert, der der Verschlüsselung an einer Adresse zugewiesen ist, die gleich dem Block in Spalte 1 der entsprechenden Zeile ist. Wenn somit eine Zahl oder ein Block in Spalte 1 als Adresse zugewiesen ist, ist die aus dem Speicher gelesene Zahl die Zahl in Spalte 3 für die Zeile, die den entsprechenden verschlüsselten Block darstellt. Für den Entschlüsselungsteil der Tabelle ist der Prozess umgekehrt, indem die Blöcke in Spalte 3 als Speicheradresse verwendet werden (besser als Adreßteile, wobei die vollständige Adresse das Adress-Bits umfaßt, das die Entschlüsselung kennzeichnet) wobei die bei diesen Adressen gespeicherten Daten, die entsprechenden Blöcke in Spalte 1 sind. Somit wird während der Entschlüsselung in den Speicher an der durch den Verschlüsselungsblock definierten Adresse eingesprungen, wobei die an der entsprechenden Adresse gespeicherten Daten als die Ausgabe bereitgestellt werden, die dem zugehörenden Klartextblock entspricht.
  • Offensichtlich können der Verschlüsselungs- und Entschlüsselungsprozess vollständig durch Programmsteuerung ausgeführt werden, da beide Prozesse lediglich logische Manipulationen umfassen, denen bestimmte (variable) Anfangsinformationen vorgegeben werden. Jedoch würde die Geschwindigkeit, mit der die Verschlüsselung und Entschlüsselung ausgeführt werden könnte, sehr stark reduziert werden, da der Prozessor durch das ständig wiederholte Neuerzeugen derselben Verschlüsselungs- und Entschlüsselungsgleichungen zunehmend ausgelastet würde. Im Vergleich dazu gestattet die Verwendung einer Nachschlagetabelle eine einmalige Bestimmung der vollständigen Menge der Verschlüsselungs- und Entschlüsselungsgleichungen, deren Informationen für jeden zu verschlüsselnden und entschlüsselnden Datenblock fortlaufend in einem einzelnen Speicherzyklus verfügbar sind, bis zu dem Zeitpunkt, an dem die Gleichungen geändert werden müssen
  • III. MODIFIKATIONEN DER LINEAREN ORTHOMORPHISMEN
  • In diesem Abschnitt werden bestimmte Modifikationen des vorstehend in den Abschnitten 2 und II beschriebenen linearen Orthomorphismus bereitgestellt.
  • Ohne Beschränkung der Allgemeingültigkeit und unter Verwendung der zusätzlichen Identität θ als Festpunkt kann jeder Orthomorphismus maximaler Länge als eine Gleichungsmenge geschrieben werden:
    Figure 00310001
    mit m = 2n – 1. R(xk–1) = xk und S(xk–1) = zk sind zwei von drei möglichen Abbildungen. Konventionell wurde S(x) als unsere kryptographische Abbildung oder Blocksubstitution verwendet.
  • Im Fall eines linearen Orthomorphismus muss θ der Festpunkt sein und falls maximal, nehmen die darstellenden Gleichungen die sehr einfache Form an:
    Figure 00310002
  • Man kann nicht-linearen Orthomorphismus durch geeignetes Modifizieren der linearen Versionen herstellen. Man wähle irgendeine n-Bit Zahl w ≠ θ und betrachte die Gleichung w ⊕ w = θ als einen Vektor. Man addiere w ⊕ w = θ vektoriell zu jeder der Gleichungen, die den linearen Orthomorphismus in Gleichung (11) darstellen, und man erhält:
  • Figure 00320001
  • Jede Spalte besteht aus allen möglichen n-Bit Zahlen und die Abbildung S(xk–1 ⊕ w) = xk–p ist affin. Um noch allgemeiner nicht-linear zu sein, würde das Array linearer Gleichungen in Teilmengen unterteilt und auf verschiedene Art und Weisen modifiziert werden. Eine einzelne Gleichung der a-ten Zeile im linearen Orthomorphismus: xa–1 ⊕ xa = xa–p (13)muss modifiziert werden, um xc–1 ⊕ xb = xa–p (14)zu werden, wobei xc–1 in der linken Spalte, Zeile c auftritt und xb in der mittleren Spalte, Zeile b im ursprünglichen linearen Orthomorphismus auftritt. In diesem Fall ist: w = (xa–1 ⊕ xc–1) = (xa ⊕ xb) (15)
  • Dies wird verwendet, um die Gleichung in Zeile a auf die gleiche Art und Weise wie diejenigen in Gleichung 12 zu transformieren.
  • Die gesamte Menge von 2n Gleichungen im linearen Orthomorphismus ist verfälschbar und aus Gleichung (10) ergibt sich, daß der kleinste Kandidat für eine verfälschbaren Menge aus drei Zeilen oder Gleichungen besteht. Jedoch kann ein li nearer Orthomorphismus, der eine verfälschbare Menge von drei Gleichungen enthält, nicht für Kryptographie geeignet sein, da er nicht maximal sein würde.
  • Theorem 1: Es kann nachgewiesen werden, daß ein linearer Orthomorphismus auf Z2 n, der eine verfälschbare Menge von drei Gleichungen aufweist, einen 3- Zyklus in der Permutation hat, die er darstellt.
  • Die folgende Analyse beweist das vorhergehende Theorem 1. Eine verfälschbare Menge von drei Gleichungen in einem linearen Orthomorphismus:
    Figure 00330001
    kann durch eine Matrix von Indizes dargestellt werden:
  • Figure 00330002
  • Nach einer Nicht-Linearisierung (Verfälschung) sind nur zwei Matrizen von Indizes möglich, da die Anordnung der Zeilen unerheblich ist:
  • Figure 00330003
  • Wird die Matrix auf der linken Seite ausgewählt, sind die entsprechenden verfälschten Gleichungen:
  • Figure 00330004
  • Zwei beliebige Gleichungen mit den Indizes a und b können ausgewählt werden, jedoch gibt es drei Bedingungen für Gleichung c, die widersprüchlich sein können. Im Nachfolgenden wird angenommen, daß eine derartige Gleichung in dem linearen Array existiert. Da das lineare Array von Gleichungen eine Gruppe ist, gibt es eine vierte Gleichung in der Gruppe mit Index d, die die Summe der ursprünglichen drei ist: xd = xa ⊕ xb ⊕ xc (20)und xd–1 ⊕ xd = xd–p (21)
  • Diese vier Gleichungen in dem linearen Array bilden eine Nebenklasse, die aus einer Untergruppe der Ordnung 4 in dem linearen Array abgeleitet ist. Die Untergruppe kann durch Addieren einer der vier Gleichungen der Nebenklasse zu den anderen drei, z.B. Gleichung a, gefunden werden; man erhält:
  • Figure 00340001
  • Unter Verwendung von Gleichung 19 wird die Untergruppe:
  • Figure 00340002
  • Die letzten drei Gleichungen erscheinen aufeinanderfolgend in der normalisierten Form des linearen Arrays (Gleichung 19) und bilden einen 3-Zyklus. Wenn die andere Matrix von Indizes verwendet wird, können die linken und mittleren Spalten ausgetauscht werden, wodurch die Gleichheit weiter bewahrt und das gleiche Ergebnis erhalten wird.
  • Das vorhergehende Theorem folgt außerdem der Erkenntnis, daß in einem maximalen linearen Array der Blockgröße n alle n aufeinanderfolgenden Zeilen linear unabhängig sind. Da eine Untergruppe der Ordnung 4 nicht drei linear unabhängige Zeilen haben kann, kann das Array nicht maximal sein.
  • Wird jetzt eine Nebenklasse von vier Zeilen a, b, c und d betrachtet und die ersten drei wie oben modifiziert, ist das Ergebnis:
  • Figure 00350001
  • Bei Vergleich der Gleichung 24 mit der linearen Version (Gleichung 11) können die folgende mischenden Transformationen abgeleitet werden:
  • Figure 00350002
  • Da wc = wa ⊕ wb ist, ist die Menge der mischenden Transformationen {θ, wa, wb, wc} eine Gruppe.
  • Beliebige drei aufeinanderfolgenden Zeilen zuzüglich ihrer Summe bilden eine verfälschbare Menge. Dies wird verallgemeinert, um beliebige zwei von Null verschiedene Zeilen zu entnehmen, xa–1 ⊕ xa = xa–p xb–1 ⊕ xb = xb–p (26)
  • Auffinden der dritten Zeile c, bestimmt durch: xc–1 ⊕ xa–p = xb (27) und die vierte Zeile d, bestimmt durch: xd = xa ⊕ xb ⊕ xc (28)
  • Folglich bestimmen zwei beliebig ausgewählte, von Null verschiedene Zeilen im linearen, orthomorphen Gleichungsarray zwei verfälschbare Mengen von vier Gleichungen. Die Zweite dieser Mengen wird durch die Auswahl der dritten Zeile c bestimmt durch: xc–1 ⊕ xa = xb–p ( 29)
  • In jedem Fall transformiert die mischende Transformation w = xa ⊕ xb diese Menge von vier Gleichungen in ein 4-Gleichungssegment eines nicht-linearen Orthomorphismus. Die ursprünglichen vier Gleichungen sind eindeutig das relative Komplement einer Untergruppe der Ordnung 4 oder äquivalent eine Nebenklasse, die von einer derartigen Untergruppe abgeleitet ist. Wie oben in Theorem 1, kann die Untergruppe durch Addieren einer der vier Gleichungen zu jeder von ihnen, z.B. Zeile a, abgeleitet werden:
  • Figure 00360001
  • Da xa–1 ⊕ xc–1 = xa ⊕ xb ist, sind im ersten Fall die zweite und dritte Gleichung aufeinanderfolgend im linearen Array. Ein ähnliches Ergebnis gilt im zweiten Fall. Folglich reduziert sich der Prozess des Auffindens von vier verfälschbaren Gleichungen auf das Auffinden einer beliebigen Nebenklasse in der Nebenklassenzerlegung von Z2 n × Z2 n × Z2 n, die durch eine Untergruppe der Ordnung 4 mit zwei aufeinanderfolgenden Zeilen definiert ist. Noch allgemeiner sei Gn = Z2 n × Z2 n × Z2 n ein maxi maler linearer Orthomorphismus und es sei G0 k = Lk × Mk × Rk eine Untergruppe der Ordnung 2k. Die Untergruppe hat die Form:
    Figure 00370001
    mit s = 2k – 1. Eine Nebenklasse kann durch Entnahme einer beliebigen Zeile in Gn \ G0 k, z. B. xa–1 ⊕ xa = xa–p, und Addition zu jeder Zeile von G0 k gebildet werden, man erhält: Ga k = (xa–1 Lk) × (xa Mk) × (xa–p Rk) (32)mit xa Mk = {xa ⊕ x1 | x1 ε Mk}. Wenn w eine mischende Transformation ist und Zeile i in Ga k ist, dann ist: (xi–1 ⊕ w) ⊕ (xi ⊕ w) = xi–p (33)xi–1 ε xa–1 Lk und xi ε xa Mk. Es muss außerdem zutreffen, daß xi–1 ⊕ wε xa–1 Lk und xi ⊕ wε xa Mk. Dies tritt nur dann ein, wenn w ε Lk ∩ Mk. In ähnlicher Weise wenn Zeile i in G0 k ist, da in diesem Fall xi–1 ε Lk und xi ε Mk. Die Gruppe mischender Transformationen, die durch Ga k bestimmt ist, ist Wk = Lk ∩ Mk. Unter bestimmten Umständen ist Wk = {θ} und es ist keine konstruktive Verfälschung möglich. Das Vorhergehende wird nachstehend in Abschnitt IV weiter beschrieben.
  • Es gibt verfälschbare Mengen, die keine Nebenklassen oder relative Komplemente von Untergruppen sind. Zum Beispiel wird eine verfälschte Menge durch Entnahme von vier aufeinanderfolgenden Gleichungen zuzüglich der Summe der ersten drei und der letzten drei erzeugt:
    Figure 00380001
    wobei xq = x1 ⊕ x2 ⊕ x3 etc., und die Mischer w1 = x1 ⊕ x2, w2 = x1 ⊕ x3 und w3 = w1 ⊕ w2 sind. Zwei weitere Zeilen können addiert werden unter Verwendung von: xe = x1 ⊕ x3 ⊕ x4 xf = X1 ⊕ x2 ⊕ x4 (35)
  • Die sich ergebenden acht Gleichungen bilden eine Nebenklasse, von der leicht gezeigt werden kann, daß sie von einer Untergruppe der Ordnung 8 mit einer Menge von drei aufeinanderfolgenden Zeilen und einer Menge von zwei aufeinanderfolgenden Zeilen abgeleitet ist.
  • Obwohl eine konstruktive Verfälschung nicht-lineare Segmente bereitstellt, die so aufgebaut werden können, daß sie einen nicht-linearen Orthomorphismus bilden, stellt sich die Frage, ob es irgendeine Nicht-Linearität gibt oder nicht, die nicht auf diese Art erhalten werden kann.
  • Theorem 2: Im Allgemeinen kann jeder nicht-lineare Orthomorphismus maximaler Länge von einem linearen (automorphen) Orthomorphismus durch das Verfahren der konstruktiven Verfälschung abgeleitet werden.
  • Das vorhergehende Theorem wird durch die nachfolgende Analyse nachgewiesen. Ohne Beschränkung der Allgemeingültigkeit kann angenommen werden, daß θ der Festpunkt ist. Die normalisierte Form für jeden nicht-linearen Orthomorphismus maximaler Länge ist in Gleichung 11a gezeigt. Die n-Bit Zahlen in der rechten Spalte können so permutiert werden, daß die neue Anordnung der Permutation ein linearer Orthomorphismus ist: (θ) (z1z, z2, ..., zm) (θ) (u1, u2...., um) (36)
  • Dies kann auf vielen Wegen durch die Anwendung einer linearen Erzeugungsfunktion, d.h. einem primitivem Polynom, auf eine vollständige, linear unabhängige Menge der zi durchgeführt werden. Folglich ist u1 = zj, wobei i = f(j) die obige Permutation darstellt. Dieselbe Permutation kann auf das Gleichungsarray in Gleichung 11a angewendet werden, ohne die nicht-lineare orthomorphe Abbildung S(xk–1) = zk zu ändern. Jedoch definiert jetzt die {ui} Permutation einen linearen Orthomorphismus. Das Nettoergebnis ist eine duale Menge von m = 2n – 1 Gleichungen der Form: xj–1 ⊕ xj = zj = ui = ui+p–1 ⊕ ui+p (37)
  • Die entsprechenden mischenden Transformationen sind: wi = ui+p–i ⊕ xj–1 = ⊕ xj (38)
  • Die Hauptergebnisse der vorhergehenden Analyse sind, daß eine Nebenklassenzerlegung unter Verwendung spezieller Untergruppen ein wirksames und systematisches Mittel zum Auffinden von Kandidaten zur stückweisen Nicht-Linearisierung ist und daß keine Klasse nicht-linearer Orthomorphismen bei Verwendung einer derartigen Technik übersehen wird. Der nächste Abschnitt stellt Analysen zur Bestimmung der Größe der zu verfälschenden Stücke bereit und wie die Stücke in einen nicht-linearen Orthomorphismus mit wünschenswerten Eigenschaften für die Kryptographie zusammengesetzt werden.
  • IV. KONSTRUKTION VOLLSTÄNDIG NICHT-LINEARER ORTHOMORPHISMEN
  • Abschnitt 3 beschrieb, wie Stücke eines linearen Orthomorphismus (verfälschbare Gleichungsmengen) gefunden werden, die unter sich selbst nicht-linearisiert werden können. Der vorliegende Abschnitt beschreibt, wie die Stücke zu einem vollständigen nicht-linearen Orthomorphismus von 2n – 1 Gleichungen zusammengesetzt werden. Dieser Abschnitt beschreibt weiter, was einen guten nicht-linearen Orthomorphismus und ei ne gute nicht-lineare Substitution begründet. In einem Extremfall kann man eine Nebenklasse der Ordnung 4 modifizieren und die verbleibenden 2n – 4 Gleichungen unmodifiziert lassen. Im anderen Extremfall kann man alle 2n Gleichungen mit einer einzelnen mischenden Transformation modifizieren. Weder eine stückweise lineare noch eine affine Abbildung wären zufriedenstellend. Für jede Abbildung S kann eine Bewertung wie folgt durchgeführt werden: N(x, y) = S(x) ⊕ S(y) ⊕ S(x ⊕ y) = ? (39)
  • Wenn S eine affine Abbildung ist, wird die Summe in Gleichung 39 irgendeine feste Zahl c für alle Paare x, y und c = θ , wenn S linear ist. Folglich wären der Bereich und die Verteilung von N(x,y) ein natürliches Maß der Nicht-Linearität.
  • Theorem 3: Es kann nachgewiesen werden, daß für eine Untergruppe der Ordnung 2k in einem Orthomorphismus maximaler Länge, die Ordnung der entsprechenden Gruppe mischender Transformationen Wk sein wird: 2zk–n ≤ |Wk| ≤ 22k–n
  • Das vorhergehende Theorem wird durch die folgende Analyse nachgewiesen. Die Untergruppe des Orthomorphismus ist G0 k = Lk × Mk × Rk, wobei Lk, Mk und Rk die Untergruppen von Z2 n sind, jeweils mit der Ordnung 2k · Wk ε Lk ∩ Mk. Wenn |Wk| = 2k ist, dann ist Lk = Mk, was impliziert, daß G0 k ein Zyklus im Orthomorphismus ist. Da er maximal ist, ist |Wk| ≤ 2k–1. Lk und Mk weisen je eine Menge von k linear unabhängigen Zahlen auf, die mit {x1, x2,..., xk} ε Lk und {xk+1, xk+2,..., x2k} ε Mk entsprechend bezeichnet sind. (Diese Indizes beziehen sich hier nicht auf Zeilen, wie in Gleichung 11.) Es gibt in jeder Teilmenge von Z2 n maximal n linear unabhängige Zahlen. Wenn somit 2k > n ist, gibt es eine Teilmenge von 2k – n Zahlen in {x1,..., xk, xk+1,..., x2k}, die von den anderen abhängig sind. Ohne Beschränkung der Allgemeingültigkeit kann man annehmen, daß die {xx+1, xk+2...., xn} unabhängig von den {x1,..., xk} sind. Die verbleibenden Zahlen {xn+1,..., x2k} müssen abhängig von {x1,..., xk} ε Lk sein. Es gibt 2k – n derartiger Zahlen, die unabhängig voneinander sind und somit ist {xn+1,..., x2k} ε Lk ∩ Mk.
  • Eine unmittelbare logische Konsequenz des Vorhergehenden ist, daß wenn eine Untergruppe G k des linearen r maximaler Länge Gn die Ordnung
    Figure 00410001
    aufweist, dann G0 k und seine Nebenklassen verfälschbar sind.
  • Eine Nebenklasse der Ordnung 2k wird als „vollständig verfälschbar" bezeichnet, wenn die entsprechende Gruppe der mischenden Transformationen von der Ordnung 2k–1 ist.
  • Es sei Gn eine Menge von 2n Gleichungen, die einen linearen Orthomorphismus auf Z2 n darstellen. Es sei G0 k die Untergruppe von Gn, die wie in Gleichung 31 aus 2k Gleichungen besteht. Es wird angenommen, daß |Wk| = 2k–1 ist . Mit den vorhergehenden Annahmen und Definitionen nimmt eine Nebenklassenzerlegung die Form an: Gn = G0 k + G1 k+ . . . + Gc k (40)wobei c = 2n–k – 1 und Gi k eine Nebenklasse ist, die durch Addieren der Gleichungen (Vektoren) xi–1 ⊕ xi = xi–p zu jeder der 2k Gleichungen in G0 k abgeleitet ist. Jede nachfolgende Gleichung muss nicht in G0k oder irgendeiner der vorhergehenden Nebenklassen in der Zerlegung aufgetreten sein. Aus praktischen Gründen ist die Zerlegung in verfälschbare Mengen gewünscht. Jede dieser Nebenklassen wird die gleiche Gruppe mischender Transformationen zur Verfügung haben.
  • Eine maximale Untergruppe der Gleichungen, die einen linearen Orthomorphismus darstellen, kann in disjunkte Teilmengen zerlegt werden, die durch aufeinanderfolgende Schritte in einen nicht-linearen Orthomorphismus transformierbar sind.
  • Dies kann für jede vollständig verfälschbare Nebenklasse verallgemeinert werden.
  • Praktische Probleme konstruktiver Verfälschung sind die Wahl der Größe der Gleichungsmenge im linearen orthomorphen Array, das nicht-linearisiert werden soll, und das Verfahren zur konfliktfreien Zuweisung der mischenden Transformationen.
  • Wenn G0 k = Lk × Mk × Rk eine Untergruppe des Gleichungsarrays der Ordnung 2k ist und wenn sie vollständig verfälschbar ist, ist die Ordnung der Menge von mischenden Transformationen |Wk| = 2k–1. Jede Nebenklasse Gik wird durch vektorielles Addieren irgendeiner Gleichung xi–1 ⊕ xi = xi–p, die nicht in G0 k ist, zu allen Gleichungen in G0 k erhalten. Diese Nebenklasse kann durch Anwendung einiger oder aller mischenden Transformationen in Wk verfälscht werden. Wenn nur ein w ε Wk verwendet wird, ist das Ergebnis eine affine Menge. Wenn man versucht, alle w's zu verwenden, gibt es ein Problem der konfliktfreien Zuweisung der w's. Man kann immer eine vollständig verfälschbare Untergruppe G0 k–1 ⊂ G0 k entnehmen und Gi k in zwei Nebenklassen von G0 k–1, Gi k–1 ∪ Gj k–1 = Gi k, unterteilen und dann diese zwei kleineren Nebenklassen getrennt verfälschen. Das Problem ist, daß die Ordnung der Menge mischender Transformationen |Wk–1| = 2k–2 ist, so daß hier nur halb so viele mischende Transformationen zur Verfügung stehen wie die Anzahl der Gleichungen, auf die sie angewendet werden. Bei der Begrenzung auf k = 2 und Nebenklassen der Ordnung 4, W2 = {θ ,w}, gibt es auch nur eine mischende Transformation, die auf alle 2n–2 – 1 Nebenklassen angewendet werden kann. Im Nachfolgenden wird ein Verfahren zum Auffinden einer Teilmenge einer Nebenklasse Gi k =
    Figure 00420001
    ×
    Figure 00420002
    ×
    Figure 00420003
    bereitgestellt, die von der Untergruppe G0 k = Lk × Mk × Rk abgeleitet ist, so daß die Zahlen in den linken und mittleren Spalten der Teilmenge unter sich selbst kombiniert werden können, aber ihre Summen sich über alle
    Figure 00420003
    erstrecken, die rechte Spalte.
  • Das Verfahren vereinfacht die Zuweisung von vielen mischenden Transformationen zu einem geordneten Prozess, eher als durch „empirische Ermittlungsverfahren". Das Nachfolgende verallgemeinert diesen Prozess auf Untergruppen aller Ordnungen |G0 k| = 2k für k ≤ n – 1. Das Verfahren versucht Untergruppen zu finden, die sich wie maximale Untergruppen verhalten.
  • Theorem 4: Es kann nachgewiesen werden, daß eine vollständig verfälschbare Untergruppe der Ordnung 2k k aufeinanderfolgende Zeilen von Gleichungen aus dem vollständigen Gleichungs array aufweist, die den maximalen linearen Orthomorphismus darstellen.
  • Das vorhergehende Theorem wird durch die folgende Analyse nachgewiesen. Es sei G0 k eine vollständig verfälschbare Untergruppe der Ordnung 2 k . Dann ist per Definition |Wk| = 2k–1 – G0 k weist eine maximale Menge von k linear unabhängigen Gleichungen auf. Wk weist maximal linear unabhängige Mengen von k – 1 Zahlen auf. Es ist wünschenswert, die Menge mit der größten Ansammlung aufeinanderfolgender Zahlen von den Spalten L oder M im vollständigen linearen Array zu finden. Wenn es k – 1 derartige Zahlen xa, xa+1,..., xa+k–2 gibt, entsprechen die Zahlen den folgenden Zeilen in G0 k, die k aufeinanderfolgende Zeilen sind:
  • Figure 00430001
  • Wenn es weniger als k – 1 aufeinanderfolgende Zahlen in der Menge der k – 1 linear unabhängigen Zahlen gibt, können die Zahlen in kleineren Mengen von aufeinanderfolgenden Zahlen gesammelt werden. Die größte derartige Menge ist xa, xa+1,...,
    Figure 00430002
    ;die zweitgrößte Menge ist xb, xb+1,...,
    Figure 00430003
    etc ., bis eine Menge von k – 1 unabhängigen Zahlen in Wk mit (ka – 1) + (kb – 1) + ... = k – 1 zusammengesetzt ist. Jede derartige Menge definiert eine Gleichungsmenge in G0 k, alle aufeinanderfolgend, in der Form:
  • Figure 00440001
  • Die ka + kb +... → k einzelnen Gleichungen der Gleichung 42 sind linear unabhängig, da die x's linear unabhängig sind. Folglich stellt |G0 k| > 2k einen Widerspruch dar.
  • Vollständig verfälschbare Untergruppen und Nebenklassen sind nicht nur zur Ableitung nicht-linearer Orthomorphismen geeignet, sondern wie unten gezeigt wird, beeinflussen sie auch die Struktur kleinerer Untergruppen.
  • Theorem 5: Es kann nachgewiesen werden, daß für jede vollständig verfälschbare Untergruppe der Ordnung 2k mit k ≥ 4, jede Untergruppe der Ordnung 2k–1 verfälschbar ist.
  • Das vorhergehende Theorem ist durch folgendes bewiesen: Es sei G0 k eine derartige vollständig verfälschbare Untergruppe. Nach Theorem 4 weist G0 k k aufeinanderfolgende Gleichungen des vollständigen orthomorphen Arrays auf. Es weist auch eine weitere Menge von k – 1 aufeinanderfolgenden Gleichungen auf, die Summen angrenzender Paare der k aufeinanderfolgenden Gleichungen sind, da letztere eine Menge von Erzeugern von G0 k sind. Es gibt eine Folge von sukzessiv kleineren k-Tupeln von aufeinanderfolgenden Zeilen. Die Indizes der Folge sind in Tabelle I bereitgestellt:
  • Aufeinanderfolgende Zeilen
    Figure 00450001
    Tabelle I
  • Da k ≥ 4 ist, gibt es mindestens vier aufeinanderfolgende a-Zeilen, drei b's und zwei c's. Die drei aufeinanderfolgenden Mengen von k – 1 Zeilen:
    Figure 00450002
    sind linear unabhängige Mengen und können zum Erzeugen von G0 k–1 mit k – 1 aufeinanderfolgenden Zeilen verwendet werden. In gleicher Weise würde (b, a+2, a+3,..., a+k–1) G0 k–1 mit k – 2 aufeinanderfolgenden Zeilen erzeugen, wobei angemerkt sei, daß xb unabhängig von xa+2...., xa+k–1 ist . Um sicherzustellen, daß G0 k–1 nicht verfälschbar ist, würde es notwendig sein, alle Paare von den obigen Indizes zu eliminieren. wenn man alle außer einem der a's, z.B. a bis einschließlich a + k – 2, eliminiert, dann definieren xa,..., xa+k–2 Zeilen, die im relativen Komplement
    Figure 00450003
    = G0 k \ G0 k–1= sein werden, ohne daß xa ⊕ xa+1 xb etc . Ebenfalls muss mindestens
    Figure 00450004
    der b's elimi niert werden. Folglich würden einige zusätzliche Tripel in
    Figure 00450003
    sein, ein Widerspruch für ein Komplement. In Abhängigkeit davon, ob k gerade oder ungerade ist, können
    Figure 00460001
    alternieren a Zeilen ebenfalls im Untergruppenkomplement verblieben sein, ohne daß xa ⊕ xa+2 = xc etc . Um wiederum die aufeinanderfolgenden Zeilen mit c Indizes zu eliminieren, würden wieder einige derartiger Zeilen im Komplement sein, was zu Tripelsummen führt.
  • Für n ≥ 5 impliziert dies, daß jede Untergruppe der Ordnung 2n–2 verfälschbar ist und natürlich nach Theorem 4 jede Untergruppe der Ordnung 2n–1 vollständig verfälschbar ist.
  • Theorem 6: Jeder maximale Orthomorphismus auf Z2 3 ist linear oder affin.
  • Das vorhergehende Theorem wird durch folgendes nachgewiesen: Ein nicht-linearer Orthomorphismus kann durch konstruktive Verfälschung von einem linearen abgeleitet werden. Wenn man w ⊕ w = θ mit w ≠ θ auf alle acht Zeilen vektoriell anwendet, wird die Abbildung affin. Da der Orthomorphismus keinen 3-Zyklus aufweist, weist die kleinste verfälschbare Nebenklasse die Ordnung 4 auf.
  • Es sei G3 = Z2 3 × Z2 3 × Z2 3 der Orthomorphismus und G2
    Figure 00460002
    G3 eine verfälschbare Untergruppe mit einer entsprechenden einzelnen Nebenklasse (Komplement). Da |G2| = 22 ist, ist w = {θ ,w}, wobei w ein einzelner nicht-trivialer Mischer ist.
  • Wenn S(x) = z die ursprüngliche nichtlineare Abbildung ist, dann ist S'(x ⊕ w) ≡ S(x) auf der Nebenklasse und S'(y) ≡S(y) auf der Untergruppe . Ist w ε G2 so ist S'w ≡ S(w). Wenn x ε
    Figure 00460003
    ist, so ist x ⊕ w ε
    Figure 00460002
    . S'(x) = S'(x ⊕ w ⊕ w) = S (x ⊕ w) = S(x) ⊕ S(w) .
  • Es gibt drei Fälle:
    Figure 00460004
    Figure 00470001
    Figure 00470002
  • Das gleiche Ergebnis erhält man für jede Blockgröße, wenn das Komplement einer maximalen Untergruppe mit einer einzelnen mischenden Transformation verfälscht wird. Der nächste Schritt ist, den Prozess der konstruktiven Verfälschung durch Auffinden vollständig verfälschbarer Untergruppen weiter zu verfeinern, die die zusätzliche Eigenschaft aufweisen, daß Paare von Nebenklassen oder Teilmengen davon mit minimaler Wechselwirkung modifiziert werden können, selbst wenn die gesamte Gruppe mischender Transformationen verwendet wird.
  • Theorem 7: Es kann nachgewiesen werden, daß jede vollständig verfälschbare Nebenklasse G1 k der Ordnung 2k mit k > 2 in der Gruppe der Gleichungen, die einen maximalen linearen Orthomorphismus auf Z2 n darstellen, in zwei Nebenklassen der Ordnung 2k– 1 unterteilt werden kann, so daß die Zahlen in der linken und mittleren Spalte jeder dieser kleineren Nebenklasse unter sich selbst neu angeordnet werden können, ohne daß die sich ergebenden Summen über die gesamte Spalte der Stammnebenklasse G1 k verteilt werden.
  • Das vorhergehende Theorem wird durch folgendes nachgewiesen: Die vollständig verfälschbare Untergruppe G0 k und Nebenklasse G1 k können wie folgt dargestellt werden:
    Figure 00480001
    mit s = 2k – 1 und t = 2k. Wenn G0 k keine maximale Untergruppe ist, dann ist:
    Figure 00480002
  • Da nach Theorem 4 die Untergruppe G0 k der Ordnung 2k vollständig verfälschbar ist, enthält sie eine Menge von k aufeinanderfolgenden Zeilen oder Gleichungen der gesamten orthomorphen Gleichungsmenge. Diese k Zeilen sind eine linear unabhängige Menge. Die Untergruppe, die durch Entnahme aller geraden Summen dieser k Zeilen erzeugt wurde, ist eine Untergruppe G0 k–1 der Ordnung 2k –i, G0 k–1 ⊂ G0 k, mit den Spalten Lk–1 ⊂ Lk, Mk–1 ⊂ Mk und Rk–1 ⊂ Rk. Lk–1 c Rk und Mk–1 ⊂ Rk, da die gleichen Zahlensummen innerhalb Lk–1 und Mk–1 und zwischen Lk–1 und Mk–1 auftreten werden. Da der Orthomorphismus maximal ist, gibt es keine passenden Zyklen und folglich ist Lk–1 ≠ Rk–1 und Mk–1 ≠ Rk–1. Somit sind Lk–1 ∩ Rk \ Rk–1 und Mk–1 ∩ Rk \ Rk–1 nicht leer, wobei Rk \ Rk–1 die Menge Zahlen in Rk, aber nicht in Rk–1 ist . Da Lk–1 und Mk–1 Untergruppen von Rk sind, ist für jedes x ε Lk–1 und yε Mk–1 x ⊕ yε Rk. Einige derartige Summen müssen in Rk \ Rk–1 sein, da, wenn z . B. x ε Lk–1 ∩ Rk \ Rk–1 ist, x ⊕ θ ε Rk ist. Folglich wird jede Neuanordnung von Zahlenpaaren in Lk–1 und Mk–1 verfälschte Gleichungen in Lk–1 × Mk–1 × Rk ergeben.
  • G1 k kann in zwei verschiedene Nebenklassen von G0 k–1 unterteilt werden, Ga k–1 = G1 k–1 = G1 k. Man betrachte eine der Nebenklassen Ga k–1. Sie wird durch vektorielles Addieren einer Gleichung xa–1 ⊕ xa–p = xa–p zu allen Gleichungen in G0 1–k = Lk–1 × Mk–1 × Rk–1 erhalten. Die Nebenklasse Ga k–1 kann als unmittelbares Produkt von drei Nebenklassen in Z2 n formuliert werden, d.h.: Ga k–1 = (x–1 Lk–1) × (xa Mk–1) × (xa–p Rk–1) (49)
  • Folglich ist durch den ersten Teil des Beweises x ⊕ y = z ε Rk–1, wenn u ε xa–1 Lk–1 und v ε xa Mk–1 mit u = xa–1 ⊕ x und v = xa ⊕ y für irgendein x ε Lk–1 und y ε Mk–1 ist . Entsprechend: u ⊕ v = (xa–1 ⊕ x) ⊕ (xa ⊕ y) = (xa–p ⊕ z) ε xa–p Rk1 (50)
  • Somit gibt es ein w ε xa–p Rk–1 für jedes Zahlenpaar u, v, mit u ε xa–1 Lk–1 und v ε xa Mk–1, so daß u ⊕ v = w ist. Das gleiche erhält man für die andere Nebenklasse Gbk–1.
  • Als ein Beispiel des vorhergehenden Nicht-Linearisierungsverfahrens betrachte man eine Blockgröße 8 eines linearen Orthomorphismus maximaler Länge, der durch die Erzeugungsfunktion xk = xk–8 ⊕ xk–6 ⊕ xk–3 ⊕ xk–2 definiert ist . Es sei {A,B,C,D,E,F,G,H} eine vollständige, linear unabhängige Menge von 8-Bit Binärzahlen, wobei jeder Buchstabe eine 8-Bit Binärzahl darstellt und insbesondere A = X, B = X2,..., H = X8 ist. Zur Einfachheit und Kompaktheit steht die Bezeichnung ABC für A ⊕ B ⊕ C. Mit der Anwendung der Erzeugungsfunktion auf die obige vollständige linear unabhängige Menge in dieser Anordnung werden die 28 = 256 Gleichungen oder Zeilen definiert, die den Orthomorphismus darstellen. Zum Beispiel, X9 = X1 ⊕ X3 ⊕ X6 ⊕ X7 = ACFG. = ACFG. Diese sind zum Teil.
  • Figure 00500001
  • Die zur Verschlüsselung verwendete orthomorphe Abbildung ist zum Beispiel S(D) = DE von Zeile 5. Zur Vereinfachung wähle man eine Untergruppe G0 3 der Ordnung 8, die durch acht Gleichungen definiert ist:
  • Figure 00500002
  • Man kann die mischenden Transformationen W3 = {θ,B,C,BC} aus W3 = L3 ∩ M3 ablesen. |W3| = 22 = 4, demnach ist G0 3 vollständig verfälschbar. Jetzt kann man eine Nebenklasse, z.B. unter Verwendung von Zeile 6, erstellen:
  • Figure 00510001
  • Ein Beispiel einer verfälschbaren Nebenklasse der Ordnung 4, G0 2 ist:
    Figure 00510002
  • W2 = {⊝,B}. Daraus kann G6 3 in zwei Nebenklassen zerlegt werden:
  • Figure 00510003
  • Figure 00520001
  • Bei Verwendung dieser Nebenklassenzerlegung ist die einzige nicht-triviale mischende Transformation, die auf den einzelnen Nebenklassen verwendet werden kann, B.
  • Wendet man jetzt Theorem 7 auf die k = 3 aufeinanderfolgenden Zeilen in G0 3 an, erhält man eine andere Untergruppe, die ebenfalls vollständig verfälschbar ist:
  • Figure 00520002
  • Anders als die Untergruppe in Gleichung 53, ergibt hier L2 ⊂ R3 und M2 ⊂ R3 eine andere Nebenklassenzerlegung von G6 3 :
  • Figure 00520003
  • Figure 00520004
  • Wenn nach Theorem 7 eine konstruktive Verfälschung angewendet wird, werden G6 2 und G91 2 in
    Figure 00530001
    und
    Figure 00530002
    , aber nicht in
    Figure 00530003
    , eineingeschlossen, das heißt zum Beispiel, keine Zahl in
    Figure 00530001
    von G6 2 wird mit einer Zahl von
    Figure 00530003
    in G91 2 kombiniert. Diese Informationen können genutzt werden, um vielfältig mischende Transformationen konfliktfrei anzuwenden. Siehe Tabelle II.
  • Figure 00530004
    Tabelle II.
  • Die Ordinate listet Zeilennummern binärer Blöcken in der linken Spalte von Gleichung 53 auf und die Abszisse listet Zeilennummern binärer Blöcken in der mittleren Spalte von Gleichung 53 auf. Die Tabelleneinträge sind die Zeilennummern von Gleichungen in der linearen Arraygleichung 53, zusammen mit der mischenden Transformation, die diese Gleichung in eine andere in einem nicht-linearen Array mit dem entsprechenden
    Figure 00530003
    Block, der zum entsprechenden
    Figure 00530001
    Block addiert ist, umwalden wurde. Zum Beispiel bedeutet der Eintrag, der
    Figure 00530003
    95,
    Figure 00530001
    121 entspricht, daß Zeile 169: AE ⊕ BF = ABEF durch Anwendung der mischenden Transformation C ⊕ C = θ in ACE ⊕ BCF = ABEF umgewandeltt wird, wobei der Block
    Figure 00530001
    95 ACE ist und der Block
    Figure 00530003
    ,Zeile 121 BCF ist. Wo es ist keinen Eintrag gint, ist die Kombination nicht möglich. Man beachte, daß jedes der acht Rechtecke Zeilen von einer der beiden Nebenklassen G6 2 und G91 2 enthält. Jede Spalte und jede Zeile kann nur einmal aufgesucht werden und kein Tabelleneintrag (Zeilennummer) kann wiederholt werden. Wenn dies eine 3-dimensionale Tabelle wäre, würde es bedeuten, daß jede Zeile, Spalte und Achse maximal einmal aufgesucht werden könnte.
  • Tabelle II kann zur Auswahl eines Musters zur konstruktiven
    Figure 00530001
    6,
    Figure 00530003
    121, die von Zeile 155 mit Mischer B transformiert sind. Als nächstes wähle man
    Figure 00530001
    95,
    Figure 00530003
    6 von 121/BC. Zwei Wahlmöglichkeiten verbleiben für
    Figure 00530001
    121. Man wähle
    Figure 00530003
    209 von 95/BC. Dabei gibt es jetzt nur eine Möglichkeit für
    Figure 00530001
    209, d.h. Paarbildung mit
    Figure 00530003
    95 von 215/B. Als nächstes wird zum G91 2 Block: gegangen; es gibt eine Wahlmöglichkeit, es sei denn wir akzeptieren die Einheits-Transformation,:
    Figure 00530001
    91,
    Figure 00530003
    155 von 169/BC. Für den Rest gibt es jetzt keine Wahlmöglichkeit:
    Figure 00530001
    155,
    Figure 00530003
    169 von 6/B,
    Figure 00530001
    169,
    Figure 00530003
    215 von 91/BC und
    Figure 00530001
    215,
    Figure 00530003
    91 von 209/B. Wir haben zwei mischende Transformationen verwendet.
  • Ein weiteres Verfahren ist das Einbeziehen der Einheits-Transformation, d.h. einige Zeilen unmodifiziert zu belassen. Zum Beispiel
    Figure 00530001
    6,
    Figure 00530003
    6 von 6/⊝;
    Figure 00530001
    95,
    Figure 00530003
    121 von 169/C;
    Figure 00530001
    121,
    Figure 00530003
    209 von 95/BC; und
    Figure 00530001
    209, 95 von 215/B;
    Figure 00530001
    91,
    Figure 00530003
    169 von 121/C;
    Figure 00530001
    155,
    Figure 00530003
    155 von 155/θ;
    Figure 00530001
    169,
    Figure 00530003
    215 von 91/BC; und
    Figure 00530001
    215,
    Figure 00530003
    91von 209/B. In diesem Fall wurden alle mischenden Transformationen verwendet, jedoch zwei, Zeile 6 und 155, wurden unmodifiziert belassen. Die zwei Zeilen können später als Teile einiger anderer Nebenklassen transformiert werden oder ihre Summe, Zeile 3, kann modifiziert werden.
  • Das vorhergehende Verfahren kann für einen geordneten Nicht-Linearisierungsprozess auf Untergruppen und Nebenklassen jeder Größe und dann auf sukzessiv kleinere Nebengruppen angewendet werden. Es ist nicht notwendig, alle Zeilen im linearen Array zu modifizieren, um sicherzustellen, daß: N(x,y) = S(x) ⊕ S(y) ⊕ S(x ⊕ y) ≠ θ (59) zum größten Teil der Zeit ist und um eine gleichmäßige Verteilung der Werte zu erreichen.
  • Das Vorhergehende stellt verallgemeinerte Techniken und Verfahren zum Erstellen vollständig nicht-linearer Orthomorphismen bereit. Das vorhergehende Beispiel mit n=8 wurde bereitgestellt, um die allgemeinen Techniken mit konkreten Gleichungen darzustellen. In den folgenden Abschnitten sind spezielle Techniken zur Nicht-Linearisierung beschrieben, die zur Durchführung von Blocksubstitutionen in der Kryptographie gut geeignet sind.
  • V. GESCHACHTELTE FOLGEN VON UNTERGRUPPEN
  • Es wird auf die 18 und 19 Bezug benommen, in denen ein erstes bevorzugtes Verfahren zur Nicht-Linearisierung bereitgestellt ist. Das Verfahren verwendet geschachtelte Folgen von Untergruppen. Vor der Beschreibung der speziellen Schritte des Verfahrens wird eine Beschreibung von geschachtelten Folgen von Untergruppen bereitgestellt. Eine Nicht-Linearisierung beginnt mit einer maximalen Untergruppe von Gleichungen im linearen Array von 2n Gleichungen. Gn–1 ist eine von 2n – 1 derartigen Untergruppen und |Gn–1| = 2n–1. Alle derartigen maximalen Untergruppen können durch Auswahl von n-Bit Zahlen in jeder der drei Spalten, die eine maximale Untergruppe von Z2 n sind, festgelegt werden. Alle maximalen Untergruppen können von den n maximalen Untergruppen von Z2 n bestimmt werden, die durch Zahlen spezifiziert sind, die alle Null in einer vorgegebenen Bit-Position aufweisen. Alle diese maximalen Untergruppen des orthomorphen Arrays Gn sind im Wesentlichen Abbilder voneinander, da sie den gleichen Zeilenabstand aufweisen und voneinander durch Wechseln der Indizes der Elementzeilen mit der gleichen Schrittweite erhalten werden können.
  • Folglich sind maximale Gruppen, sowohl der n-Bit Zahlen als auch der linearen orthomorphen Gleichungsarrays, einfach zu finden und es ist einfach, mit ihnen zu arbeiten.
  • Gn–1 = Ln–1 × Mn–1 × Rn–1 ist eine Menge von 2n–1 Gleichungen, wobei Ln–1 Mn–1 und Rn–1 die linke, mittlere beziehungsweise rechte Spalte sind.
  • Figure 00560001
    ist das Komplement. Die Menge mischender Transformationen Wn–1= Ln–1 ∩ Mn–1 ist eine Gruppe und |Wn–1| = 2n–2. Aus Gn–1 kann man eine geschachtelte Folge von vollständig verfälschbaren Untergruppen erstellen G2 ⊂ G3 ⊂...⊂ Gn–2 C Gn–1 (60)und eine ähnliche Folge der relativen Komplemente
    Figure 00560002
    wobei
    Figure 00560003
    = Gk–1 \ Gk, jedes mit einer zugehörigen Gruppe mischender Transformationen |Wn–k| = 2n–k–1 (62)
  • Diese Untergruppen bilden ebenfalls eine geschachtelte Folge W2 ⊂ W3 ⊂ ...⊂ Wn–2 ⊂ Wn–1 (63)
  • Bei der Einschränkung hat G2 die mittlere Spalte M2 = {θ, xi, xi+1, xi ⊕ xi} für irgendeinen Index i und die entsprechenden W2 = {θ, xi}. Ebenso ist für alle 1 ≤ k ≤ n – 2
    Figure 00560004
    d.h.
    Figure 00560005
    ist das relative Komplement von Wn–k–1 in Wn–k.
  • Ein einfaches und geordnetes Nicht-Linearisierungsverfahren ist wie folgt (und ist in 18 graphisch dargestellt):
    • a. Man wende die 2n–3 mischenden Transformationen in
      Figure 00570001
      auf
      Figure 00570002
      an. Keine dieser mischenden Transformationen ist in Wn–1 für k > 1, somit werden sie nicht auf nachfolgende Nebenklassen
      Figure 00570003
      verwendet.
    • b. Man wende die 2n–4 mischenden Transformationen in
      Figure 00570004
      auf
      Figure 00570005
      an.
    • c. Man fahre in diesem Prozess schrittweise fort bis man
      Figure 00570006
      erreicht, wo zwei mischenden Transformationen auf acht Gleichungen angewendet werden.
    • d. Für die letzte Gruppe G2 der Ordnung 4, kann das alleinige w = x1 auf
      Figure 00460002
      angewendet werden oder es kann einfach unberücksichtigt bleiben, d.h, man wende w = θ an.
  • Neben der Einfachheit weist das vorhergehende Verfahren den Vorzug der Verwendung von bis zu 2n–2 –1 nicht-trivialen mischenden Transformationen auf. Ebenso werden mindestens 2n – 4 Gleichungen transformiert. Die sich ergebende Struktur bewahrt jedoch eine gewisse Ordnung. Gn–1 weist eine einzelne Menge von n – 1 aufeinanderfolgenden Zeilen und aufgrund der Gruppenstruktur eine weitere Menge von n – 2 aufeinanderfolgenden Zeilen auf. Folglich gibt es nach Theorem 4 drei Arten und Weisen, mit denen man Gn–2 als eine vollständig verfälschbare Untergruppe erstellen kann, d.h. mit Verwendung der Menge von n – 2 Zeilen als Erzeuger oder durch Auslassen der ersten oder letzten Menge der n – 1 aufeinanderfolgenden Zeilen in Gn–1 Es gibt eine Auswahl von 2n–1 maximale Untergruppen, mit denen begonnen wird, und eine Auswahl von drei Untergruppen auf jeder nachfolgenden Stufe. Somit ist die mögliche Gesamtanyahl derartiger geshcachtelter Folgen (2n–1) (3n–2)
  • Man betrachte jetzt zwei Zahlen x,y in der linken Spal von
    Figure 00570001
    , d.h. x,y ε
    Figure 00570007
    . x ⊕ y
    Figure 00570008
    Figure 00570007
    ,da es ein Gruppenkomplement ist . Somit ist x ⊕ y ε Ln–k für k > 1. Es seien wa und wb mischende Transformationen, die auf x bzw. y angewendet werden. wa, wbε
    Figure 00570002
    . Die Menge der Mischer auf
    Figure 00570009
    ist
    Figure 00560005
    Figure 00570010
    . Folglich ist in einigen Fällen wa ⊕ wb ε
    Figure 00560005
    .
  • In diesem Fall ist: S(x ⊕ wa) ⊕ S(y ⊕ wb) = S (x ⊕ y ⊕ wa ⊕ wb) (65) und trotz der konstruktiven Verfälschung sind einige lineare Untergruppen verblieben.
  • In Anbetracht der vorhergehenden Betrachtungen und mit besonderem Verweis jetzt auf 19 wird jetzt ein bevorzugtes Verschlüsselungsverfahren, das geschachtelte Folgen von Untergruppen verwendet, beschrieben. Das Verfahren verschlüsselt Datenblöcke, indem jeder der 2n n-Bit Klartextblöcke einer n-Bit Binärzahl durch einen zugehörenden eindeutigen verschlüsselten Block von n-Bit Binärzahlen substituiert wird. Das Verfahren kann unter Verwendung eines nicht-linearen dynamischen Substitutionsgenerators ausgeführt werden, wie in 16 allgemein gezeigt.
  • Es wird auf 19 Bezug genommen. Ein erstes Verfahren wird eingesetzt, um eine erste Matrix Gn von 2n Gleichungen wie in (11a) zu finden, die einen linearer Orthomorphismus darstellt. Dabei stellt jede Gleichung die Modulo-2-Additionen für einen der 2n Blöcke auf der linken Spalte mit einer eindeutigen 2n-Bit Zahl in der Mitte dar, um einen zugehörenden eindeutigen n-Bit Block in der rechten Spalte bereitzustellen. Alle Gleichungen in der ersten Matrix der 2n Gleichungen sind durch eine Modulo-2-Vektorsumme einer beliebigen Zahl der Gleichungen, die auch eine der Gleichungen in der ersten Matrix sind, gekennzeichnet. Die Gleichungen schließen die Einheits-Gleichung ⊕ ⊝ = ⊝ ein. In Schritt 102 wird eine Teilmenge Gn–1 von 2n –1 Gleichungen von der ERSTEN Matrix ausgewählt, indem n – 1 aufeinanderfolgende Gleichungen in der ERSTEN Matrix gewählt werden und alle Summierungen von ihnen und die Einheitsgleichung genommen werden, um zu erhalten:
    Figure 00580001
    mit s = 2n –1–1 und Ln–1 Mn–1 und Rn_1 sind die linke, mittlere beziehungweise rechte Spalte, Gn–1 = Ln–1 X Mn_1 X Rn–1 stellt die Menge der Gleichungen dar,
    Figure 00590001
    ist das Komplement von Gn–1, Wn–1 = Ln–1 ∩ Mn–1 und |Wn_1| = 2n –2 . In Schritt 102 – 110 wird die Mehrzahl der von Null verschiedenen 2n Gleichungen in der ersten Matrix von 2n Gleichungen modifiziert, um eine zweite Matrix von 2n Gleichungen bereitzustellen. Die Gleichungen werden modifiziert, so daß die modifizierten Gleichungen gemeinsam die gleichen Klartextblöcke wie in der linken Spalte der ersten Matrix, aber in einer unterschiedlichen Ordnung, auf die gleichen eindeutigen n-Bit Blöcke wie in der rechten Spalte der ersten Matrix abbilden, und zwar in der gleichen Ordnung der unmodifizierten Gleichungen.
  • Die Mehrzahl der Gleichungen wird in einer derartigen Art und Weise modifiziert, daß die modifizierten Gleichungen nicht allgemein die Modulo-Zwei-Summen einer beliebigen Zahl von anderen Gleichungen in der zweiten Matrix sind. Die Modifikation der 2n – 1 von Null verschiedenen Gleichungen wird durch die Schritte 104 – 106 erreicht.
  • Besonders in Schritt 104 werden die 2n –3 mischenden Transformationen in
    Figure 00570002
    auf
    Figure 00590002
    angewendet. Als Nächstes werden in Schritt 106 die 2n–4 mischenden Transformationen in
    Figure 00570005
    auf
    Figure 00590003
    angewendet. Als Nächstes wird Schritt 108 die Anwendung der mischenden Transformationen wiederholt auf Nebenklassen in Gn an ewendet, bis
    Figure 00460002
    erreicht wird. Die Anzahl von Iterationen von Schritt 108 hängt vom Wert von n ab. Mit n=8 wird eine Gesamtzahl von fünf Gleichungen der mischenden Transformationen innerhalb der Schritte 104 – 108 benötigt um
    Figure 00460002
    zu erreichen. In Schritt 110 besteht
    Figure 00590004
    aus θ und einer einzelnen mischenden Transformation, von denen eine auf
    Figure 00460002
    angewendet wird. Schließlich wird in Schritt 112 jeder zu verschlüsselnde Klartextblock, der als eine der 2n n-Bit Zahlen in der linken Spalte der zweiten Matrix von 2n Gleichungen eindeutig angeordnet ist, zum Block in der mittleren Spalte der zugehörigen Gleichung modulo-2-addiert, um den verschlüsselten Block in der rechten Spalte der zugehörigen Gleichung zu erhalten.
  • Schritt 112 wirkt, um den abschließenden verschlüsselten Block zu erhalten. Wie bei den vorhergehenden Verschlüsselungsverfahren, die vorstehend in den Abschnitten I und II beschrieben wurden, werden die Schritte des in 19 dargestellten Verfahrens für eine maximale Umwandlungsgeschwindigkeit bevorzugt unter Verwendung von festverdrahteten Schaltungen ausgeführt. Alternativ kann jedoch ein programmierter Mikroprozessor eingesetzt werden, um die verschiedenen Verfahrensschritte auszuführen, die in 19 dargestellt sind.
  • VI. ZUGESCHNITTENE NEBENKLASSEN AUS VERSCHIEDENEN UNTERGRUPPEN
  • Mit Bezug auf 20 und 21 wird jetzt ein zweites bevorzugtes Verschlüsselungsverfahren der Erfindung beschrieben.
  • Das Verfahren von 20 sucht Nebenklassen aus verschiedenen Untergruppen und daher mit verschiedenen Gruppen mischender Transformationen, die aber immer noch etwa wie ein Puzzle zusammengefügt werden können.
  • Das Verfahren von 20 und 21 verwendet zugeschnittene Nebenklassen aus verschiedenen Untergruppen, um eine Verschlüsselung auszuführen. Zu Beginn wird eine allgemeine Beschreibung des Verfahrens bereitgestellt, dann wird eine ausführliche Beschreibung des Verfahrens mit Bezug auf 21 bereitgestellt.
  • Wenn G0 k und H0 k zwei disjunkte verfälschbare Unter ru en der Ordnung 2k mit
    Figure 00600001
    eines maximalen linearen Orthomorphismus auf den n-Bit Zahlen sind, können G0 und H0 k zu einer Untergruppe der Ordnung 2k mit zwei verschiedenen Nebenklassenzerlegungen und zwei verschiedenen Gruppen mischender Transformationen verbunden werden. Es sei M0 2k die Untergruppe, die durch die verbundenen Erzeuger von G0 k und H0 k erzeugt wurde. M0 2k / G0 k und M0 2k / H0 k sind zwei Nebenklassenzerlegungen, jede isomorph zu einer Untergruppe von Z2 n der Ordnung 2k und daher zu einander. Nebenklassenpaare, die aus je einer aus M0 2k/ G0 k und M0 2k / H0 k bestehen, teilen sich genau eine Zeile.
  • Wenn sie mehr als eine gemeinsam hätten, dann wäre G0 k ∩ H0 k = {θ} nicht möglich, da die Summe eines gemeinsam benutzten Paares in G0 k ∩ H0 k sein würde. Wenn ein Nebenklassenpaar keine Zeile gemeinsam benutzt,müßte ein anderes Paar mehr als eine Zeile gemeinsam benutzen. Da G0 k und H0 k disjunkt sind, sind es somit die entsprechenden Gruppen von Mischern, obwohl die Gruppe mischender Transformationen, die M0 2k entspricht, zusätzliche Elemente haben würde, wenn einige Zeilen in G0 k an einige in H0 k angrenzen. Als Nächstes kann der vollständige Orthomorphismus Z2 n × Z2 n × Z2 n in Nebenklassen von M0 2k zerlegt werden, die wiederum in alternierende Sammlungen von Nebenklassen von G0 k und H0 zerlegt werden können. In Abhängigkeit von der Blockgröße n kann dies auf mehr als zwei Nebenklassenzerlegungen erweitert werden. Wenn anstelle von 2 eine Anzahl c disjunkter verfälschbarer Unter ru en der Ordnung 2k gewählt wird, dann ist
    Figure 00610001
  • Das Nachfolgende ist ein Beispiel für n = 8, wobei der lineare Orthomorphismus maximaler Länge außer der Identität 255 Gleichungen oder Zeilen enthält.
  • Das Beispiel ist in 20 und unten in Tabelle III graphisch dargestellt. 20 stellt eine mehrfache Nebenklassenzerlegung für einen linearen Orthomorphismus maximaler Länge von Binärzahlen einer Anzahl Blöcke der Blockgröße n = 8 graphisch dar. Tabelle III stellt die Zerlegung von 16-zeilige in 4-zeilige Nebenklassen für einen linearen Orthomorphismus maximaler Länge der Blockgröße 8 dar.
  • Figure 00610002
    Tabelle III
  • Man wähle drei disjunkte verfälschbare Untergruppen der Ordnung 4 aus : G0 2, H0 2 und I0 2. Jede weist zwei aufeinanderfolgende Zeilen, ihre Summe und die Ident-Zeile auf. Jede Untergruppe bildet eine eindeutige Nebenklassenzerlegung des vollständigen linearen Arrays, das aus der Untergruppe und 63 Nebenklassen besteht, wobei jede aus 4 Gleichungen besteht. Die Untergruppen der Ordnung 4 können verbunden werden, um drei Untergruppen der Ordnung 16 zu definieren, M0 4 von G0 2 ∪ H0 2 ∪ N0 4 von G0 2 ∪ H0 2 und P0 4 von H0 2 ∪ I0 2. Die Untergruppen der Ordnung 16 werden nicht disjunkt sein. Schließlich können die Untergruppen zu einer Untergruppe Q0 6 der Ordnung 64 aus G0 2 ∪ H0 2 ∪ I0 2 verbunden werden. Diese Untergruppe und ihre drei Nebenklassen Q1 6, Q26 und Q3 6 bilden eine Zerlegung des vollständigen linearen Orthomorphismus. Wie in 20 gezeigt, kann jede der 64-zeiligen Q Nebenklassen auf drei Arten und Weisen in vier Nebenklassen zu jeweils 16 Zeilen zerlegt werden. Zum Beispiel können die 64 Zeilen von Q1 6 in {M4 4, M5 4, M6 4, M7 4} oder {N4 4... N7 4} oder {P4 4... P7 4} zerlegt werden . Wenn die M-Zerlegung gewählt wird, dann kann zum Beispiel M4 4 in vier Nebenklassen zu je vier Zeilen zerlegt werden, entweder {G16 2, G17 2, G18 2 G19 2} oder {H16 2, H17 2, H18 2, H19 2} (Siehe Tabelle III) . Schließlich können mischende Transformationen angewendet werden, um den Prozess der konstruktiven Verfälschung zu vervollständigen.
  • Wenn gewünscht, können alle Gleichungen im linearen Array auf diese Art und Weise modifiziert werden. Auch wenn es etwas komplizierter als das schrittweise Verfahren in Abschnitt V ist, so hat das vorliegende Verfahren doch bessere Ergebnisse im Sinne der mit Gleichung 9 gemessenen Nicht-Linearität erzeugt.
  • Insbesondere unter Bezugnahme auf 21 werden nun die Schritte eines bevorzugten Verfahrens zum Verschlüsseln von Daten, das zugeschnittene Nebenklassen von verschiedenen Untergruppen verwendet, beschrieben. Wie beim vorstehend in Abschnitt v beschriebenen Verfahren erreicht das vorliegende Verfahren die Verschlüsselung durch Substituieren jedes der 2n eindeutigen Klartextblöcke von n-Bit Binärzahlen durch einen zugehörenden eindeutigen verschlüsselten Blocks von n-Bit Binärzahlen für jeden. Zuerst wird in Schritt 202 eine erste Matrix Gn von 2n Gleichungen gefunden. Dieser Verfahrensschritt ist mit Schritt 102 in 19 identisch und wird hier nicht ausführlicher beschrieben.
  • In Schritt 204 werden zwei oder mehr gegenseitig dijunkte bzw. einander ausschließende verfälschbare Untergruppen G0 k, H0 k, I0 k ... der Ordnung 2k mit
    Figure 00630001
    von Gn ausgewählt. Als Nächstes werden in Schritt 206 Untergruppen M0 2k , N0 2k,... der Ordnung 202k , die nicht notwendigerweise disjunkt sind, aus den Paaren von G0 k , H0 k, I0 k... gebildet . Dieser Vorgang wird fortsetzt, bis eine Untergruppe Q0 n–1 oder Q0 n–2 in Schritt 208 ausgewählt ist. Je nachdem, ob n gerade oder ungerade ist, wird Gn in Schritt 210 in eine alternierende Sammlung aus Nebenklassen von Q0 n–1 oder Q0 n–2,..., M0 2k, N0 2k,..., G0 k , H0 k, I0 k ... zerlegt, wobei jede Untergruppe und Nebenklasse in sukzessiv kleinere Nebenklassen zerlegt wird. In Schritt 212 werden die ausgewählten Nebenklassen durch ihre entsprechenden mischenden Transformationen modifiziert. Die sich ergebende zweite Matrix von 2n Gleichungen ist der nicht-lineare Orthomorphismus.
  • Schließlich wird in Schritt 214 jeder zu verschlüsselnden Klartextblock, der als einer der 2n n-Bit Zahlen in der linken Spalte der zweiten Matrix von 2n Gleichungen eindeutig angeordnet ist, zum Block in der mittleren Spalte der zugehörigen Gleichung modulo-2-addiert, um den verschlüsselten Block in der rechten Spalte der zugehörigen Gleichung zu erhalten. Der letzte Schritt 214 ist in Übereinstimmung mit den Verschlüsselungsschritten der vorstehend beschriebenen Verfahren und wird hier nicht weiter dargelegt.
  • 22 stellt das Verfahren von 21 für eine Verschlüsselung mit n = 8 dar. Zuerst wird in Schritt 302 eine erste Matrix G8 von 256 Gleichungen bestimmt. Alle Gleichungen in der ersten Matrix der 256 Gleichungen sind durch die Modulo-2-Summe einer beliebigen Anzahl Gleichungen, die außerdem eine der Gleichungen in der ersten Matrix sind, bestimmt. Ein Teil der Menge der 256 ist die Einheitsgleichung ⊕ ⊝ = ⊝. Die verbleibenden 255 Gleichungen können wie in Gleichung 11b dargestellt geordnet werden. Während diese Gleichungen jedoch ein allgemeines n-Bit System darstellen, entsprechen die durch Schritt 302 von dem Verfahren in 22 erzeugten Gleichungen einem 8-Bit System. Daher sind L8, M8 und R8 die linke, mittlere beziehungsweise rechte Spalte. G8 = L8 X M8 X R8 .
  • Die Schritte 304 – 314 dienen dazu, eine Mehrzahl der von Null verschiedenen Gleichungen in der ersten Matrix von 256 Gleichungen zu modifizieren, um eine zweite Matrix von 256 Gleichungen bereitzustellen. Die Gleichungen werden so modifiziert, daß die modifizierten Gleichungen gemeinsam die Klartextblöcke in einer nicht-linearen Art und Weise in die verschlüsselten Blöcke abbilden, im Gegensatz zur linearen Art und Weise, in der dies durch die entsprechenden unmodifizierten Gleichungen getan wird. Die Mehrzahl der Gleichungen wird in einer derartigen Art und Weise modifiziert, daß die modifizierten Gleichungen nicht allgemein die Modulo-2-Summen einer beliebigen Anzahl der anderen Gleichungen in der zweiten Gleichungsmatrix sind.
  • In Schritt 304 werden drei disjunkte verfälschbare Untergruppen der Ordnung 4 aus G8 ausgewählt. Die drei disjunkten verfälschbaren Untergruppen sind durch G0 2, H0 2, I0 2 bezeichnet.
  • In Schritt 306 werden drei Untergruppen der Ordnung 16 aus den Paaren disjunkter verfälschbarer Untergruppen der Ordnung 4 erzeugt. Die drei Untergruppen der Ordnung 16 sind als M0 4, N0 4 und P0 4 bezeichnet. M0 4 ist von G0 2 ∪ H0 2 abgeleitet. N0 4 ist von G0 2 ∪ I0 2 abgeleitet. P0 4 ist von H0 2 ∪ I0 2 abgeleitet.
  • In Schritt 308 wird die Untergruppe Q0 6 der Ordnung 64 von der Vereinigung der drei disjunkten verfälschbaren Untergruppen G0 2 ∪ H0 2 ∪ I0 2 abgeleitet. Bei 310 werden die Nebenklassen Q1 6, Q2 6 und Q3 6 erzeugt. Die Nebenklassen von 16 Zeilen werden in Schritt 312 in jeweils 4 Nebenklassen zerlegt. Als Nächstes wird in Schritt 314 jede der vier Nebenklassen von 16 Zeilen in vier Nebenklassen von jeweils vier Zeilen zerlegt. In Schritt 316 werden die Nebenklassen durch ihre entsprechenden mischenden Transformationen wie vorstehend in Abschnitt III gezeigt transformiert.
  • Schließlich wird in Schritt 318 jeder zu verschlüsselnde Klartextblock in der linken Spalte zum entsprechenden Block in der mittlerem Spalte der zugehörigen Gleichung der zweiten Matrix von 256 Gleichungen modulo-2-addiert, um den verschlüsselten Block in der rechten Spalte zu erhalten.
  • Wie bei vorhergehenden Ausführungsbeispielen werden die in 21 und 22 dargestellten Verfahren unter Verwendung der vorstehend beschriebenen Blocksubstitutionseinrichtungen aus geführt, die jedoch modifiziert sind, um die hier dargelegten besonderen Manipulationen der Blöcke auszuführen. Bevorzugt wird eine festverdrahtete Schaltung bereitgestellt, um die Manipulationen auszuführen. Jedoch kann alternativ auch ein programmierter Computer oder Mikroprozessor eingesetzt werden.
  • VII. NEBENKLASSEN DISJUNKTER VERFÄLSCHBARER UNTERGRUPPEN
  • Mit Bezug auf 23 wird jetzt ein drittes bevorzugtes Verfahren zur Verschlüsselung von Daten beschrieben. Das Verfahren setzt Nebenklassen disjunkter verfälschbarer Untergruppen ein. Das Verfahren wird zuerst in allgemeinen, mathematischen Ausdrücken beschrieben, dann werden spezielle Schritte des Verfahrens mit Bezug auf die Figuren beschrieben.
  • Wenn zwei Untergruppen mit Ausnahme der Ident-Zeile disjunkt sind, dann werden sie auch disjunkte Untergruppen mischender Transformationen aufweisen. Betrachtet man ein Paar von Untergruppen der Ordnung 4, dann kann ein entsprechendes Paar von Nebenklassen maximal eine gemeinsame Zeile aufweisen. Wenn eine Sammlung derartiger disjunkter Nebenklassen zusammengesetzt wird, wird jede mit einer anderen mischenden Transformation verfälscht. Dies wirft zwei grundlegende Fragen auf:
    • a. Wie viele derartige disjunkte verfälschbare Nebenklassen können in einem gegebenen linearen Orthomorphismus gefunden werden?
    • b. Welche Gruppenstruktur gibt es in der entsprechenden Menge von mischenden Transformationen?
  • Um einen guten nicht-linearen Orthomorphismus zu bilden, das heißt sicherzustellen, daß in Gleichung 39 N(x,y) eine Gleichverteilung über Z2 n aufweist, ist es notwendig, genügend Gleichungen zu verfälschen und über eine Menge mischender Transformationen zu verfügen, die sich nicht häufig gegenseitig aufheben.
  • In einem linearen orthomorphen Gleichungsarray maximaler Länge werden zwei Teilmengen von k Gleichungen, die jeweils den gleichen relativen Abstand aufweisen, als „ähnlich" definiert. Die mittleren Spalten zweier derartiger Teilmengen haben die Form:
    Figure 00660001
    für eine ganze Zahl 1. Maximale Untergruppen sind Beispiele für ähnliche Teilmengen.
  • Theorem 8: Wenn Gi 2 ein Nebenklasse der Ordnung 22 = 4 in der Nebenklassenzerlegung ist, die durch eine verfälschbare Untergruppe G0 2 der Ordnung 4 definiert ist, und Hi+d 2 eine Menge von vier Gleichungen ist, die ähnlich zu, aber nicht disjunkt von Gi 2 sind, dann ist Hi+d 2 eine Nebenklasse in der Zerlegung, die durch eine weitere verfälschbare Untergruppe H0 2 mit G0 2 ∩ H0 2 = {θ} definiert ist .
  • Das vorhergehende Theorem wird durch Folgendes nachgewiesen: Eine verfälschbare Untergruppe der Ordnung 4 hat die Form:
    Figure 00660002
    mit xq = xj ⊕ xj+1. Die entsprechende mischende Transformierung ist xj ⊕ xj = θ . Eine Nebenklasse wird durch Addieren einer sich nicht in der Untergruppe befindenden Zeile zu jeder Zeile der Untergruppe erzeugt; man erhält:
  • Figure 00660003
  • Die Summe der ersten zwei Zahlen in der mittleren Spalte der Nebenklasse xa ⊕ (xj ⊕ xa) = xj gewinnt die mischende Transformierung zurück. xj ⊕ xa = xb für eine Zeile mit Index b. Ähn lich ist xj+1 ⊕ xa = xc und xq ⊕ xa = xd für die Indizes c und d. Wenn alle Indizes um eine ganze Zahl 1 verschoben werden, wird eine ähnliche Gleichungsmenge gebildet:
    Figure 00670001
  • Vor der Verschiebung der Indizes ist xa ⊕ xb = xj der ursprüngliche Mischer: Jedoch ist wegen der Struktur des linearen orthomorphen Arrays, die durch eine lineare, rekursive Funktion erzeugt wird, xa+1 ⊕ xb+1 = xk ≠ xj für einen Index k. Das Addieren der Zeile a + 1 zu jeder der anderen drei erzeugt eine neue verfälschbare Untergruppe:
    Figure 00670002
    mit xr = xk ⊕ xk+1. Die drei von Null verschiedenen Zeilen werden gegenüber ihren Entsprechungen in G0 2 um eine Indexdifferenz von k – j verschoben.
  • In Anbetracht der vorhergehenden allgemeinen Beschreibung des Verfahrens wird das Verfahren jetzt mit Bezug auf 23 beschrieben. Wie bei den vorhergehend beschriebenen Verfahren in den Abschnitten V und VI wirkt das Verfahren in 23 zum Verschlüsseln einer Menge von 2n eindeutigen Klartextblöcken von n-Bit Binärzahlen, indem diese durch zugehörige eindeutige verschlüsselte Blöcke von n-Bit Binärzahlen substituiert werden. Ebenso wie bei den vorhergehenden Verfahren beginnt die Verschlüsselung in Schritt 402 mit dem Auffinden einer ersten Matrix Gn von 2n Gleichungen, die einen linearen Orthomorphismus darstellt, wobei jede Gleichung die Modulo-2-Additionen einer der 2n Klartextblöcke in der linken Spalte mit einer eindeutigen der 2n n-Bit Zahlen in der mittleren Spalte darstellt, um einen zugehörigen eindeutigen n-Bit Block in der rechten Spalte mit allen Gleichungen der ersten Matrix von 2n Gleichungen bereitzustellen, gekennzeichnet durch die Modulo-Zwei-Vektorsumme jeder beliebigen Anzahl von Gleichungen, die ebenso eine der Gleichungen der ersten Matrix sind. Die Gleichungen schließen die Nullgleichung ein, wobei die verbleibenden 2n – 1, wie vorstehend in Gleichung 11b dargestellt, geordnet werden können. In Schritt 404 – 414 wird eine Mehrzahl der von Null verschiedenen 2n – 1 Gleichungen der ersten Matrix modifiziert, um eine zweite Matrix von 2n – 1 Gleichungen bereitzustellen.
  • In Schritt 304 wird eine verfälschbare Untergruppe der Ordnung vier aus Gn ausgewählt. Eine derartige Untergruppe der Ordnung vier wird allgemein dargestellt als:
    Figure 00680001
  • In Schritt 306 wird eine Nebenklasse durch Auswahl einer durch den Index a dargestellten Gleichung erzeugt, die nicht in der verfälschbaren Untergruppe der Ordnung vier ist. Die Gleichung wird vektoriell zur verfälschbaren Untergruppe addiert, um eine Nebenklasse zu erhalten, die dargestellt ist durch:
    Figure 00680002
    mit xb = xa ⊕ x1, xc= xa ⊕ x2 , xd = xa ⊕ xq. Für den Fall, daß m keine Primzahl ist, wähle man eine ganze Zahl 1, die Teiler von m ist.
  • Danach werden in Schritt 308 Werte für die Werte a mod 1, b mod 1, c mod 1 und d mod 1 bestimmt. Wenn einer der in Schritt 308 bestimmten Werte dupliziert wird, dann werden in 310 die Schritte 306 und 308 mit einer Gleichung mit anderem Index wiederholt. Nachdem dadurch eine Menge von Werten erhalten wurde, in der keine Duplikate enthalten sind, wird Schritt 312 ausgeführt, wobei m/1 zusätzliche Nebenklassen erzeugt werden. Die zusätzlichen Nebenklassen weisen die Form auf:
    Figure 00690001
  • In Schritt 314 werden die mischenden Transformierungen auf die entsprechenden Nebenklassen angewendet. Die mischende Transformierung wird durch wk1 ⊕ wk1 = ⊝ mit wk1 = wa+k1 ⊕ Xb+k1 dargestellt. Jede mischende Transformierung wird zum konstruktiven Verfälschen der entsprechenden Nebenklasse angewendet, wobei die zweite Matrix von 2n Gleichungen erhalten wird.
  • Schließlich wird in Schritt 316 jeder zu verschlüsselnde Klartextblock in der linken Spalte zum entsprechenden Block in der mittleren Spalte der zugehörigen Gleichung der zweiten Matrix von 2n Gleichungen modulo-zwei-addiert, um den verschlüsselten Block in der rechten Spalte zu erhalten. Der letzte Schritt 316 ist den vorhergehenden letzten Schritten ähnlich, die vorstehend mit Bezug auf die anderen bevorzugten Ausführungsbeispiele der Erfindung beschrieben wurden.
  • Bevorzugt werden festverdrahtete Schaltungen zum Ausführen der verschiedenen, in 23 dargelegten Schritte bereitgestellt. Es können jedoch alternativ auch programmierte Computer oder Mikroprozessoren verwendet werden.
  • Als ein spezielles Beispiel des Verfahrens von 23 betrachte man den Orthomorphismus in Gleichung 51. Es sei G0 2:
  • Figure 00700001
  • Die mischende Transformierung ist A. Man verwende Zeile 7, um eine Nebenklasse zu erzeugen:
  • Figure 00700002
  • Aus der mittleren Spalte ergibt sich der Mischer zu x7 ⊕ x50 = G ⊕ AG = A. Man ersetze die Indizes durch l = 5, um zu erhalten:
  • Figure 00700003
  • Die entsprechende Untergruppe kann durch Addieren der Zeile 12 zu den anderen 3 gefunden werden:
  • Figure 00700004
  • Entweder von der neuen Nebenklasse oder der entsprechenden Untergruppe ergibt sich die neue mischende Transformierung zu F ⊕ F = θ
  • Dieser Prozess kann auf Untergruppen größerer Ordnung angewendet werden, er ist jedoch besonders einfach für konstruktive Verfälschung von Nebenklassen der Ordnung 4 zu verwenden. Ein Verfahren ist wie folgt, man wähle eine beliebige verfälschbare Untergruppe der Ordnung 4. Ohne Beschränkung der Allgemeingültigkeit ist die Untergruppe:
  • Figure 00710001
  • Man nehme zuerst an, daß m = 2n – 1 keine Primzahl ist (das heißt keine Mersenne Primzahl). Man wähle eine ganze Zahl 1, die Teiler von m ist, und verwende diese als Verschiebung der Indizes, wie vorstehend im Beweis von Theorem 8. Wie im gleichen Beweis wähle man eine Gleichung mit einem Index a, die nicht in der Untergruppe ist. Addiert man sie vektoriell zu jeder Gleichung in Gleichung 76, erhält man eine Nebenklasse:
  • Figure 00710002
  • Als Nächstes bestimme man die vier Werte a mod 1, b mod 1, c mod 1 und d mod 1. Wenn es eine Duplikation gibt, verwerfe man diese Nebenklasse und versuche eine andere, da das Auffinden aufeinanderfolgender ähnlicher Nebenklassen durch eine Verwendung von Vielfachen von 1 als Schrittweite für die Indizes zu einem Konflikt führen würde. Zum Beispiel nehme man an, daß a ≡ b mod 1 ist. Dann ergibt sich für eine ganze Zahl g a = b + g1, so daß eine nachfolgende Nebenklasse die gleiche Zeile wie eine vorhergehende Nebenklasse aufweisen würde. Man nehme jetzt an, daß a, b, c und d eindeutig mod 1 sind. Man erzeuge
    Figure 00720001
    ähnliche Nebenklassen er Form:
    Figure 00720002
    mit
    Figure 00720003
    . Dies ergibt eine Gesamtzahl von
    Figure 00720004
    Gleichungen im linearen Orthomorphismus als Kandidaten für die konstruktive Verfälschung. In jeder Nebenklasse ist die mischende Transformierung wkl ⊕ wkl = θ mit wkl = xa+kl ⊕ xb+kl. Aus den Gleichungen 76 und 77 folgt w0 = x0 ⊕ xb = x1 und somit wkl = x1+kl. Somit ist die Menge der Mischer W = {xi| i ≡ 1 mod l und
    Figure 00720005
  • Theorem 9: Es kann nachgewiesen werden, daß für eine Menge von
    Figure 00720006
    ähnliche verfälschbare Nebenklassen der Ordnung 4, wenn 3 |m ist, dann für jedes Paar xi, xj ε W xi ⊕ xj ⊕ W ist . Es kann ebenfalls nachgewiesen werden, daß, wenn 3|m und xi ⊕ xj = xk, wobei alle in W sind, dann j – 1 = k – j ≡
    Figure 00720007
    mod m.
  • Das vorhergehende Theorem wird durch Folgendes nachgewiesen: W ⋃ θ ist keine Gruppe. Wenn es eine Untergruppe von Zn 2
    Figure 00720008
    in l – 2n–k|l – 1 ist, muss das Verhältnis ungerade sein, während 2k für k>0 gerade ist. Ohne Beschränkung der Allgemeingültigkeit nehme man x1 ⊕ x1+gl = x1+hl für ganze Zahlen g und h an, daß heißt x1, x1+gl und x1+hl ε W . Wenn hl > m ist, dann ist hl ≡ cl mod m und cl < m, da l|m. Bedenkt man, daß die Indizierungen Indizes von Zeilen im linearen orthomorphen Array sind, ist es ebenfalls wahr, daß x1+yl ⊕ x1+2gl = x1+gl+hl ist. Nimmt man an, daß 3|m, verbinde man x1+gl ⊕ x1+2gl = x1+gl+hl mit x1 ⊕ x1+gl = x1+hl, um zu erhalten: x1 ⊕ x1+2gl = x1+hl ⊕ x1+gl+hl = x1+2hl (79)
  • Allgemeiner ist für alle ganzen Zahlen j: x1 ⊕ x1+jgl = x1+jhl (80)
  • Somit ist x1 ⊕ xk ε W für alle xk ε W. Die gleiche Schlussfolgerung kann auf alle anderen xj ε W anstelle von x1 angewendet werden. Dies würde implizieren, daß W ∪ θ eine Gruppe ist, was einen Widerspruch darstellt. Man nehme jetzt 3|m an. Man betrachte eine mögliche Summe:
  • Figure 00730001
  • Wenn wir das gleiche Verfahren verwenden, das zu Gleichung 80 führte
  • Figure 00730002
  • Somit erhalten wir die gleiche Gleichung. Daher kann dies nicht zum Erzeugen einer Gruppe verwendet werden.
  • Die praktischen Konsequenzen daraus sind, daß wenn zwei Gleichungen in der gleichen Nebenklasse sind, ihre Summe an anderer Stelle sein wird. Die Gleichungen werden einen gemeinsamen Mischer, besagtes wi, zur konstruktiven Verfälschung aufweisen. Diese Summe wird eine der drei nicht-trivialen Gleichungen in der Untergruppe von Gleichung 76 sein. Man beachte, daß S(x) = S'(x) ⊕ wi ist, wobei S'(x) die ursprüngliche Abbildung des linearen Orthomorphismus ist und S(x) die sich ergebende Abbildung nach. der konstruktiven Verfälschung ist. Wenn diese Summengleichung nicht in einer der anderen verfälschbaren Nebenklassen ist, dann ist von Gleichung 4: N(x, y) = wi ⊕ wi ⊕ θ = θ (83) und das Tripel wird linear sein. Wenn die Summengleichung in einer der anderen verfälschbaren Nebenklassen ist, wird sie als Mischer einige wj ≠ wi aufweisen, so daß: N(x, y) = wi ⊕ wi ⊕ wj = wj (84)
  • Wenn zwei Gleichungen aus verschiedenen Nebenklassen mit entsprechenden Mischern wi und wj addiert werden, dann gibt es dementsprechend drei Möglichkeiten, weil die Summengleichung nicht in einer Nebenklasse ist, in einer der ursprünglichen Nebenklassen ist oder in einer dritten Nebenklasse ist:
  • Figure 00740001
  • Wenn zwei Gleichungen, eine aus einer Nebenklasse und eine, die nicht in einer der Nebenklassen ist, addiert werden, gibt es wie im vorhergehenden Fall drei Möglichkeiten:
  • Figure 00740002
  • Wenn zuletzt zwei Gleichungen addiert werden, von denen keine in einer der verfälschbaren Nebenklassen ist, dann gibt es dementsprechend zwei Möglichkeiten, weil ihre Summe nicht / oder doch in einer Nebenklasse ist:
  • Figure 00740003
  • Um eine Restlinearität zu minimieren, wird aus dem Vorstehenden deutlich, daß zwei Bedingungen erforderlich sind, und zwar, daß die verbleibende Gleichungsmenge, die nicht in den Nebenklassen enthalten ist, klein ist und keine Untergruppen enthält. Als ein Beispiel betrachte man den gleichen linearen Orthomorphismus in Gleichung 51 bei 8-Bit Binärzahlen und die Untergruppe und Nebenklasse in den Gleichungen 72 und 73:
  • Figure 00750001
  • Wieder werden wir zum Erzeugen einer Folge von Nebenklassen l = 5 als Schrittweite auf die Zeilenindizes anwenden. Man beachte, daß:
  • Figure 00750002
  • Da m = 2n – 1 = 255 = 5 * 51 ist, wird sich l|m und die vorstehende Menge der Zeilenindizes nie überschneiden, wenn sie um l = 5 verschoben werden, d.h. 7 + 5i ≠ 50 + 5j für alle ganzen Zahlen i, j und das Gleiche für die anderen Paare. Somit wird dieser Prozess 51 Nebenklassen mit jeweils vier Gleichungen ergeben, eine Gesamtanzahl von 204 Gleichungen zur Modifikation durch konstruktive Verfälschung. Wie im Beweis von Theorem 8 gezeigt, ist der Mischer für die vorstehende Nebenklasse G ⊕ AG = A, das heißt, die Summe der mittleren Ausdrücke der ersten zwei Gleichungen in der Nebenklasse.
  • Somit ist der mittlere Ausdruck der ersten, von Null verschiedenen Zeile im linearen Orthomorphismus:
  • Figure 00760001
  • Folglich wird die Nebenklasse 5k als die Nebenklasse bestimmt, deren erste Gleichung ist: x6+5k ⊕ x7+5k = x7+5k–p (91)
  • Die entsprechende mischende Transformierung ist: w5k = x7+5k ⊕ x50+5k = x1+5k (92)
  • Daher ist unter Einbindung der zusätzlichen Identität W = {θ, x1, x6,..., x251} und |W| = 52 . Da m = 255 = 3 * 85 ist 3|m und x1 ⊕ x86 = x171 . Wie im Beweis von Theorem 9 ist dies das einzige derartige Tripel von Zahlen, die alle in W sind. In diesem Beispiel: x1 = A, x86 = ADH und x171 = DH. (93)
  • Es gibt natürlich viele Arten und Weisen, um Nebenklassen von verschiedenen Untergruppen auszuwählen. Man wähle zum Beispiel l = 17 im gleichen linearen Orthomorphismus, da m = 255 = 15 * 17. Man betrachte drei Nebenklassen (unten gezeigt) von drei verschiedenen Untergruppen:
  • Figure 00770001
  • Figure 00770002
  • Da alle Zeilenindizes verschieden mod 17 sind, wird es bei Verwendung der Schrittweite l = 17 keine Überschneidung geben.
  • Dieser Prozess wird 3 × 15 = 45 Nebenklassen oder 180 Gleichungen als Kandidaten zur konstruktiven Verfälschung erzeugen. Die Menge der Mischer ist:
  • Figure 00780001
  • Es gibt viele weitere Möglichkeiten. Zum Beispiel kann man die Untergruppe der Ordnung 8 in Gleichung 52 verwenden. Ihre Nebenklassen sind vollständig verfälschbar, d.h. sie haben eine Gruppe von vier mischenden Transformationen. Wenn man Theorem 7 anwendet, kann man eine Nebenklasse von acht Gleichungen auswählen, Gleichung 53, von der sechs zu nicht-linearisieren sind, wie folgt
  • Figure 00780002
  • Bei Verwendung einer Schrittweite l = 17 kann man 15 disjunkte Mengen von jeweils sechs Gleichungen erhalten aus:
  • Figure 00790001
  • Bei Verschiebung der Zeilenindizes um 7 kann man 15 weitere disjunkte Mengen von jeweils sechs Zeilen erhalten aus:
  • Figure 00790002
  • Die Kombination stellt 180 Zeilen oder Gleichungen zur Nicht-Linearisierung bereit, jedoch ist die Menge der mischenden Transformationen W nicht mehr frei von zusätzlichen Tripeln, so daß es irgendeine Gruppenstruktur zwischen den Mischern gibt.
  • Das Verfahren zum Erhalten verfälschbarer Nebenklassen aus disjunkten Untergruppen ist etwas komplizierter, wenn 2n – 1 = m eine Primzahl ist, da es eine Diskontinuität gibt, wenn die Zeilenindizes über m verschoben werden. Als ein Beispiel betrachte man den linearen Orthomorphismus maximaler Länge der Blockgröße 7, der durch die erzeugende Funktion definiert ist: xk = xk–7 ⊕ xk–5 ⊕ xk–4 ⊕ xk–3 ⊕ xk–2 ⊕ xk–1 (101)
  • Wie in Gleichung 52 sei {A,B,C,D,E,F} eine beliebige, vollständige, linear unabhängige Menge von 7-Bit Binärzahlen. Wie zuvor ist die Bezeichnung ABC eine Kurzschreibweise für A ⊕ B ⊕ C. Eine unvollständige Auflistung der sich ergebenden Gleichungen ist wie folgt:
  • Figure 00800001
  • Eine typische verfälschbare Untergruppe der Ordnung 4 ist:
  • Figure 00800002
  • Daraus kann man die folgende Nebenklasse erstellen:
  • Figure 00810001
  • Obwohl 5 | 127 findet man, daß es eine Möglichkeit für einen schrittweisen Abstand ist, wenn wir eine Nebenklasse mit verschiedenen Zeilenindizes mod 5 finden. In diesem Fall:
  • Figure 00810002
  • Verschiebt man diese Indizes um 5, erhält man:
  • Figure 00810003
  • Verschiebt man diese Indizes um weitere 15, erhält man:
  • Figure 00810004
  • Verschiebt man diese Indizes um weitere 20, erhält man:
  • Figure 00820001
  • Verschiebt man diese Indizes um weitere 80, erhält man:
  • Figure 00820002
  • Man kann mit einer Endschrittweite von 10 einen Schritt weiter gehen:
  • Figure 00820003
  • Dieser Prozess hat 27 disjunkte Nebenklassen oder 104 von 127 Zeilen für das konstruktive Verfälschungsverfahren erzeugt. Das vorstehende Verfahren hat alle Zeilen der Indizes 0 oder 3 mod 5 verwendet. Somit existieren keine weiteren verfälschbaren Nebenklassen, die alle verschiedene Zeilenindizes haben. Jedoch verbleiben 15 Zeilen mit Index 1 mod 5, 2 mit Index 2 mod 5 und 2 mit Index 4 mod 5. Die mischenden Transformierungen sind die Summen der Zahlen in den mittleren Spalten der ersten zwei Zeilen in jeder Nebenklasse, das heißt:
  • Figure 00820004
  • Somit ist die Menge der mischenden Transformierungen W = {θ, x1+5k, x4} für 0 ≤ k ≤ 25 und |W| =28. Man beachte, das in diesem Fall die Bedingungen von Theorem 9 nicht gelten, daß heißt, l|m und es gibt einige Paare in W, deren Summen auch in W sind.
  • Es gibt viele andere Arten und Weisen zum Auswählen verfälschbarer Nebenklassen für den Nicht-Linarisierungsprozess. Das Mischen von Nebenklassen verschiedener Ordnungen kann einen Mechanismus zum Einbinden fast aller Gleichungen im linearen Array bereitstellen, jedoch muss dies gegen die Struktur der Menge der mischenden Transformierungen abgewogen werden. Die Gesamtzahl von Orthomorphismen auf n-Bit Zahlen ist nicht bekannt.
  • VIII. NEBENKLASSENZERLEGUNG VERFÄLSCHBARER UNTERGRUPPEN
  • Mit Bezug auf 2426 werden nun zusätzliche Verfahren zur Verschlüsselung von Daten beschrieben. Die Verfahren setzen eine Nebenklassenzerlegung durch verfälschbare Untergruppen der Ordnung 4 ein. Die Verfahren werden zuerst in allgemeinen, mathematischen Ausdrücken beschrieben, dann werden spezielle Schritte des Verfahrens mit Bezug auf die 2426 beschrieben. Es sei angemerkt, daß das Nachfolgende Operationen beschreibt, die auf Gleichungsmengen ausgeführt werden, wohingegen sich das Vorstehende auf Gleichungsmatrizen bezieht. Die Ausdrücke sollen hierin gleich sind. Mit anderen Worten soll die Verwendung des Ausdrucks Matrix im Vorstehenden nicht nur auf eine algebraische Matrix beschränkt sein, sondern bezieht sich stattdessen auf eine Sammlung von Gleichungen.
  • 1. Einführung
  • Es sei Gn = Z2 n × Z2 n × Z2 n ein maximaler linearer Orthomorphismus der Blockgröße n.
    Figure 00840001
    mit m = 2n – 1.
  • Als Vektoren betrachtete Gleichungen oder Zeilen bilden bei komponentenweiser Modulo-2-Addition eine Gruppe. Die durch xk–1 ⊕ xk = xk–p xk gegebene Abbildung von Gn Z2 n ist eindeutig ein Isomorphismus. Folglich kann eine Untergruppe der Ordnung 4 in Gn durch eine Untergruppe in Z2 n dargestellt werden {⊝, xi, xj, xi ⊕ xj} (113)
  • Eine verfälschbare Untergruppe der Ordnung 4 weist zwei aufeinanderfolgende Zeilen auf und jede verfälschbare Nebenklasse der Ordnung 4 befindet sich in der Nebenklassenzerlegung einer derartigen Untergruppe. Deshalb muss man nur eine der m Untergruppen von Z2 n mit der Form betrachten {⊝, xi, xi+1, xi ⊕ xi+1 } (114)
  • Die Nebenklassen, die {⊝, xi, xi+1, xi ⊕ xi+1} = Gi0 2 entsprechen, werden den Nebenklassen in den Zerlegungen ähnlich sein, die durch ähnliche Untergruppen definiert sind. Ohne Beschränkung der Allgemeingültigkeit sei G1,0 2 = {⊝, xi, x2, x1 ⊕ x2}. G1,0 2 zerlegt Z2 n in 2n–2 – 1 Nebenklassen zuzüglich G1,0 2, jede mit vier Zeilen oder Zahlen. Die Nebenklasse G1k 2 = {xk, x1 ⊕ xk, x2 ⊕ xk, x1 ⊕ x2 xk} stellt die Nebenklasse im Orthomorphismus mit vier Gleichungen dar, deren mittlere Terme sind: xk, x1 ⊕ xk, x2 ⊕ xk, x1 ⊕ x2 ⊕ xk. (115)
  • Die mischende Transformierung für die Untergruppe und alle ihre Nebenklassen ist x1 ⊕ x1 = ⊝ . Eine beliebige Nebenklasse, die einer verfälschbaren Untergruppe entspricht, kann in dieser Form geschrieben werden als: {xa, xb, xc, xd} (116)entsprechend zur Untergruppe {⊝, xa ⊕ xb, xa ⊕ xc, xa xd}, wobei xa ⊕ xb der Mischer ist. Eine ähnliche Nebenklasse weist die Form auf: {xa+l, xb+l, xc+l, xd+l (117)wobei l eine ganze Zahl ist und a+l etc. modulo-2n berechnet ist. Die entsprechende verfälschbare Untergruppe ist: {⊝, xa+l ⊕ xb+l, xa+l ⊕ xc+l, xa+l ⊕ xd+l (118)wobei xa+l ⊕ xb+l der Mischer ist .
  • Man kann das Vorstehende anwenden, indem man alle verfälschbaren Untergruppen der Ordnung 4 waagerecht aufschreibt und dann die entsprechenden Nebenklassenzerlegungen senkrecht auflistet. Die i-te Untergruppe ist: Gi,0 2 = {⊝, xi, xi+1, xi ⊕ xi+1 (119)mit dem Mischer xi. Eine typische Nebenklasse G1j 2 aus der ersten Spalte, d.h. in der Nebenklassenzerlegung durch G10 2 erzeugt, ist Gl,j 2 = {xj, x1 ⊕ xj, x2 ⊕ xj, x1 ⊕ x2 ⊕ xj (120)
  • Aufgrund der Gruppenstruktur stellen die vorstehenden Summen andere Zeilen oder Gleichungen eines Indizes im linearen Orthomorphismus dar. Es sei zum Beispiel: x1 ⊕ xj = xb, x2 ⊕ xj = xc, x1 ⊕ x2 ⊕ xj = xd (121)
  • Dann weist eine durch G1+i,0 2 erzeugte ähnliche Nebenklasse in der Zerlegung die Form auf: G1+i,j 2 = {xj+i, xb+i, xc+i, xd+i} (122)
  • Die entsprechende Untergruppe Gl+i,0 2 wird durch Addieren von xj+i zu jeder Zahl in der Nebenklasse erhalten oder durch direkte Übernahme eines ähnlichen Bildes von Gl,0 2, das heißt: G1+i,0 2 = {⊝x1+i, x2+i, x1+i ⊕ x2+i} (123)
  • Die mischende Transformation ist x1+i ⊕ x1+i = ⊝ . Tabelle stellt alle Nebenklassenzerlegungen von Gn durch verfälschbare Untergruppen der Ordnung 4 dar.
  • Figure 00860001
    Tabelle I.
  • In Tabelle 2 gibt es m = 2n – 1 Spalten, die jeweils eine Nebenklassenzerlegung darstellen. Es gibt 2n–2 Zeilen, die jeweils m ähnliche Nebenklassen darstellen. Der Index j läuft somit über eine Teilmenge von {0,1,2,...,m}. Die erste Nebenklasse WLOG wird durch Addieren von x3 zu jedem Eintrag in G0,0 2 gebildet, da x3
    Figure 00860002
    G1,0 2 ist, das heißt: G1,3 2 = {x3, x1 ⊕ x3, x2 ⊕ x3, x1 ⊕ x2 ⊕ x3 (124)
  • Es ist zweckmäßig, aber nicht notwendig, jede nachfolgende Nebenklasse in der Gl,0 2-Zerlegung durch Auswählen des n-Bit Blocks oder der Zeile mit kleinstem Index zu erzeugen, die nicht in einer vorherigen Nebenklasse in dieser Zerlegung aufgetreten ist.
  • Zur Erzeugung des nicht-linearen Orthomorphismus wählt man bis zu 2n–2 Nebenklassen aus, die sich nicht überschneiden, und wendet die einzelnen mischenden Transformationen an. Es ist wünschenswert, Nebenklassen aus einer Vielfalt von Zerlegun gen, d.h. verschiedenen Spalten in Tabelle I, auszuwählen, um eine große Menge verschiedener Mischer zu erhalten.
  • 2. Optimierung der Nicht-Linearität
  • Nicht-Linearität weist eine negative Definition auf, und zwar nicht linear zu sein. Dies lässt eine umfangreiche Variation von Abbildungen zu, wie zum Beispiel affine oder stückweise lineare, die für kryptographische Zwecke nicht sehr viel besser sind als eine lineare Abbildung. Zusammen mit n-Bit Binärzahlen Z2 n unter Modulo-2-Addition ist eine Abbildung S: Z2 n Z2 n linear, wenn: S (x ⊕ y) = S(x) ⊕ S(y) für alle x, y ε Z2 n (125)
  • Man kann eine Abbildung N: Z2 n × Z2 n → Z2 n definieren durch: N(x, y) = s(x ⊕ y) ⊕ s(x) ⊕ s(y) (126)wobei S eine bijektive Abbildung auf Z2 n ist.
  • Der Definitionsbereich von N(x, y) ist vollständig aus Z2n × Z2 n, jedoch kann der Bereich eine passende Teilmenge von Z2 n sein. Wenn S linear ist, dann ist N(x,y) ≡ ⊝ . Wenn N(x,y) ≡ c ≠ ⊝ eine Konstante ist, dann ist S affin. Wenn der Bereich von N(x, y) vollständig aus Z2 n ist und wenn die Werte von N(x,y) mehr oder weniger gleichverteilt sind, dann ist S(x) „sehr" nicht-linear. Das Erlangen eines hohen Grades an Nicht-Linearität ist ein Ziel der erfindungsgemäßen Verfahren zur konstruktiven Verfälschung.
  • Die Abbildung des ursprünglichen linearen Orthomorphismus ist. F(xi) = xi+1–p (127)
  • Nach konstruktiver Verfälschung ist die modifizierte Abbildung: S(yi) = xi+1–p (128)wobei yi = xi ⊕ wi und wi ⊕ wi = ⊝ die mischende Transformation ist.
  • Figure 00880001
  • so daß: N(yi, yj) = F(wi) ⊕ F(wj) ⊕ F(wk) ≠ ⊝ (129a)wenn nicht wi ⊕ wj = wk ist .
  • Schlussfolgerung: Die Menge W = {wi} soll keine geraden Summen enthalten, daß heißt: wi ⊕ wi ≠ wk i ≠ j (129b)Wenn Gn–1 eine maximale Unter ru e von Gn ist, dann weist ihr Komplement
    Figure 00570001
    diese Eigenschaft auf. Da
    Figure 00880002
    ist, sind mehr potentielle mischende Transformationen mit dieser Eigenschaft verfügbar, als es zu verfälschende Nebenklassen gibt.
  • 3. Nichtannullierende mischende Transformationen
  • Man betrachte eine beliebige maximale Untergruppe Gn–1 und ihr entsprechendes Kom lement
    Figure 00590002
    . Jede enthält 2n–1 Zeilen oder Gleichungen. Jede maximale Untergruppe wird genau eine Menge von n – 1 aufeinanderfolgenden Gleichungen aus dem vollständigen Orthomorphismus enthalten und das Komplement wird genau eine Menge von n aufeinanderfolgenden Gleichungen aus dem vollständigen Orthomorphismus enthalten. Man wähle irgendwelche n aufeinanderfolgenden Gleichungen, die durch die Zahlen in der mittleren Spalte dargestellt sind. Die aufeinanderfolgenden Gleichungen werden eine vollständige linear unabhängige Menge sein: xa, xa+1,..., xa+m–1 (130)Gn–1 kann durch Auswahl aller geraden Summen von ihnen, d.h. Paarsummen, Quadrupeln etc., erzeugt werden. Die n – 1 aufeinanderfolgenden Gleichungen in Gn–1 werden durch die n – 1 Paare definiert: xa ⊕ xa+1, xa+1 ⊕ xa+2,... (131)
    Figure 00590002
    kann durch Aufnehmen aller ungeraden Summen von diesen n Zahlen, d.h. die n Zahlen selbst, Tripelsummen, Quintupeln etc., direkt erzeugt werden. Für jede Zahl xi ε
    Figure 00590002
    gibt es eine verfälschbare Untergruppe: Gi,0 2 = {⊝, xi, xi+1, xi ⊕ xi+1 (132)xi ⊕ xi = ⊝ ist die mischende Transformation für diese Untergruppe und alle ihre Nebenklassen der Ordnung 4. Die Zerlegung von Tabelle I kann deshalb durch die Zerlegung von Tabelle II ersetzt werden, die aus 2n–1 Spalten besteht, die jeweils eine Nebenklassenzerlegung darstellen die einem xi ε
    Figure 00570001
    entspricht. Daher stellt Tabelle II alle Nebenklassenzerlegungen von Gn durch verfälschbare Untergruppen der Ordnung 4 dar, die durch xi ε
    Figure 00590002
    definiert sind.
  • Figure 00890001
    Tabelle II.
  • Jede Nebenklassenzerlegung (Spalten in Tabelle II) enthält 2n–2 Nebenklassen, einschließlich der Untergruppe selbst, die jeweils aus vier Zeilen oder Gleichungen bestehen. Jedes Untergruppenpaar wird entweder eine Zeile ⊝ ⊕ ⊝ = ⊝ (dargestellt durch ⊝) oder zwei Zeilen ⊝ ⊕ ⊝ = ⊝ und xk–1 ⊕ xk = xk–p für einen Index k (dargestellt durch ⊝ und xk) teilen. Dementspre chend wird sich eine Nebenklasse in einer Nebenklassenzerlegung (Spalte in Tabelle II) mit entweder vier Nebenklassen oder zwei Nebenklassen in einer anderen Zerlegung (Spalte) überschneiden. Somit ergibt die Auswahl der ersten Nebenklasse aus einer Spalte eine Auswahlmöglichkeit von entweder 2n–2 – 4 Nebenklassen oder 2n–2 – 2 Nebenklassen von einer anderen Spalte ohne Überschneidung. Wenn zum Beispiel n = 4 ist, wird jede Nebenklassenzerlegung (Spalte) vier Nebenklassen, einschließlich der Untergruppe, enthalten. Wenn zwei Untergruppen nur ein ⊝ teilen, wird sich somit eine Nebenklasse von der einen mit der anderen Untergruppe und ihren drei Nebenklassen überschneiden. Wenn die zwei Untergruppen und ein xk teilen, dann wird eine Nebenklasse der einen sich mit genau zwei der anderen überschneiden, was die Auswahl von zwei sich nicht überschneidenden Nebenklassen aus zwei Spalten gestattet. Für größere Blockgrößen n werden die Auswahlmöglichkeiten stufenweise größer.
  • Zum Ausführen der Nicht-Linearisierung im Allgemeinen wird eine DSD-Einrichtung bereitgestellt, die eine beliebige Nebenklasse aus einer Spalte auswählt. Als nächstes prüft die DSD die ähnliche Nebenklasse in der gleichen Zeile, aber in der nächsten Spalte nach rechts. Wenn sie sich nicht mit der ersten Nebenklasse überschneidet, wird die ähnliche Nebenklasse ausgewählt. Wenn sie sich mit der ersten Nebenklasse überschneidet, wird die ähnliche Nebenklasse verworfen und die nächste Nebenklasse wird in der gleichen Zeile auf der nächsten Spalte geprüft. Die nächste Nebenklasse wird entsprechend in Abhängigkeit davon ausgewählt oder verworfen, ob sie sich mit der ersten Nebenklasse oder irgendeiner anderen, vorher ausgewählten Nebenklasse überschneidet oder nicht. Dieses Verfahren wird fortgesetzt, bis eine Sammlung von sich nicht überschneidenden Nebenklassen von unterschiedlichen Spalten ausgewählt ist. Mit diesem Verfahren wird jede ausgewählte Nebenklasse einen anderen Mischer aufweisen und keiner wird die Summe irgendeines anderen Mischerpaares sein. Es sei angemerkt, daß die sich ergebenden ausgewählten Nebenklassen sich nicht mit irgendeiner der anderen ausgewählten Nebenklassen überschneiden. Es sei weiterhin angemerkt, daß es nicht notwendig ist, die Nebenklassen auf einer zeilenweisen Basis zu prüfen. Die Nebenklassen können stattdessen in beliebiger Ordnung geprüft werden. Die zeilenweise Vorgehensweise stellt jedoch eine Effektivität bereit.
  • Wenn zum Beispiel die DSD in einer Zeile j von Tabelle II starten würde, würde die DSD eine Sammlung von Nebenklassen der Form Gkj 2 erzeugen, wobei k über eine Teilmenge der 2n–2 Spalten in der Tabelle variiert. Nach Durchlauf einer Zeile in Tabelle II kann die DSD zu einer anderen Zeile weitergehen und Nebenklassen von vorher nicht verwendeten Spalten prüfen. Eine Untergruppe der Ordnung 4 nicht mitgezählt, gibt es maximal 2n–2 – 1 Nebenklassen, die auf diese Art und Weise erhalten werden können.
  • Wenn die erste Zeile in Tabelle II verwendet wurde, kann nur eine Auswahl getroffen werden, da sie nur aus Untergruppen besteht, die jeweils mindestens die Identität ⊝ teilen. Wenn der zu erstellende nicht-lineare Orthomorphismus jedoch ⊝ als Festpunkt bewahren soll, d.h. ⊝ ⊕ ⊝ = ⊝ bewahren soll, dann wird die erste Zeile nicht verwendet.
  • Mit n = 8 und der erzeugenden Funktion xk = xk–8 ⊕ xk–6 xk–s ⊕ xk–2 sei {A, B, C, D, E, F, G, H} eine vollständige linear unabhängige Menge. Zur Vereinfachung der Bezeichnung stehe A,B,C für A ⊕ B ⊕ C. Damit kann der lineare Orthomorphismus maximaler Länge zum Teil dargestellt werden durch:
  • Figure 00910001
  • In unserer Vereinbarung wird die orthomorphe Abbildung, die wir zur Verschlüsselung verwenden, zum Beispiel S(D) = DE von Zeile 5 sein.
    Figure 00920001
    kann durch Aufnahme der vollständigen linear unabhängigen Menge und allen ungeraden Summen erzeugt werden.
  • Figure 00920002
  • Tabelle II weist die Form auf:
  • Figure 00920003
  • Eine typische Nebenklasse in Spalte 1 weist die Form auf:
    Figure 00920004
    mit der mischenden Transformation A ⊕ A = ⊝ . Ihr ähnliches Bild in Spalte 2 ist:
    Figure 00920005
    mit der mischenden Transformation B ⊕ B = ⊝ . Da sich diese beiden Nebenklassen nicht überschneiden, können beide ausgewählt werden. Sich nicht überschneiden bedeutet, daß die Nebenklassen keine gemeinsame Gleichung aufweisen oder dem entsprechend, daß die Nebenklassen keine Zahl in ihren mittleren Spalten teilen.
  • 4. Restlinearität
  • Restlinearität wird als der Fall angesehen, in dem N(x,y) = ⊝ und x ≠ ⊝, y ≠ ⊝ und x ≠ y. Man nehme an, daß maximal eine Menge in jeder Zerlegung (Spalte) verfälscht ist. Ein derartiger Fall kann auf zwei Arten und Weisen auftreten, selbst wenn die Menge der Mischer keine geraden Summen aufweist. Wenn zwei Zahlen a, b ε Gij 2 sind, dann ist a ⊕ b = c ε Gi0 2 die Untergruppe, die dieser Nebenklasse entspricht. Laut Annahme ist die Nebenklasse Gij 2 mit dem Mischer xi verfälscht, jedoch ist wie vorstehend angenommen Gi0 2 als eine Untergruppe nicht verfälscht. Jedoch ist c eines der von Null verschiedenen Elemente von Gi0 2 {xi, xi+1, xi ⊕ xi+1}. Dies tritt in jeder anderen Nebenklassenzerlegung auf. wenn sie alle in Nebenklassen, die in anderen Zerlegungen verfälscht sind, auftreten, zum Beispiel, wenn c ε Gkj 2 für ein k und j mit Mischer xk, dann wird c so modifiziert, daß es c ⊕ xk wird. In diesem Fall ist, wie vorstehend in Abschnitt 2:
    Figure 00930001
    wobei S eine nicht-lineare Abbildung ist und F die lineare Abbildung ist, von der S abgeleitet ist. Wenn jedoch c nicht in irgendeiner Nebenklasse auftritt, die verfälscht ist, dann ist das Tripel a,b,c linear.
  • Allgemein wird es eine Restmenge von Zeilen oder Zahlen H geben, die nicht von ihrer Form im ursprünglichen linearen Orthomorphismus Gn modifiziert sind, der die lineare F definiert. Wenn e,f und e ⊕ f ε H ist, dann wird dieses Tripel linear bleiben. Eine hinreichende Bedingung dies zu vermeiden ist, daß H im Komplement einer maximalen Untergruppe enthalten ist.
  • Mit Blick auf die vorstehenden allgemeinen Hinweise und Beispiele wird ein Verfahren zum Ausführen dynamischer Block substitutionen, das in 24 dargestellt ist, wie folgt bereitgestellt. Wie bei den vorstehend beschriebenen Verfahren wirkt das Verfahren in 24 zum Verschlüsseln einer Menge von 2n eindeutigen Klartextgleichungsblöcken von n-Bit Binärzahlen, indem es sie durch dazugehörige eindeutige verschlüsselte Blöcke von n-Bit Binärzahlen substituiert. Auch wie bei den vorstehend beschriebenen Verfahren beginnt die Verschlüsselung bei Menge [Schritt] 502 durch Auffinden einer ersten Menge Gn von 2n Gleichungen. Die Gleichungen schließen die Einheitsgleichungen ⊕ ⊝ = ⊝ ein und die verbleibenden 2n – 1 Gleichungen lassen sich wie folgt ordnen:
    Figure 00940001
    mit m = 2n und Ln, Mn und Rn sind die linke, mittlere beziehungsweise rechte Spalte der Gleichungsmenge und Gn = Ln X Mn X Rn stellt die Gleichungsmenge dar.
  • Die erste Gleichungsmenge stellt einen linearen Orthomorphismus dar, wobei jede Gleichung der Menge die Modulo-2-Additionen einer der 2n Klartextblöcke in der linken Spalte mit einer eindeutigen der 2n n-Bit Blöcke in der mittleren Spalte darstellt, um einen zugehörenden eindeutigen n-Bit Block in der rechten Spalte bereitzustellen. Alle Gleichungen in der ersten Menge der 2n Gleichungen sind durch die Modulo-2-Vektorsumme einer beliebigen Anzahl von Gleichungen gekennzeichnet, die ebenso Gleichungen in der ersten Gleichungsmenge sind.
  • In den Schritten 504 – 508 werden die Gleichungen der ersten Gleichungsmenge modifiziert, um eine zweite Gleichungsmenge bereitzustellen. Die Gleichungen werden so modifiziert, das die modifizierten Gleichungen gemeinsam die gleichen Textblöcke in der linken Spalte auf eindeutige n-Bit Blöcke in der rechten Spalte abbilden, jedoch in einer nicht-linearen Art und Weise, so daß jede der modifizierten Gleichungen nicht allgemein die Modulo-2-Summe einer beliebigen Anzahl von Gleichungen im unmodifizierten ersten Schritt ist. Konkret wird in Schritt 504 die erste Gleichungsmenge in eine Tabelle verfälschbarer Nebenklassen der Ordnung 4 zerlegt, die auf verschiedenen Untergruppen basiert. Die sich ergebende Tabelle wird allgemein dargestellt durch:
  • Figure 00950001
  • Jede Spalte stellt eine Nebenklassenzerlegung des gleichen linearen Orthomorphismus dar, der auf verschiedenen Untergruppen von Gn basiert. a, i und j sind beliebige ganzzahlige Indizes. Die Zerlegung kann erreicht werden, indem zuerst eine Untergruppe erzeugt wird durch Auswählen beliebiger zwei aufeinanderfolgender Gleichungsspalten der ersten Gleichungsmenge, durch Addieren der zwei Gleichungen, um eine dritte Gleichung zu erhalten, und durch Vervollständigen der Untergruppe unter Einbeziehung der Einheitsgleichung. Zum Beispiel können die 12-te und 13-te Zeile der ersten Gleichungsmenge ausgewählt und miteinander addiert werden, um eine dritte Gleichung (die eine der anderen Gleichungen der ersten Gleichungsmenge ist) zu erhalten. Wie angemerkt, ist die vierte Gleichung der Untergruppe die Einheitsgleichung. Die Untergruppe wird dann eingesetzt, um eine Spalte der Tabelle, zum Beispiel die Spalte „a", zu erzeugen. Die gesamte Spalte stellt einen linearen Orthomorphismus der ersten Gleichungsmenge dar, bei dem jedes Element jeder Spalte eine verfälschbare Nebenklasse darstellt. Dann wird ein zweites Paar aufeinanderfolgender Gleichungen ausgewählt, um eine zweite Untergruppe zu erzeugen und eine zweite Spalte der Tabelle wird erzeugt und so weiter, bis eine Untergruppe erreicht ist, die sich mit einer zuvor verwendeten Untergruppe überschneidet. In einigen Ausführungen kann es nicht notwendig sein, eine vollständige Nebenklassenzerlegung durchzuführen.
  • In Schritt 506 wird eine Menge von sich nicht überschneidenden Nebenklassen von den Zeilen der Tabelle ausgewählt. Die sich nicht überschneidenden Nebenklassen werden durch Wahl einer ersten Menge innerhalb einer Zeile ausgewählt, dann wird bestimmt, ob die rechts innerhalb der gleichen Zeile angrenzende Nebenklasse die erste Nebenklasse überschneidet. Zum Beispiel kann die erste Nebenklasse der zweiten Zeile ausgewählt werden. Die rechts in der zweiten Zeile unmittelbar angrenzende Nebenklasse wird dann verglichen, um zu bestimmen, ob eine Überschneidung auftritt. Wie oben angemerkt, werden zwei Nebenklassen als sich nicht überschneidend erachtet, wenn die Nebenklassen keine gemeinsame Gleichung aufweisen oder entsprechend, daß sich die Nebenklassen keine Zahl in ihren mittleren Spalten teilen. Eine dritte Nebenklasse, die sich unmittelbar rechts von der zweiten Nebenklasse befindet, wird geprüft, um zu bestimmen, ob sie sich mit einer der ersten Nebenklassen überschneidet. Auf diese Art und Weise werden alle sich nicht überschneidenden Nebenklassen der ersten Zeile ausgewählt. Dann werden die sich nicht überschneidenden Nebenklassen der zweiten Zeile ausgewählt. Dieser Prozess dauert an, bis alle oder mindestens eine ausreichende Anzahl von sich nicht überschneidenden Nebenklassen ausgewählt ist. Üblicherweise ist es erforderlich, nur ungefähr dreiviertel der Nebenklassen zu prüfen, um eine ausreichende Anzahl von sich nicht überschneidenden Nebenklassen zu erhalten. Darüber hinaus müssen die Nebenklassen nicht zeilenweise ausgewählt werden. Es kann stattdessen irgendein Verfahren zur Auswahl von Nebenklassen zum Überschneidungsvergleich eingesetzt werden. Jedoch stellt die zeilenweise Auswahl der Nebenklassen ein besonders effizientes Ausführungsverfahren bereit.
  • Die sich ergebende Sammlung von Nebenklassen weist jeweils eine diese zugeordnete eindeutige mischende Transformierung auf. Die mischenden Transformierungen werden auf die erste Gleichungsmenge angewendet, um eine zweite Gleichungsmenge zu erhalten. Im Allgemeinen ist dies die gleiche Art und Weise des Mischens, wie vorstehend mit Bezug auf andere Verfahren der konstruktiven Verfälschung beschrieben wurde. Konkret wird für jede ausgewählte, sich nicht überschneidende Nebenklasse die mischende Transformierung, die zu der, der Nebenklasse entsprechenden Untergruppe gehört, auf die Gleichungen der Nebenklasse angewendet. Dies bewirkt die Umordnung der Elemente der Gleichungen der ersten Gleichungsmenge, die die Nebenklassen bilden. Dies führt eine Umordnung der Gleichungen der ersten Menge aus, um die gewünschte nicht-lineare zweite Gleichungsmenge zu erhalten. Der Schritt der Anwendung der mischenden Transformierungen auf die erste Gleichungsmenge ist in 24 als Schritt 508 bezeichnet.
  • In 510 wird die Verschlüsselung unter Verwendung der zweiten Gleichungsmenge ausgeführt, indem die Elemente einer zweiten Spalte von Klartextblöcken auf diejenigen in einer ersten Spalte von Klartextblöcken angewendet werden. Konkret wird für jeden zu verschlüsselnden Klartextblock in der linken Spalte derjenige der 2n n-Bit Blöcke, der eindeutig damit in der mittleren Spalte verbunden ist, gemäß der zugehörigen Gleichung der zweiten Gleichungsmenge von 2n Gleichungen zu diesem Block modulo-2-addiert, um den verschlüsselten Block in der rechten Spalte zu erhalten. Der letzte Schritt 510 ist den vorhergehenden letzten Schritten ähnlich, die vorstehend mit Bezug auf die anderen Ausführungsbeispiele der Erfindung beschrieben wurden.
  • Als eine Alternative zur Auswahl nur derjenigen Nebenklassen, die sich überschneiden, kann ein Auswahlverfahren ausgeführt werden, bei dem nur sich nicht überschneidende Nebenklassen von verschiedenen Spalten ausgewählt werden. Obwohl ein derartiges Verfahren komplizierter und deshalb zeitaufwen diger ist, weist es den Vorteil auf, einen größeren Grad an Nicht-Linearität zu erreichen. Ein anderes alternatives Verfahren umfasst die Auswahl sich nicht überschneidender Nebenklassen von Spalten, die mischende Transformierungen aufweisen, die nicht die Modulo-2-Summe der mischenden Transformierungen von beliebigen zwei zuvor ausgewählten, sich nicht überschneidenden Nebenklassen sind. Mit anderen Worten wird eine sich nicht überschneidende Nebenklasse nur dann ausgewählt, wenn w1 ⊕ w2 ungleich w3 ist, wobei w3 die mischende Transformierung einer neu ausgewählten, sich nicht überschneidenden Nebenklasse ist und w1 und w2 die mischenden Transformierungen beliebiger zwei zuvor ausgewählter, sich nicht überschneidender Nebenklassen sind. Erneut ist das alternative Verfahren komplizierter. Es weist aber den Vorteil auf, einen größeren Grad an Nicht-Linearität zu erreichen.
  • Bevorzugt werden festverdrahtete Schaltungen zur Ausführung der verschiedenen, in 24 dargelegten Schritte eingesetzt. Es können jedoch alternativ auch programmierte Computer oder Mikroprozessoren eingesetzt werden.
  • 5. Das Bar-Sinister-Verfahren der Konstruktiven Verfälschung
  • Das Verfahren der nichtanullierenden Transformationen, das vorstehend mit Bezug auf 24 beschrieben wurde, erzeugt üblicherweise Orthomorphismen mit gegebenenfalls geringer Restnichtlinearität. Das heißt, der Bereich von N(x,y) ist der gesamte von Z2 n mit einer relativ gleichen Verteilung. Das Verfahren der nichtanullierenden Transformationen kann jedoch für sehr kleine Blockgrößen nicht effizient arbeiten. Wie in Abschnitt 3 hervorgehoben wurde, können für n = 4 nur 8 von 16 Gleichungen unter Verwendung des Verfahrens der nichtanullierenden mischenden Transformationen modifiziert werden. Das nachfolgende Verfahren ist für die konstruktive Verfälschung linearer Orthomorphismen kleiner Blockgröße besser geeignet.
  • Wie zuvor, kann ein linearer Orthomorphismus auf Z2 n geschrieben werden als:
  • Figure 00990001
  • Zur Vereinfachung der Bezeichnung können wir xk–1 = Lk in der linken Spalte; xk = Mk in der mittleren Spalte und xk–p = Rk in der rechten Spalte verwenden. In diesem Fall kann die unmittelbar vorstehende Gleichung umgeschrieben werden zu:
  • Figure 00990002
  • Wenn die Spalten L und M permutiert werden können, wobei die Spalte R konstant gelassen und Gleichheit beibehalten wird, wird ein neuer und allgemein nicht-linearer Orthomorphismus erzeugt. Dies wird durch Auffinden einer konsistenten Gleichungsmenge erreicht: Li ⊕ Mj = Rk (139a) wobei sich die Indizes auf die Zeilennummern in Gleichung (139) beziehen. Der Index k ist eine Funktion der Indizes i und j, so daß man schreiben kann: k ≡ k(i, j) (140)
  • Laut Gleichung (138) ist Li ⊕ Mi–1 = R0 = ⊝ für alle i, so daß k(i, i–1) = 0 ist . Li ⊕ Mi = Ri, so daß k(i, i) = i ist. L0 ⊗ Mi = Ri+p und Li ⊕ M0 = Ri+p–1 von Gleichung (138) , wobei p die Verschiebung zwischen der mittleren und rechten Spalte ist, die durch die erzeugende Funktion für den linearen Orthomorphismus bestimmt ist . Somit ist k(0, i) = i + p und k(i, 0) = i + p –1. Diese möglichen Kombinationen in Gl. (138) sind in Tabelle III angegeben.
  • In Tabelle III sind die Einträge Indizes von k(i,j) von Rk = Li ⊕ Mj, wobei die Indizes Zeilennummern im linearen Orthomorphismus in Gleichung a sind.
  • Figure 01000001
    Tabelle III
  • Jede Zeile und jede Spalte in Tabelle III enthält jeden Index der Menge {0,1,2,..., m} genau einmal. Ein Orthomorphismus wird durch Auswahl eines Eintrags von jeder Zeile und Spalte ohne Duplikate erzeugt. Entsprechend können die Einträge k(i,j) als Koordinaten der Z-Achse in einem 3-dimensonalen Array angesehen werden. In diesem Fall muss jede Zeile, Spalte und parallele Ebene genau einmal aufgesucht werden.
  • Wenn die Hauptdiagonale von oben rechts nach unten links gewählt wird, erhält man den ursprünglichen linearen Orthomorphismus. Wenn die Nebendiagonale von oben links nach unten rechts gewählt wird, k(i,i–1), ist einfach zu erkennen, daß der triviale Orthomorphismus, der alles auf ⊝ abbildet, erhalten wird. Wie vorstehend angemerkt, ist xi–1 = Li und xj = Mj . Somit ist xi–1 ⊕ xj = xk–p (141)
  • Diese Gleichung entspricht einer Potenz s der grundlegenden orthomorphen Permutation, in der i – 1 = j – s und k – p = j – ps ist . Somit ist s = j – i + 1 und k + j + p – ps = j + p – p(j–1+1). Wenn ps als eine Funktion von s tabellarisiert wurde, kann Tabelle III auf diese Art und Weise abgeleitet werden. (Siehe Anhang VIII, Abschnitt 4). Man betrachte nun jede andere derartige Diagonale von oben links nach unten rechts, das heißt k(i,i+a) für alle i und ein konstantes a. Dann ist k (i, i+a) = i + a – ps, mit s = a + 1 und xi–1 ⊝ xi+a = xi+a–ps. Somit ist der erzeugte Orthomorphismus die (a+1) -te Potenz des Originals und ist wiederum linear.
  • Wenn nun die Diagonale von oben rechts nach unten links gewählt wird, können wir mit einem Paar starten: La ⊕ Mb = Rk mit k = k (a, b) (142)oder entsprechend: xa–1 ⊕ xb = xb–-ps = xk–p (143)mit s = b – a + 1 mod m .
  • Man gehe absteigend von rechts nach links mit den aufeinanderfolgenden Werten: k(a+i, b–i) = b + p – ps – 2i (144) und den Gleichungen der Form xa+i–1 ⊕ xb–i = xb–i–ps vor, wobei s = b – i – (a+i–1) = b – a + 1 – 2i mod m ist und die aufeinanderfolgenden Werte des Index i Gleichungen unterschiedlicher Potenz des grundlegenden linearen Orthomorphismus ergeben. Das Vorgehen entlang derartiger Diagonalen von oben rechts nach unten links führt schließlich zu einem wiederholten Wert von k(i,j). Diese „Kollision" tritt auf, wenn
    Figure 01020001
    so daß i = p(b–a+1) – p(b–a+1–2i) ist. Der wiederholte Wert wird entweder übersprungen oder es erfolgt ein Übergang zu einer parallelen Diagonale. Das Verfahren wählt dabei Einträge entlang einer oder mehr Diagonalen von oben rechts nach unten links der Einträge der Tabelle III aus. Dieses Verfahren wird hier als Bar-Sinister-Verfahren bezeichnet, da die sich ergebende Richtung der Diagonalen an Bar Sinister der Heraldik erinnert.
  • 6. Bestimmung der Mischenden Transformationen
  • Wie vorstehend in Abschnitt 4 erwähnt, geben die verwendeten Mischer ein Maß der Restlinearität an. Obwohl der nichtlineare Orthomorphismus im Bar-Sinister-Verfahren ohne Verwendung von mischenden Transformationen erzeugt wurde, liefert deren Bestimmung gewisse Informationen über Nicht-Linearität in der in Abschnitt 2 beschriebenen Bedeutung. Üblicherweise ist es nur erforderlich, die linken bzw. mittleren Spalten des ursprünglichen Orthomorphismus mit denen der nicht-linearen Version zu vergleichen, wobei man die rechte Spalte in der ursprünglichen Ordnung beibehält. Wenn entsprechend die k-ten Zeilen sind
  • Figure 01020002
  • 7 Erstellung der Bar-Sinister-Tabelle
  • Da die Tabelle der Einträge, die während des Bar-Sinister-Verfahrens erzeugt wurden, 22n Einträge aufweist, erscheint es als eine beachtliche Aufgabe, die Tabelle zu erstellen. Es gibt jedoch einige Vereinfachungen. Zum Beispiel werden die oberste Zeile und die linke Besatzung automatisch erzeugt. Sie werden jedoch nicht benötigt, wenn ⊝ als konstanter Punkt beibehalten wird. Die Hauptdiagonale von oben links nach unten rechts und die Nebendiagonale sind ebenfalls konstant. Man betrachte xm ⊕ xl = xl–ps in der Zeile mit Index 1. s ≡ (1–m) mod m = 1. Somit ist k (1,l) = l – pl. In Zeile 2 ist xl ⊕ xl+1 = xl+1ps, wobei wiederum s ≡ (l+11) mod m = 1 ist. Daher ist k(2,1) = l + 1 – pl = k (1,l) + 1. Im Allgemeinen ist k (1+d,l) = k(1,l) + d. k (1,m) = 0. Somit ist es nur erforderlich, 2n – 3 Zahlen in der Zeile mit Index 1 zu bestimmen.
  • Unter Berücksichtigung der vorstehenden allgemeinen Hinweise und Beispiele ergibt sich ein Verfahren zum Ausführen von dynamischen Blocksubstitutionen, das das Bar-Sinister-Verfahren der Erfindung einsetzt, wie folgt. Das Verfahren ist in 25 dargestellt. Wie bei den vorstehend beschriebenen Verfahren bewirkt das Verfahren in 24 das Verschlüsseln einer Menge von 2n eindeutigen Klartextgleichungsblöcken von n-Bit Binärzahlen, indem es diese durch zugehörige eindeutige verschlüsselte Blöcke von n-Bit Binärzahlen substituiert. Die Verschlüsselung beginnt in Menge [bei Schritt] 602 mit dem Auffinden einer ersten Gleichungsmenge Gn von 2n Gleichungen. Die Gleichungen schließen die Einheitsgleichungen ⊝ ⊕ ⊝ = ⊝ ein und die verbleibenden 2n – 1 Gleichungen lassen sich wie folgt ordnen:
    Figure 01040001
    rechte Spalten entsprechend der Gleichungsmenge.
  • Wie bei der ersten Gleichungsmenge, die in dem vorstehend beschriebenen Verfahren eingesetzt wurde, stellt die erste Gleichungsmenge des Verfahrens in 25 einen linearen Orthomorphismus dar, wobei jede Gleichung der Gleichungsmenge die Modulo-2-Additionen einer der 2n Klartextblöcke in der linken Spalte mit einem eindeutigen der 2n n-Bit Blöcke in der mittleren Spalte darstellt, um einen zugehörenden eindeutigen n-Bit Block in der rechten Spalte bereitzustellen. Alle Gleichungen in der ersten Menge der 2n Gheichungen sind durch die Modulo-2-Vektorsumme irgendeiner Anzahl von Gleichungen gekennzeichnet, die ebenso eine der Gleichungen in der ersten Gleichungsmenge sind.
  • In den Schritten 604 – 608 werden die Gleichungen der ersten Gleichungsmenge modifiziert, um eine zweite Gleichungsmenge bereitzustellen. Die Gleichungen werden so modifiziert, daß die modifizierten Gleichungen gemeinsam die gleichen Textblöcke in der linken Spalte auf eindeutige n-Bit Blöcke in der rechten Spalte abbilden. Dies geschieht jedoch in einer nichtlinearen Art und Weise, so daß jede der modifizierten Gleichungen nicht allgemein die Modulo-2-Summe irgendeiner Anzahl Gleichungen im unmodifizierten ersten Schritt ist.
  • Konkret wird das Auffinden der zweiten Gleichungsmenge durch Auffinden einer konsistenten Gleichungsmenge ausgeführt Li ⊕ Mj = Rk (148) wobei xk–1 = Lk die linke Spalte, xk = Mk die mittlere Spalte und xk–p = Rk die rechte Spalte ist und k eine Funktion von i und j ist.
  • Die Schritte zum Auffinden der konsistenten Gleichungsmenge umfassen die Schritte 604, 606 und 608. In Schritt 604 wird eine Tabelle mit Indizes von k entwickelt, wobei jede Zeile und jede Spalte der Tabelle jeden Index in der Menge {0,1,2,..., m} enthält. Die Tabelle der Indizes ist vorstehend in Tabelle III dargestellt. In Schritt 604 wird ein Eintrag von jeder Zeile und Spalte der Tabelle durch Wahl eines Indizes und Auswahl von Einträgen entlang einer Diagonale in der Tabelle, die sich von oben nach unten, j, und von unten nach oben, i, erstreckt, ohne Duplikate ausgewählt. Mit anderen Worten wird innerhalb von Tabelle III eine Diagonale ausgewählt, die sich von oben rechts nach unten links erstreckt. Zum Beispiel kann der Eintrag j=m, i=0 ausgewählt werden. Als Nächstes wird der Eintrag j=m–1, i=1 verglichen, um festzustellen, ob die zwei Elemente keine Duplikate sind. Wenn die Elemente Duplikate sind, wird j=m–1, i=1 verworfen. Wenn nicht, wird der nächste Eintrag entlang der Diagonale von oben rechts nach unten links ausgewählt. Der Prozess dauert entlang der Diagonale an, bis ein Duplikatausdruck angetroffen wird. Wenn ein Duplikateintrag angetroffen wurde, wird entweder ein Übergang zu einer angrenzenden Diagonale durchgeführt oder der Eintrag wird einfach übersprungen und die Verarbeitung dauert entlang der ursprünglichen Diagonale an. Auf diese Art und Weise wird eine Menge von nichtduplikaten Einträgen entwickelt.
  • Zur Auswahl der Einträge können andere Verfahren einge. setzt werden, die nicht notwendigerweise die Durchquerung einer Tabellendiagonale von unten links nach oben rechts bedingen. Es hat sich jedoch der Einsatz einer derartigen Diagonale als besonders effektiv zum Auffinden nichtduplikater Einträge, die einen nicht-linearen Orthomorphismus ergeben, herausgestellt. Es sei angemerkt, daß die Auswahl einer Diagonale von oben links nach unten rechts einen linearen Orthomorphismus ergibt.
  • In Schritt 608 werden die ausgewählten Einträge auf die erste Gleichungsmenge in der vorstehend mit mathematischen Ausdrücken beschriebenen Art und Weise angewendet, um die zweite Gleichungsmenge zu erhalten. Es sei angemerkt, daß keine mischenden Transformierungen erzeugt werden müssen. Vielmehr stellen die ausgewählten nichtduplikaten Einträge die Indizes zum Umordnen der Gleichungen der ersten Menge bereit, um die zweite Menge zu erhalten.
  • In 610 wird die Verschlüsselung durch Anwendung der zweiten Gleichungsmenge auf die Klartextdaten ausgeführt. Konkret wird für jeden zu verschlüsselnden Klartextblock in der linken Spalte derjenige der 2n n-Bit Blöcke, der eindeutig damit in der mittleren Spalte verbunden ist, gemäß der zugehörigen Gleichung der zweiten Gleichungsmenge der 2n Gleichungen zu diesem Block Modulo-2-addiert, um den verschlüsselten Block in der rechten Spalte zu erhalten. Der letzte Schritt 610 ist den vorhergehenden letzten Schritten ähnlich, die vorstehend mit Bezug auf die anderen Ausführungsbeispiele der Erfindung beschrieben wurden.
  • Nachdem eine bestimmte Menge von Indizes ausgewählt wurde, die einen nicht-linearen Orthomorphismus ergeben, können die beliebigen Indizes des nicht-linearen Orthomorphismus auf irgendeine große Zahl von Kombinationen bestimmter numerischer Werte gesetzt werden, um damit eine große Zahl von verschiedenen Verschlüsselungscodes zu erhalten. Darüber hinaus können zusätzliche nicht-lineare Orthomorphismen durch Ausführen des Auswahlverfahrens auf der Indextabelle erzeugt werden, wobei jedoch zum Beispiel mit einem unterschiedlichen Eintrag entlang einer anderen Diagonale begonnen wird. Im Allgemeinen gibt es eine sehr große Anzahl möglicher Kombinationen von nichtduplikaten Einträgen, die aus der Tabelle unter Verwendung des diagonalen Auswahlverfahrens ausgewählt werden können.
  • Obwohl das Verfahren in 25 auch für große Blockgrößen eingesetzt werden kann, ist es für kleine Blockgrößen, wie zum Beispiel n = 5 oder n = 4, ideal geeignet.
  • Bevorzugt werden festverdrahtete Schaltungen zur Ausführung der verschiedenen, in 25 dargelegten Schritte eingesetzt. Es können jedoch alternativ auch programmierte Computer oder Mikroprozessoren eingesetzt werden.
  • 8. Ein Beispiel für die Blockgröße 4
  • 26 ist ein Beispiel der Indextabelle für die Blockgröße 4, die unter Verwendung des Verfahrens von 25 entwickelt wurde. Konkret stellt 26 eine kompatible Umordnung der Indexspalten bereit, für n = 4, p = 4, xk = xk–4 ⊕ xk–1 (149)
  • Der Inhalt der Tabelle in 26 sind ganze Zahlen k, die Rk, der rechten Spalte des linearen Orthomorphismus Lk ⊕ Mk = Rk, entsprechen. Jeder Eintrag ist die Modulo-2-Summe der entsprechenden i-ten und j-ten Indizes. Die i-ten Indizes sind durch die Bezugsziffer 700 dargestellt und die j-ten Einträge sind durch die Bezugsziffer 702 dargestellt.
  • Der ursprüngliche lineare Orthomorphismus entspricht demjenigen, der vorstehend in Abschnitt 1 mit p = 4 gezeigt ist. Die Tabelle zeigt kompatible Umordnungen der drei Spalten. Zum Beispiel weisen L10 und M6 den entsprechenden Eintrag k(10, 6) = 14 auf, was bedeutet, daß Ll0 ⊕ Ms = R14 ist oder daß x10–1 ⊕ x6 = x14–4 x9 ⊕ x6 = x10 (150)
  • Die kleinen Kreise in 26, die allgemein durch die Bezugsziffer 704 bezeichnet sind, sind ausgewählte Werte von k(a,b), die alle verschieden sind und von jeder Zeile und Spalte genau einmal übernommen wurden. Entsprechend stellt dies einen 16 × 16 × 16 Würfel dar, in dem jede Zeile und Spalte der X,Y-Ebene und jeder parallelen Ebene entlang der Z-Achse genau einmal abgetastet wurde. Soweit wie möglich wurde eine Diagonale von unten links nach oben rechts verwendet.
  • Drei Werte von k, 15, 1 und 3, treten in einer Diagonalen von oben links nach unten rechts auf. Die Werte definieren drei Gleichungen der Form: xi–6 ⊕ xi = xi–p6 mit ps = 13. (151)Wenn g die Permutation von Z2 4 kennzeichnet, die durch die erzeugende Funktion xk = xk–4⊕ xk–1 definiert ist, die auf eine vollständige linear unabhängige Menge einwirkt, dann kommen diese drei Gleichungen von dem durch g6 definierten Orthomorphismus. Die drei Gleichungen sind jedoch linear unabhängig und bilden somit keine lineare Untergruppe in dem durch die Auswahl in 26 definierten Orthomorphismus.
  • Der nicht-lineare Orthomorphismus, der sich aus der Anwendung der ausgewählten, nichtduplikaten Einträge ergibt, ist in Tabelle IV bereitgestellt.
  • Figure 01080001
    Tabelle IV
  • IX. DEFINITIONEN DER AUSDRÜCKE UND SYMBOLE
  • Alle nachfolgenden Definitionen bezeichnen n-Bit Binärzahlen unter der Operation der bitweisen Addition Modulo 2 (XOR) und bijektive Abbildungen auf diese Zahlen.
  • Affine Abbildung: Eine bijektive Abbildung, T auf Z2 n , so daß T(x) ⊕ T(y) = T(x ⊕ y) ⊕ c für irgendeine Konstante c und alle x, y, e Z2 n. Im Ingenieurwesen wird dies oft als linear bezeichnet. Hier ist der Ausdruck linear für den Fall der zusätzlichen Identität c = θ reserviert.
  • Vollständig symmetrische Abbildung: Es sei Hi eine maximale Untergruppe von Z2 n, d.h. Hi ist eine Untergruppe der Ordnung
    Figure 01090001
    . Wenn eine eineindeutige Abbildung T die Eigenschaft
    Figure 01090002
    für alle maximalen Untergruppen aufweist, wird T als vollständig symmetrische Abbildung bezeichnet.
  • Vollständig verfälschbar: Eine verfälschbare Nebenklasse mit einer maximalen Anzahl mischender Transformationen. Wenn die Ordnung der vollständig verfälschbaren Nebenklasse 2k ist, dann ist die Ordnung der entsprechenden Menge mischender Transformierungen 2k–1.
  • Konstruktive bzw. verdeckte Verfälschung: Der Prozess der Umwandlung eines linearen Orthomorphismus in einen nichtlinearen Orthomorphismus durch Neuordnung der Reihenfolge der Blöc– ke in zwei Spalten des linearen Arrays von Gleichungen ( 2), wobei die dritte Spalte festgehalten wird und die Gleichheit in jeder Zeile beibehalten wird.
  • Verfälschbare Menge: Eine Gleichungsmenge, üblicherweise eine Nebenklasse oder eine Untergruppe, die durch den Prozess der konstruktiven Verfälschung zu einer in sich geschlossenen Menge nicht-linearisiert werden kann.
  • Dynamische Substitutionseinrichtung: Eine Blocksubstitutionseinrichtung oder S-Box, die einen Orthomorphismus auf die n-Bit Binärzahlen Z2 n zum Verschlüsseln und Entschlüsseln verwendet.
  • Erzeugungsfunktion: Eine rekursive Funktion der Form xk = xk–n ⊕ xk–i ⊕... (152 ) die bei Anwendung auf eine vollständige, linear unabhängige Menge von n-Bit Zahlen einen linearen Orthomorphismus in Gleichung 11 definiert. Dies sind dieselben wie die Erzeugungsfunktionen linear rückgeführter Schieberegister, aber mit dem Definitionsbereich Z2 n anstatt der einzelnen Binärbits. Die Erzeugungspolynome sind primitive Polynome im Galois-Feld GF(2n).
  • Lineares Array: Ein Array von 2n Gleichungen, das einen linearen (automorphen) Orthomorphismus auf Z2 n darstellt. (Siehe Gleichung 11) Linearer Orthomorphismus: Ein Orthomorphismus, bei dem die Abbildung Z2 n → Z2 n linear ist .
  • Maximaler Orthomorphismus: Ein Orthomorphismus, der als eine Permutation von Z2 n ohne Zyklen, einen einzelnen festen Punkt ausgenommen, dargestellt werden kann.
  • Mischer oder Mischende Transformation / Transformierung: Eine im Prozess der konstruktiven Verfälschung verwendete Gleichung der Form w ⊕ w = θ . Der Mischer oder die mischende Transformierung wird zu einer verfälschbaren Gleichungsmenge in einem linearen Orthomorphismus vektoriell modulo-2-addiert, um einen nichtlinearen Orthomorphismus zu erhalten.
  • Orthomorphismus: Eine eineindeutige Abbildung auf Z2 n, so daß jede auf ihr Abbild modulo-2-addierte Zahl alle Z2 n erzeugt, das heißt R: Z2 n → Z2 n, so daß {x ⊕ R(x) | x ε Z2 n} = Z2 n. (153)
  • Orthomorphe Permutation: Die durch einen Orthomorphismus definierte Permutation auf Z2 n.
  • Zeile: Eine einzelne Gleichung im Gleichungsarray, das einen Orthomorphismus auf Z2n darstellt. (Siehe Gleichung 10.)
  • Verschiebung: Die Versetzung zwischen Spalten von n-Bit Zahlen im Gleichungsarray, das einen linearen Orthomorphismus darstellt. Jede Spalte hat die gleiche Ordnung, aber einen anderen Anfangspunkt. (Siehe Gleichung 11)
  • Ähnliche Mengen: Teilmengen von Gleichungen in einem linearen Array, die die gleichen relativen Abstände aufweisen.
  • Vektor: Eine Zeile oder Gleichung in einem linearen Array, das als dreidimensionaler Vektor mit Koeffizienten in Z2 n verstanden werden kann.
    • ⊕: Modulo-2-Addition (XOR)
    • θ =00...0: additive bzw. zusätzliche Identität
    • Z2 n: Gruppe aller n-Bit Binärzahlen
    • GF(2n): Galois-Feld von Polynomen des n-ten Grades mit Binärkoeffizienten.
    • Gn: Eine Menge von 2n Gleichungen, die einen linearen Orthomorphismus auf Z2 n darstellen. Gn ist eine Gruppe.
    • G0 k: Eine Untergruppe von Gn der Ordnung 2k.
    • Gi k: Eine Nebenklasse von G0 k.
    • Rk \ Rk–1 : Rk ⋂ Rk–1
    • a | b: a teilt b nicht.
    • Wk: Die Gruppe der mischenden Transformierungen, die mit G0 k verknüpft sind.
    • Figure 01110001
      : Eine bestimmte Nebenklasse von G0 k, die als re latives Komplement G0 k+1 \ G0 k definiert ist.

Claims (6)

  1. Ein Kommunikationsverfahren, das eine Datenverschlüsselung umfaßt, bei der jeder Block von 2n möglichen verschiedenen eingegebenen Klartextblöcken x1 bis xm von jeweils n Bit Binärdaten durch einen zugeordneten ausgegebenen speziellen verschlüsselten Block x1–p bis xm–p von n Bit Binärdaten ersetzt wird, umfassend die Schritte: (a) Auffinden eines ersten Satzes Gn von 2n Gleichungen, der einen linearen Orthomorphismus darstellt, wobei jede Gleichung die Modulo-2-Addition eines der eingegebenen 2n Klartextblöcke x1 bis xm in der linken Spalte mit einem speziellen Block von 2n n-Bit-Blöcken x1 bis xm in der mittleren Spalte zum Bereitstellen eines zugeordneten ausgegebenen n-Bit-Blocks x1–p bis xm–p in der rechten Spalte darstellt, wobei sämtliche Gleichungen in dem ersten Satz von 2n Gleichungen jeweils durch die Modulo-2-Vektorsumme irgendeiner Anzahl von Gleichungen, die ebenfalls zu den Gleichungen des ersten Satzes von Gleichungen gehören, verkörpert wird, wobei die Gleichungen die Identitätsgleichung Θ ⊕ Θ = Θ und die übrigen 2n – 1 Gleichungen umfassen, die wie folgt geordnet sind: Gleichung #
    Figure 01120001
    wobei m = 2n–1 ist, Ln, Mn und Rn die linke, die mittlere beziehungsweise die rechte Spalte sind, p eine positive ganze Zahl ist, die kleiner oder gleich m ist, und Gn = Ln X Mn X Rn den Satz von Gleichungen darstellt; (b) Modifizieren einer Mehrzahl der 2n – 1 Gleichungen, die ungleich Null sind, in der ersten Matrix von 2n Gleichungen derart, daß ein zweiter Satz von 2n Gleichungen zur Verfügung gestellt wird, der einen nicht-linearen Orthomorphismus darstellt, wobei die Mehrzahl von Gleichungen derart modifiziert wird, daß der sich ergebende Satz von Gleichungen insgesamt dieselben Textblöcke in der linken Spalte auf ausgegebene n-Bit-Blöcke in der rechten Spalte abbildet, dies aber in einer nicht-linearen Weise, so daß jede der Gleichungen in dem sich ergebenden Satz nicht die Modulo-2-Summe irgendeiner Anzahl von Gleichungen in dem unmodifizierten ersten Schritt ist, dadurch gekennzeichnet, daß die Modifikation der Mehrzahl von 2n–1 Gleichungen, die nicht Null sind, erreicht wird, indem: (1) Gn in eine Tabelle von verfälschbaren Untermengen der Ordnung 4 zerlegt wird, wobei die Tabelle dargestellt wird durch
    Figure 01130001
    wobei jede Spalte eine Untermengenzerlegung des linearen Orthomorphismus auf der Grundlage einer anderen verfälschbaren Untergruppe von Gn darstellt und a, i und j beliebige ganzzahlige Indizes sind; (2) ein Satz von einander nicht überlappenden Untermengen aus der Tabelle von Untermengen ausgewählt wird, wobei ausgewählten Untermengen in verschiedenen Spalten sind, denen jeweils eine spezielle Mischtransformierte zugeordnet ist; und (3) die spezielle Mischtransformierte auf die Gruppe von einander nicht überlappenden Untermengen angewendet wird, um den zweiten Satz von 2n Gleichungen hervorzubringen; und (c) für jeden eingegebenen Klartextblock in der linken Spalte, der entschlüsselt werden soll, der spezielle Block der 2n n-Bit-Blöcke, die ihm in Übereinstimmung mit der zugehörigen Gleichung des zweiten Satzes von 2n Gleichungen in der mittleren Spalte zugeordnet sind, modulo-2-addiert wird, um den auszugebenden verschlüsselten Block in der rechten Spalte zu gewinnen.
  2. Das Verschlüsselungsverfahren nach Anspruch 1, wobei der Schritt des Auswählens eines Satzes von einander nicht überlappenden Untermengen ausgeführt wird, indem eine erste Untermenge in einer Zeile ausgewählt wird, dann bestimmt wird, ob die benachbarte Untermenge, die sich innerhalb derselben Zeile rechts davon befindet, die erste Untermenge überlappt, dann nachfolgende Untermengen rechts davon in derselben Zeile ausgewählt werden, sofern die nachfolgenden Untermengen sich nicht mit irgendeiner der zuvor ausgewählten Untermengen überlappen, dann mit der ersten Untermenge auf der linken Seite in der nächsten Zeile fortgefahren wird, wobei dies in derselben Weise fortgesetzt wird, bis keine weiteren nicht-überlappenden Untermengen gefunden werden.
  3. Das Verfahren nach Anspruch 1, wobei der Schritt des Auswählens des Satzes von einander nicht überlappenden Untermengen aus der Tabelle von Untermengen ausgeführt wird, indem ein Index ausgewählt wird und Einträge entlang einer Diagonalen innerhalb der Tabelle ausgewählt werden, die einen sich von einem hohem zu einem niedrigen j und von einem niedrigen zu einem hohen i erstreckenden Index enthalten, bis eine Duplikation auftritt, dann ein neuer nicht-doppelter Eintrag ausgewählt wird und entlang der den neuen Eintrag enthaltenden Diagonale fortgefahren wird.
  4. Das Verfahren nach Anspruch 3, wobei die nichtdoppelten Einträge ausgewählt werden, indem ein Index der Tabelle ausgewählt wird, Einträge entlang der Diagonalen ausgewählt werden und irgendwelche doppelten Einträge der Tabelle übersprungen werden.
  5. Das Verfahren nach Anspruch 3, wobei der Satz von nicht-doppelten Einträgen ausgewählt wird, indem ein Index der Tabelle ausgewählt wird, Einträge entlang der Diagonalen ausgewählt werden und zu einer parallelen Diagonalen übergesprungen wird bei Erreichen eines doppelten Eintrags innerhalb der Tabelle.
  6. Das Verfahren nach Anspruch 1, wobei die Tabelle von Untermengen dargestellt wird durch:
    Figure 01150001
    wobei Li ⊕ Mi–1 = R0 = Θ für sämtliche i ist, so daß k (i, i–1) = 0 ist, Li ⊕ Mi = Ri ist, so daß k (i, i) = i ist, L0 Mi = Ri+p und Li ⊕ M0 = Ri+p–1 ist, p die Verschiebung zwischen der mittleren und der rechten Spalte ist, xk–1 ⊕ xk = xk–p, die durch eine Erzeugungsfunktion für den linearen Orthomorphismus bestimmt wird, und k(0,i) = i+p und k(i,0) = i+p–1 ist.
DE69533313T 1994-05-31 1995-05-24 Einrichtungen und verfahren zur nichtlinearen dynamischen blocksubstitution unter verwendung von untermengenaufspaltungen und direkter geometrischer erzeugung Expired - Lifetime DE69533313T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US25175194A 1994-05-31 1994-05-31
US251751 1994-05-31
PCT/US1995/005233 WO1995033323A1 (en) 1994-05-31 1995-05-24 Nonlinear dynamic substitution devices and methods for block substitutions employing coset decompositions and direct geometric generation

Publications (2)

Publication Number Publication Date
DE69533313D1 DE69533313D1 (de) 2004-09-02
DE69533313T2 true DE69533313T2 (de) 2005-03-10

Family

ID=22953254

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69533313T Expired - Lifetime DE69533313T2 (de) 1994-05-31 1995-05-24 Einrichtungen und verfahren zur nichtlinearen dynamischen blocksubstitution unter verwendung von untermengenaufspaltungen und direkter geometrischer erzeugung

Country Status (6)

Country Link
EP (1) EP0763297B1 (de)
DE (1) DE69533313T2 (de)
EG (1) EG20724A (de)
IL (1) IL113864A (de)
TW (1) TW274169B (de)
WO (1) WO1995033323A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100699276B1 (ko) * 1999-10-15 2007-03-27 발렌틴 알렉산드로비치 미스첸꼬 정보의 부호화, 복호화, 전송, 저장 및 제어 방법과 이방법을 실시하기 위한 시스템
KR100548319B1 (ko) * 2002-12-27 2006-02-02 엘지전자 주식회사 직교분할다중접속 시스템의 최소 피에이피알 수열 검색 방법
TWI385361B (zh) 2008-12-09 2013-02-11 Uma Technology Inc 多種物距組合檢測裝置及檢測方法
TWI391644B (zh) 2008-12-31 2013-04-01 Uma Technology Inc 鏡頭檢測裝置及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5214704A (en) * 1989-10-04 1993-05-25 Teledyne Industries, Inc. Nonlinear dynamic substitution devices and methods for block substitutions

Also Published As

Publication number Publication date
IL113864A (en) 1998-12-06
WO1995033323A1 (en) 1995-12-07
DE69533313D1 (de) 2004-09-02
IL113864A0 (en) 1995-10-31
EP0763297A1 (de) 1997-03-19
TW274169B (de) 1996-04-11
EP0763297B1 (de) 2004-07-28
EG20724A (en) 1999-12-29

Similar Documents

Publication Publication Date Title
DE60024941T2 (de) Verschlüsselungsverfahren und -Vorrichtung, Entschlüsselungsverfahren und -Vorrichtung
DE69838074T2 (de) Verfahren und vorrichtung zur gleichzeitigen verschlüsselung und komprimierung von daten
DE2231849C3 (de) Verschlüsselungsverfahren zur Erhöhung der Entschlüsselungsfestigkeit von blockweise zu verschlüsselnden Binärdaten und Anordnung zur Durchführung des Verfahrens
DE602005002632T2 (de) Schlüsselmaskierung für kryptographische Prozesse mittels einer Kombination von Zufallsmaskenwerten
EP2240848B1 (de) Schaltung und verfahren zur generierung einer echten, schaltungsspezifischen und zeitinvarianten zufallszahl
DE2231835B2 (de) Verfahren zur in mehreren Stufen erfolgenden Ver- und Entschlüsselung binärer Daten
DE112017006020T5 (de) Verfahren und System für suchmusterblinde dynamische symmetrische durchsuchbare Verschlüsselung
EP0598036B1 (de) Nichtlineare dynamische verfahren zur blockvertauschung.
Vanstone Doubly resolvable designs
DE102008010789A1 (de) Verfahren zur zugriffs- und kommunikationsbezogenen Zufallsver- und Entschlüsselung von Daten
DE69729297T2 (de) Verschlüsselungsvorrichtung für binärkodierte nachrichten
EP0700614B1 (de) Verfahren zur nichtlinearen dynamischen Blocksubstitution
DE69533313T2 (de) Einrichtungen und verfahren zur nichtlinearen dynamischen blocksubstitution unter verwendung von untermengenaufspaltungen und direkter geometrischer erzeugung
EP1668817B1 (de) Verfahren und Vorrichtung zur Ver- und Entschlüsselung
EP1676394A1 (de) Verfahren und vorrichtung zur ver-/ entschlüsselung
AT511842A4 (de) Verfahren zum schreiben und lesen von daten
DE10352401A1 (de) Verfahren zur Speicherung von Daten in einem Wahlzugriffspeicher und Verschlüsselungs- und Entschlüsselungsvorrichtung
DE102004010666B4 (de) Schlüsselbitstromerzeugung
EP1322062B1 (de) Verfahren zum rechnergestützten Ver- und Entschlüsseln von Daten
DE2634353C2 (de) Nachrichtenübertragungssystem für Pulscodemodulation mit sendeseitigem Verwürfler und synchronisiertem empfangsseitigem Entwürfler
EP3127272A2 (de) Verschlüsselungsverfahren und pseudo-zufallszahlengenerator
DE19757370A1 (de) Verfahren zur taktilen Erzeugung pseudo-zufälliger Datenworte
DE2639806C2 (de) Verfahren und Einrichtung zum Verschlüsseln oder Entschlüsseln von Datenblöcken in binärer Darstellung
DE19650205A1 (de) Bus-Sender/Empfänger-System
DE2450669A1 (de) Verfahren und schaltungsanordnungen zur verschluesselung und entschluesselung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition