Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
CRYPTOGRAPHY METHOD
Document Type and Number:
WIPO Patent Application WO/2020/083443
Kind Code:
A1
Abstract:
The invention relates to a method for encrypting digital data (A, E) by conversion, comprising the steps: accessing first digital data (D), wherein the first digital data (D) consist of at least one first unit, having a data value and a data arrangement; accessing second digital data (A, E), with the second digital data (A, E) consisting of at least one second unit which has a data value and a data arrangement; determining a start condition, the start condition having at least one start position based on the data arrangement of the first digital data; persistently retaining the data of the start condition; forming a first temporary data stream (B) from the first digital data (D) as a function of the start condition; and forming a cipher (C) by converting the second digital data (A, E), the at least one second unit (a e A) being converted using at least one predetermined function (+) as a function of at least one third unit (b ϵ B) selected from the first temporary data stream (a + b = c).

Inventors:
ARTMANN MICHAEL (DE)
Application Number:
PCT/DE2019/100924
Publication Date:
April 30, 2020
Filing Date:
October 25, 2019
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ARTMANN MICHAEL (DE)
International Classes:
H04L9/06
Foreign References:
US20090110197A12009-04-30
Other References:
K. V. O. RABAH: "Implementation of One-Time Pad Cryptography", INFORMATION TECHNOLOGY JOURNAL, vol. 4, no. 1, 1 January 2005 (2005-01-01), pages 87 - 95, XP055022097
ZAENIAH ET AL: "An Analysis of Encryption and Decryption Application by using One Time Pad Algorithm", INTERNATIONAL JOURNAL OF ADVANCED COMPUTER SCIENCE AND APPLICATIONS, VOL. 6, NO. 9, 1 January 2015 (2015-01-01), pages 292 - 297, XP055666289, Retrieved from the Internet [retrieved on 20200207], DOI: 10.14569/IJACSA.2015.060939
Attorney, Agent or Firm:
MURGITROYD & COMPANY (DE)
Download PDF:
Claims:
Ansprüche

1. Verfahren zum Verschlüsseln von digitalen Daten (A, E) durch Umwandlung, umfassend die Schritte:

Zugriff auf erste digitale Daten (D), wobei die ersten digitalen Daten (D) aus wenigstens einer ersten Einheit bestehen, die einen Datenwert und eine

Datenanordnung aufweisen;

Zugriff auf zweite digitale Daten (A, E), wobei die zweiten digitalen Daten (A, E) aus wenigstens einer zweiten Einheit bestehen, die einen Datenwert und eine

Datenanordnung aufweisen;

Festlegen einer Startkondition, wobei die Startkondition wenigstens eine

Startposition bezogen auf die Datenanordnung der ersten digitalen Daten aufweist;

Persistente Datenhaltung der Startkondition;

Bildung eines ersten temporären Datenstroms (B) aus den ersten digitalen Daten (D) in Abhängigkeit der Startkondition;

Bildung eines Chiffrats (C) durch Umwandlung der zweiten digitalen Daten (A, E), wobei die wenigstens eine zweite Einheit (a e A) unter Anwendung wenigstens einer vorbestimmten Funktion (©) in Abhängigkeit wenigstens einer dritten Einheit (b e B) ausgewählt aus dem ersten temporären Datenstrom umgewandelt wird (a © b = c).

2. Verfahren gemäß Anspruch 1 , dadurch gekennzeichnet, dass der erste temporäre Datenstrom ein zirkulärer Datenstrom ist.

3. Verfahren gemäß Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Bildung des ersten temporären Datenstroms (B) des Weiteren mathematische, stochastische und/oder informationstechnische Aufbereitung ersten digitalen Daten umfasst.

4. Verfahren gemäß einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass die wenigstens eine dritte Einheit anhand eines vorbestimmten Regelwerks aus dem temporären Datenstrom ausgewählt ist.

5. Verfahren gemäß einem der vorstehenden Ansprüche, dadurch

gekennzeichnet, dass die Umwandlung unter Anwendung der wenigstens einen vorbestimmten Funktion in Abhängigkeit des Datenwerts und/oder der

Datenanordung der wenigstens einen dritten Einheit erfolgt.

6. Das Verfahren gemäß einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die zweiten digitalen Daten (A) vor der Umwandlung anhand mathematischer, stochastischer und/oder informationstechnischer Verarbeitung basierend auf digitalen Rohdaten (E) durch Anpassung gebildet werden.

7. Das Verfahren gemäß Anspruch 6 , dadurch gekennzeichnet, dass die mathematische, stochastische und/oder informationstechnische Verarbeitung eine reversible Veränderung der Anordnung von Gruppen von zweiten Einheiten ist.

8. Das Verfahren gemäß einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die zweiten digitalen Daten (E) einen zweiten temporären Datenstrom (A) bilden.

9. Das Verfahren gemäß einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die Startkondition in Verbindung mit dem Chiffrat (C) gespeichert wird.

10. Verfahren gemäß einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass, wenn der Zugriff auf die ersten digitalen Daten nicht möglich ist, auf einen adäquaten Ersatz zugegriffen wird.

11. Verfahren zum Entschlüsseln eines nach dem Verfahren gemäß einem der Ansprüche 1 bis 10 gebildeten Chiffrats (C) umfassend die Schritte:

Zugriff auf das Chiffrat (C);

Zugriff auf eine Startkondition;

Zugriff auf erste digitale Daten (D), wobei die ersten digitalen Daten (B, D) aus wenigstens einer ersten Einheit bestehen, die einen Datenwert und eine Datenanordnung aufweisen und den für die Verschlüsselung verwendeten digitalen Daten entsprechen;

Umkehrung der Umwandlung, wobei jeweils eine Einheit des Chiffrats (c e C) unter umgekehrter Anwendung einer bei der Verschlüsselung verwendeten vorbestimmten Funktion in Abhängigkeit wenigstens einer dritten Einheit gebildet wird, wobei die wenigstens eine dritte Einheit eine Einheit aus einem ersten temporären Datenstrom (B) ist, wobei der erste temporäre Datenstrom (B) aus den ersten digitalen Daten (D) in Abhängigkeit der Startkondition gebildet ist .

12. Verfahren zum Entschlüsseln nach Anspruch 11 , wobei das Verfahren die Umkehr der Anpassungen durch Durchführung der bei den Anpassungen auf die zweiten digitalen Daten (A) durchgeführten Schritte in umgekehrter Reihenfolge umfasst.

13. Vorrichtung zur Verschlüsselung oder Entschlüsselung von digitalen Daten umfassend einen Prozessor und ein Speichermedium, dadurch gekennzeichnet, dass die Vorrichtung konfiguriert ist, das Verfahren gemäß einem der Ansprüche 1 bis 10 und/oder gemäß einem der Ansprüche 11 oder 12 auszuführen.

14. Computerprogramm mit Programmcode zur Durchführung der Verfahren nach einem der Ansprüche 1 bis 10 und/oder gemäß einem der Ansprüche 11 oder 12, wenn das Computerprogramm auf einem Prozessor ausgeführt wird.

15. Speichermedium mit darauf gespeicherten Anweisungen zur Durchführung der Verfahren nach einem der Ansprüche 1 bis 10 und/oder nach einem der Ansprüche 11 oder 12, wenn diese Anweisungen auf einem Prozessor ausgeführt werden.

GEÄNDERTE ANSPRÜCHE

beim Internationalen Büro eingegangen am 15. April 2020 (15.04.2020) Ansprüche

1. Verfahren zum Verschlüsseln von digitalen Daten (A, E) durch Umwandlung, umfassend die Schritte:

Zugriff auf erste digitale Daten (D), wobei die ersten digitalen Daten (D) aus wenigstens einer ersten Einheit bestehen, die einen Datenwert und eine

Datenanordnung aufweisen;

Zugriff auf zweite digitale Daten (A, E), wobei die zweiten digitalen Daten (A, E) aus wenigstens einer zweiten Einheit bestehen, die einen Datenwert und eine

Datenanordnung aufweisen;

Festlegen einer Startkondition, wobei die Startkondition wenigstens eine

Startposition bezogen auf die Datenanordnung der ersten digitalen Daten aufweist;

Persistente Datenhaltung der Startkondition;

Bildung eines ersten temporären Datenstroms (B) aus den ersten digitalen Daten (D) in Abhängigkeit der Startkondition;

Bildung eines Chiffrats (C) durch Umwandlung der zweiten digitalen Daten (A, E), wobei die wenigstens eine zweite Einheit (a e A) unter Anwendung wenigstens einer vorbestimmten Funktion (©) in Abhängigkeit wenigstens einer dritten Einheit (b e B) ausgewählt aus dem ersten temporären Datenstrom umgewandelt wird (a © b = c); dadurch gekennzeichnet, dass der erste temporäre Datenstrom ein zirkulärer Datenstrom ist.

2. Verfahren gemäß Anspruch 1 , dadurch gekennzeichnet, dass die Bildung des ersten temporären Datenstroms (B) des Weiteren mathematische, stochastische und/oder informationstechnische Aufbereitung ersten digitalen Daten umfasst.

3. Verfahren gemäß einem der Ansprüche 1 oder 2, dadurch gekennzeichnet, dass die wenigstens eine dritte Einheit anhand eines vorbestimmten Regelwerks aus dem temporären Datenstrom ausgewählt ist.

GEÄNDERTES BLATT (ARTIKEL 19)

4. Verfahren gemäß einem der vorstehenden Ansprüche, dadurch

gekennzeichnet, dass die Umwandlung unter Anwendung der wenigstens einen vorbestimmten Funktion in Abhängigkeit des Datenwerts und/oder der

Datenanordung der wenigstens einen dritten Einheit erfolgt.

5. Das Verfahren gemäß einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die zweiten digitalen Daten (A) vor der Umwandlung anhand mathematischer, stochastischer und/oder informationstechnischer Verarbeitung basierend auf digitalen Rohdaten (E) durch Anpassung gebildet werden.

6. Das Verfahren gemäß Anspruch 5 , dadurch gekennzeichnet, dass die mathematische, stochastische und/oder informationstechnische Verarbeitung eine reversible Veränderung der Anordnung von Gruppen von zweiten Einheiten ist.

7. Das Verfahren gemäß einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die zweiten digitalen Daten (E) einen zweiten temporären Datenstrom (A) bilden.

8. Das Verfahren gemäß einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die Startkondition in Verbindung mit dem Chiffrat (C) gespeichert wird.

9. Verfahren gemäß einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass, wenn der Zugriff auf die ersten digitalen Daten nicht möglich ist, auf einen adäquaten Ersatz zugegriffen wird.

10. Verfahren zum Entschlüsseln eines nach dem Verfahren gemäß einem der Ansprüche 1 bis 9 gebildeten Chiffrats (C) umfassend die Schritte:

Zugriff auf das Chiffrat (C);

Zugriff auf eine Startkondition;

Zugriff auf erste digitale Daten (D), wobei die ersten digitalen Daten (B, D) aus wenigstens einer ersten Einheit bestehen, die einen Datenwert und eine Datenanordnung aufweisen und den für die Verschlüsselung verwendeten digitalen Daten entsprechen;

GEÄNDERTES BLATT (ARTIKEL 19) Umkehrung der Umwandlung, wobei jeweils eine Einheit des Chiffrats (c e C) unter umgekehrter Anwendung einer bei der Verschlüsselung verwendeten vorbestimmten Funktion in Abhängigkeit wenigstens einer dritten Einheit gebildet wird, wobei die wenigstens eine dritte Einheit eine Einheit aus einem ersten temporären Datenstrom (B) ist, wobei der erste temporäre Datenstrom (B) aus den ersten digitalen Daten (D) in Abhängigkeit der Startkondition gebildet ist .

11. Verfahren zum Entschlüsseln nach Anspruch 10, wobei das Verfahren die Umkehr der Anpassungen durch Durchführung der bei den Anpassungen auf die zweiten digitalen Daten (A) durchgeführten Schritte in umgekehrter Reihenfolge umfasst.

12. Vorrichtung zur Verschlüsselung oder Entschlüsselung von digitalen Daten umfassend einen Prozessor und ein Speichermedium, dadurch gekennzeichnet, dass die Vorrichtung konfiguriert ist, das Verfahren gemäß einem der Ansprüche 1 bis 9 und/oder gemäß einem der Ansprüche 10 oder 11 auszuführen.

13. Computerprogramm mit Programmcode zur Durchführung der Verfahren nach einem der Ansprüche 1 bis 9 und/oder gemäß einem der Ansprüche 10 oder 11 , wenn das Computerprogramm auf einem Prozessor ausgeführt wird.

14. Speichermedium mit darauf gespeicherten Anweisungen zur Durchführung der Verfahren nach einem der Ansprüche 1 bis 9 und/oder nach einem der Ansprüche 10 oder 11 , wenn diese Anweisungen auf einem Prozessor ausgeführt werden.

GEÄNDERTES BLATT (ARTIKEL 19)

Description:
KRYPTOGRAPHIEVERFAHREN

Technisches Gebiet

Die vorliegende Erfindung betrifft ein Verfahren sowie eine Vorrichtung zur symmetrischen kryptographischen Verschlüsselung digitaler Daten als auch deren Entschlüsselung.

Hintergrund der Erfindung

Verfahren und Vorrichtungen zum Verschlüsseln digitaler Daten sind im Stand der Technik bekannt und werden in nahezu allen Bereichen der digitalen Datenverarbeitung eingesetzt. Hierbei werden die Verfahren und Vorrichtungen insbesondere bei der Übertragung und bei der Speicherung digitaler Daten eingesetzt. Im täglichen Leben spielt das Internet bereits eine große Rolle und gewinnt auch weiterhin zunehmend an Bedeutung. Die Vernetzung von Diensten (Services) nahm in der Vergangenheit bereits so rasant zu, dass es heutzutage so gut wie keine Websites, Apps oder Programme gibt, die ohne personenbezogene Daten arbeiten.

Selbst auf einer einfachen Homepage einer Firma werden schon aufgrund Sozial- Media, dem Web-Layout und Analytische Funktionalität von Suchmaschinen- Anbietern Dutzende von Verbindungen zu externen Services aufgebaut, die wiederum andere kontaktieren können. Regelmäßig werden hierbei auch persönliche Daten des Website-Besuchers ausgelesen, gespeichert und weitergeleitet. Noch deutlicher zeigt sich dies bei webbasierten Applikationen oder auch Programmen auf Mobilfunkgeräten, so genannten„Apps“, die dezidiert zur Verarbeitung persönlicher Daten genutzt werden, wie beispielsweise im Bereich des Online- Banking.

Doch auch moderne Telekommunikation -Standards und Anwendungen wie

Machine-to-Machine (M2M) Kommunikation oder ganz allgemein die Kommunikation von allen möglichen Geräten im Rahmen das sogenannten Internet-of-Things“ basiert letztendlich auf die Übertragung digitaler Daten. Die oben genannten Beispiele zeigen, dass sowohl die Daten als solche, z.B. im Bereich des Online-Banking, als auch die Kommunikation zwischen verschiedenen Geräten, z.B. bei der M2M-Kommunikation geschützt werden müssen, um etwaigen Missbrauch vorzubeugen.

Im Vordergrund steht die Verwendbarkeit sowohl in Hardware- als auch in Software- Lösungen, in Einzelanwendungen wie auch in komplexen Systemen und deren einzelnen Komponenten. Somit wird ein möglichst flexibler und universeller Einsatz für alle Bereiche und Anwendungsfälle ermöglicht.

Als Software-Lösung kommen installierte Programme (per Setups) und Applikationen (sogenannte Apps), Client-Server-Lösungen (Webservices, Cloud, Chat, E-Mail, Internet), Bestandteile des Betriebssystems (Boot-Loader, OS- Komponenten, Treiber, Dienste) und insbesondere alle Datenzugriffs-, Kommunikations- und Netzwerkdienste zum Einsatz.

Bezüglich Hardware-Lösungen sind Steuergeräte (Smarthome, Internet-of-Things, Produktionsanlage mit Industrie 4.0) zur Erfassung, Kommunikation und Steuerung zu nennen, insbesondere Peripherie-Geräte (via Funkverbindung bei Tastatur, Maus und Drucker), sowie deren Platinen mit RAM- und ROM-Chips (Mainboards, BIOS).

In Kombination aus Hard- und Software handelt es sich um verschlüsselte Daten auf struktureller Ebene von Datenträgern (USB, SSD, Harddisk) mit deren File- System (FS), und deren Datei-Inhalte verschlüsselt auf Speichermedien (DVD, CD, Blu-Ray).

Die gängigen Verschlüsselungsverfahren setzen statische, d.h. immer wieder verwendete Schlüssel, wie Passwörter oder PINs voraus., Diese sind in der Regel relativ kurz, schon alleine deshalb, um es dem Benutzer überhaupt zu ermöglichen, sich den entsprechenden Schlüssel zu merken. Auch sind diese wegen der Eingabemöglichkeit etlichen Einschränkungen durch Zeichensatz, Tastatur, dem Gerät, dessen Betriebssystems u. a. unterworfen. Dies führt vor allem wegen dem geringen Informationsgehalt (Entropie) zu häufigen Wiederholungen (Redundanzen) innerhalb der großen Datenmengen, die mittlerweile als gängige Praxis eingesetzt werden. Dadurch sind sie durch stochastische Analyse einfach zu ermitteln. Spätestens bei Angriffstechniken wie Man-In-The-Middle (Mithören und Manipulation zwischen zwei Kommunikationspartnern) und der Brute-Force-Attack (systematisches Durchtesten aller Möglichkeiten) konnte noch keiner der bisherigen Verfahren, Algorithmen, Protokolle, etc. bestehen. Komplexere Schlüssel, wie beispielsweise durch entsprechende Programme generiert, werden häufig auf den jeweiligen Geräten, wie beispielsweise Mobilkommunikationsgeräten oder gar in der Cloud gespeichert aber wiederum durch einfache Schlüssel, die sich der Benutzer merken kann, geschützt. Dabei wird der Gewinn an Sicherheit durch den komplexen Schlüssel oft wieder relativiert.

Viele der heute üblichen Verschlüsselungsverfahren beruhen auf einfachen Algorithmen wie Zufalls-Zahlen-Generatoren und verwenden nur einfache Bit- Operationen wie Exklusive-Oder (XOR). Dabei werden die Daten mit einer bestimmten Funktion, wie XOR einzeln nacheinander mathematisch, informations verarbeitend verknüpft und als Chiffrat C gespeichert, z. B. a=255, b=1

c = a XOR b

c = 255 XOR 1 = 254

Die Verwendung von XOR bei Verschlüsselungs-Verfahren hat Nachteile. Ein XOR mit Null hat keine Auswirkung, z. B. bei einem Text„private“ bleibt der Text komplett unverändert, wie das ,p‘ hier in der Berechnung zeigt:

'r' = 112

112 XOR 0 = 112 = 'r'

Ein XOR mit Null angewandt offenbart den Schlüssel, z. B. bei„password“ wird durch mehrfache Vorgabe von Nullen das komplette Passwort nachvollziehbar. Hier exemplarisch das ,p‘:

'r' = 112

0 XOR 112 = 112 = 'r'

Außerdem ergibt XOR zweimal angewandt den ursprünglichen Wert und somit den geheimen Text:

a XOR b XOR b = a

'r' = 112

112 XOR b XOR b = 112 = 'r'

Durch Abhören und den obigen Gegebenheiten lassen sich mathematische Gleichungen bilden und algebraisch lösen. Das ist der Hauptkritikpunkt an den bisherigen Standard-Verfahren. Insbesondere ist bei den Blockverfahren die Länge (meist 8 Bytes) statisch und relativ kurz, bei allen Advanced Encryption Standards (AES) sind es 128 Bits (16 Bytes), auch wenn eine Schlüssellänge zu 256 Bit wie bei AES-256 gewählt worden ist. Ohne an dieser Stelle näher auf die vor mehr als 20 Jahren veröffentlichten Verfahren einzugehen, werden nachfolgend allgemein die Auswirkungen von Blockverfahren erläutert. Zum einen ist es die Regelmäßigkeit aller n Bytes. Zum anderen ist es die Abbildungsfunktion, die systematische Auswirkungen haben. Dies führt zu vielen Redundanzen, veranschaulicht mit dem Oszilloskop in den Figuren 6 bis 8, wo durch Umwandlung stark vereinfacht ein Muster zu erkennen ist. Oft wird dabei die Wirkung von XOR überschätzt. Hier wirkt sie wie eine Addition, obwohl c = a XOR b verwendet worden ist. Neben dieser Musterbildung sind auch andere Nachteile zu nennen. Im nachfolgenden Beispiel sind einige Schwächen, die Verschlüsselungsverfahren gemäß dem Stand der Technik haben, erläutert.

Betrachtet man die Möglichkeiten in professionellen Programmiersprachen wie C, C++ und C# hat man keine große Auswahl an Operationen, die verlustfrei umkehrbar sind. Es gibt deren zwei:

Bitweises Komplement, Bitwise-Not NOT

Bitweises Exklusiv-Oder, Exclusive-Or XOR

Die aus Assembler bekannten Verschiebefunktion

Bitweises Rotieren, Rotate Left/Right ROL , ROR

gibt es nicht und müssen anhand

Bitweises Verschieben, Shift-Left/Right SHL , SHR « , »

unter Berücksichtigung des Übertragungsbits (Carry-Flag) o. ä. stattfinden. Das führt zu mehreren Operationen. Insbesondere bei 128 Bits auf einem 32-Bit Prozessor summiert sich das auf eine nennenswerte Anzahl in vielen Runden, was wiederum zu entsprechend aufwändigen Rechenprozessen und demgemäß hohen Anforderungen an die Rechnerleistung führt.

Sehr oft wird auch der Tausch von Bits angewandt. Diese müssen erst isoliert (maskiert) werden indem

Bitweises Und AND &

Bitweises Oder OR verwendet wird. Im folgenden Beispiel wird der Ablauf in einem 32-Bit Prozessor gezeigt. Das zweite Bit wird auf einen anderen an zweithöchster Stelle übernommen wird. Es sind alle Bits gesetzt, damit ist die ganze Folge überflüssig, doch einige

Beobachtungen lassen sich feststellen.

Zuerst wird die Maske gebildet 1 « 1 = 2

Mit AND auf Ausgangs-Wert isoliert 42 94 9672 95 & 2 = 2

Für die Automation auf Ausgangsposition 2 » 1 = 1

Und nun zur Zielposition bringen 1 « 30 = 107374 1824

Maske im Ziel-Wert 1 « 30 = 107374 1824

Mit NOT ein bitweises Komplement bilden - 107374 1824 = 322 1225 471 Mit AND im Ziel löschen 42 94 9672 95 & 322 1225 471

= 322 1225471

Mit OR übernehmen 322 1225471 | 10737 41824

= 42 94 9672 95

Dieses Beispiel zeigt deutlich, dass das Tauschen von Bits einigen Aufwand bedeutet. Besonders durch Anwendung in Schleifen und mehreren Runden bewirkt das noch heute eine merkliche Zeitverzögerung bei der Verschlüsselung.

Das vorstehende Beispiel basiert auf der Verarbeitung von großen Zahlen, wie eben von mehreren Milliarden. Für uns Menschen mögen diese Größenordnungen eindrucksvoll erscheinen. Besonders wenn man die Werte im Dezimalsystem sieht, suggeriert es Sicherheit und Komplexität, doch für einen Computer sind solche Zahlen seit den 80ern Jahren Standard. Das Gleiche gilt auch für die Operationen. Für uns erscheinen die Auswirkungen womöglich gewaltig, im Computer sind es nur viele Leitungen, an denen Strom angelegt ist, also zu einem Zeitpunkt ein Zustand herrscht, der durch Schaltung in einem anderen Zustand versetzt wird.

Ähnlich verhält es sich mit der großen Anzahl von Möglichkeiten, wie 2 hoch 32, 64 128 oder 256. Auch hier suggeriert die Vielzahl von Möglichkeiten Sicherheit, doch viele dieser theoretischen Möglichkeiten lassen sich in den verwendeten Algorithmen nicht bilden. Weiterhin sind meist die nacheinander folgenden Abläufe nicht unabhängig, sondern bauen aufeinander auf. Diese Schwachstellen im Algorithmus führen z. B. bei dem weitverbreiteten AES zu einer Sicherheitsmarge von drei (bei 128 Bits Schlüssellänge) bis fünf Runden (bei 256 Bits Schlüssellänge) anstelle von 14.

Daneben stellt sich die Frage der Anwendbarkeit dieser theoretischen Möglichkeiten in der Realität, ob man sich also für 256 Bits Schlüssellänge ein Passwort von mindestens 37 Zeichen (bei Ausnutzung des kompletten ASCII-Zeichensatzes) merken kann. Betrachtet man die Anzahl der Zeichen, die tatsächlich auf allen Geräten verfügbar sind, ergeben sich 26 Klein- und 26 Großbuchstaben plus 10 Ziffern und dazu sind nur 6 Bits erforderlich.

In der Realität benutzen viele ein kurzes Passwort, üblich sind heute 10 Zeichen; Bei AES-256 werden also 10 * 6 Bits = 60 signifikante Bits tatsächlich benutzt. Deshalb findet auch eine Schlüsselexpansion nach veröffentlichten Algorithmen statt, die jeder Angreifer ebenso kennt.

Betrachtet man die Praxis, dass bei einem Byte theoretisch 256 Möglichkeiten genutzt werden können, ist das bei Texten wie Passwörter und auch bei den zu verschlüsselnden Texten gänzlich anders. Zugrunde legend sind die lateinischen Kleinbuchstaben die häufigsten Zeichen. Damit werden nur 26 von 256 Möglichkeiten effektiv genutzt (ca. 10%). Üblich ist heute Unicode, hier stehen 26 den 65,536 Möglichkeiten gegenüber (ca. 0,04 %).

Prinzipiell bedient sich ein Angreifer auch dieser Strategie, indem er die Vielzahl an Möglichkeiten immer weiter eingrenzt. Beispielsweise können anhand der veröffentlichten Algorithmen die Auswirkungen systematisch untersucht werden, wodurch Muster identifiziert und erkannt werden können. Dazu kann der Angreifer die Buchstabenhäufigkeit oder - noch besser - das Leerzeichen einsetzen. Als ASCII-Code (American Standard Code for Information Interchange) ist nur ein Bit gesetzt, auch ist es als Wort-Separator in vielen Sprachen universell anwendbar. Stellt er Vorausberechnungen an und speichert diese in einer sogenannten Lookup- Table, ist ein Vergleich anhand Muster einfacher und schneller praktikabel geworden. Damit kann der Angreifer die Möglichkeiten immer weiter eingrenzen, bis ein Bit, Byte oder Zeichen gefunden und entschlüsselt worden ist. Die Anzahl von verbleibenden Möglichkeiten reduziert sich so drastisch, bald darauf ist das Chiffrat gebrochen und das Passwort ist offen gelegt. Ein großes Problem aller Block-Verschlüsselungs-Verfahren ist die zwingend konstante Größe. Je nach Anwendung wird dabei unterschiedlich verfahren, die schlechteste Variante ist nicht zu verschlüsseln, fatal bei einem Textende wie

daily password is abcl234"

Das Problem tritt häufig auf. In einem Text zu 161 Zeichen bleibt bei AES aufgrund der Blockgröße von 16 Byte ein Zeichen übrig, meist der Punkt, binäre Darstellung: 00101110. In einem Block zu 16 Bytes sind von den 128 Bits nur 4 gesetzt und können effektiv benutzt werden.

Allen gängigen Verschlüsselungs-Verfahren ist eines gemeinsam. Egal ob Strom-Bit- Verschlüsselung oder AES, der eine Byte-basierte Verarbeitung benennt, aber dennoch bitweise arbeiten muss. Die bitweise Verarbeitung hat nur zwei Freiheitsgrade: „Ändern oder Belassen“ bzw. „Anwenden oder Ignorieren“. Das Auffüllen führt also nur zu zwei entsprechenden Abläufen und Mustern und da das Passwort (128 Bit) direkt Initial angewandt wird, unterliegen 128-4 = 124 Bits entweder allen oder keinen Auswirkungen. Das zwingend erforderliche Auffüllen des Blocks führt rasch zur Schlussfolgerung des Passworts.

Grundsätzlich gilt, dass ein Chiffrat, also verschlüsselte Daten, basierend auf den Verfahren nach dem Stand der Technik gebrochen werden kann, alle Daten also entschlüsselt in Klartext wieder vorliegen. Ein Problem liegt auch in der rasanten technischen Entwicklung im Hardwarebereich. So können Kryptographieverfahren, die vor wenigen Jahren als sicher galten, weil der Rechenaufwand und damit der Zeitaufwand für die ein systematisches Eruierung im Rahmen der damaligen Möglichkeiten extrem hoch war, heute einfach entschlüsselt werden. Dies liegt zum einen an der rasant ansteigenden Leistung der Hauptprozessoren sowie deren Verfügbarkeit, als auch zum anderen an der Einbeziehung anderer Prozessoren, wie beispielsweise die der Graphikkarten. Hier arbeiten Tausende von hochgetakteten Kerne mit Registerbreiten von 128 Bit in parallelen Prozessen gleichzeitig. Um dem Rechnung zu tragen, wurden sowohl Schlüssel--und Passwortlängen als auch Algorithmen (insbesondere die Anzahl der Runden) erweitert. Die Passwörter wurden entsprechend länger und kryptischer, und damit für den Benutzer schwerer zu merken und gleichzeitig erhöhte sich auch der Zeitaufwand für die Verschlüsselung. Letzteres ist insbesondere auf Geräten mit geringer Prozessorleistung, wie beispielsweise bei Mobilfunkgeräten oder Komponenten des sogenannten Internet-of-Things, wie miteinander kommunizierenden Hausgeräten, ein limitierender Faktor. Häufig muss dabei auf schwächere Verschlüsselung gesetzt werden..Somit wird das komplette Heim-Netzwerk einen schwächeren Schutz aussetzt.

All die Entwicklungen im Kryptographiebereich scheinen jedoch nicht wirklich zu greifen, denn auch die Kryptoanalyse, die sich mit der Analyse vorhandener kryptographischer Verfahren mit dem Ziel diese zu umgehen bzw. die entsprechenden Schutzmechanismen auszuhebeln befasst, macht gleichermaßen Fortschritte und macht sich auch die Möglichkeiten moderner Hardware zu nutze. Auf einer öffentlichen Veranstaltung wurde 2017 ein mehr als 30-stelliges Passwort in Sekundenschnelle geknackt - und das auf einen gewöhnlichen Durchschnitts- Laptop. Es besteht also ein Bedarf an alternativen kryptographischen Verfahren.

Zusammenfassung der Erfindung

Aufgabe der vorliegenden Erfindung ist es, die im Stand der Technik bekannten Nachteile wenigstens teilweise zu überwinden. Die vorstehende Aufgabe wird durch ein erfindungsgemäßes Verfahren gemäß Anspruch 1 gelöst. Bevorzugte Ausgestaltungsformen der Verfahren sind Gegenstand der entsprechenden Unteransprüche. Insbesondere wird ein besonders klares, übersichtliches, kompaktes und universell einsetzbares Verfahren zur Verfügung gestellt, das zudem besonders benutzerfreundlich einfach zu handhaben ist (z. B. indem es jegliche Passwörter komplett abschafft) und geringe Anforderungen an die Rechenleistung stellen. Aufgrund des mathematisch-stochastischen Modells ist durch die„Tendenz gegen Unendlich“ auch eine nahezu 100% Sicherheit gewährleistet - insbesondere gegenüber allen Analysemethoden und andere Angriffstechniken wie Man-In-The- Middle und der Brüte- Force-Attack.

Das erfindungsgemäße Verfahren zum Verschlüsseln von digitalen Daten A, E durch Umwandlung umfassend die Schritte des Zugriffs auf erste digitale Daten D, wobei die ersten digitalen Daten D aus wenigstens einer ersten Einheit bestehen, die einen Datenwert und eine Datenanordnung aufweisen, des Zugriffs auf zweite digitale Daten A, E, wobei die zweiten digitalen Daten A, E aus wenigstens einer zweiten Einheit bestehen, die einen Datenwert und eine Datenanordnung aufweisen. Das erfindungsgemäße Verfahren umfasst des Weiteren das Festlegen einer zufälligen äußeren Startkondition aus der in Abhängigkeit der Länge der ersten digitalen Daten D eine innere Startkondition bestimmt werden kann, wobei die innere Startkondition wenigstens eine Startposition bezogen auf die Datenanordnung der ersten digitalen Daten D aufweist, die persistente Datenhaltung der äußeren Startkondition sowie die Bildung eines ersten temporären Datenstroms B aus den ersten digitalen Daten D in Abhängigkeit der inneren Startkondition. Ein temporärer Datenstrom im Sinne der vorliegenden Erfindung ist ein durch Auswahl von Einheiten aus digitalen Daten und/oder durch mathematische, stochastische und/oder informationstechnische Aufbereitung von digitalen Daten des nicht persistent gespeicherter Datenstroms. Entsprechend kann der erste temporäre Datenstrom unter Zugrundelegung der Startkondition und gegebenenfalls durch die mathematische, stochastische und/oder informationstechnische Aufbereitung reproduzierbar aus den ersten digitalen Daten gebildet werden. Temporär im Sinne der vorliegenden Erfindung ist insbesondere die Speicherung in flüchtigen Speichermedien, wie beispielsweise dem Arbeitsspeicher eines elektronischen Geräts, sowie die direkte Generierung des Datenstroms bei der Umwandlung, ohne dass der Datenstrom als solcher gespeichert wird. Insbesondere umfasst dies auch die Auswahl einzelner Einheiten für die erfindungsgemäße Umwandlung. Das erfindungsgemäße Verfahren umfasst ferner die Bildung eines Chiffrats C durch Umwandlung der zweiten digitalen Daten A, E mit den ersten digitalen Datenstrom B durch Anwendung einer vorbestimmten Funktion, wobei die vorbestimmte Funktion insbesondere eine informationsverarbeitende, mathematische Verknüpfung (©) definiert auf die einzelnen Einheiten (z. B. a © b = c) ist. Entsprechend der vorliegenden Erfindung wird jede der wenigstens einen zweiten Einheiten der zweiten digitalen Daten mit jeweils einer dritten Einheit des ersten temporären Datenstroms entsprechend der vorbestimmten Funktion umgewandelt. Insbesondere wird gemäß der vorliegenden Erfindung jeder der wenigstens einen zweiten Einheiten mit einer anderen dritten Einheit unter Anwendung der vorbestimmten Funktion umgewandelt. Die für die Umwandlung gemäß der vorbestimmten Funktion zu verwendenden dritten Einheiten könnten aufeinanderfolgende Einheiten des ersten temporären Datenstroms sein. Die dritten Einheiten können jedoch auch basierend auf einem vorbestimmten Regelwerk aus dem ersten temporären Datenstrom ausgewählt werden. Das vorbestimmte Regelwerk kann gemäß der vorliegenden Erfindung die Position der zu verwendenden dritten Einheiten bestimmen, aber auch Validierungsfunktionen der dritten Einheiten umfassen. Validierungsfunktionen im Sinne der vorliegenden Erfindung sind Funktionen welche die korrekte Anwendbarkeit einer dritten Einheit, zum Beispiel hinsichtlich ihres Wertes, bei der Umwandlung überprüft. Ergibt die Überprüfung hierbei, dass die Verwendung einer Einheit bei der Umwandung unter Anwendung der entsprechenden vorbestimmten Funktion kein Ergebnis ergibt, also beispielsweise mathematisch nicht möglich ist, oder zu keiner Veränderung führen würde, wird eine Alternative bestimmt.

Unter digitalen Daten im Sinne der vorliegenden Erfindung werden alle Arten von computerlesbaren Daten verstanden. Diese digitalen Daten können im Sinne der vorliegenden Erfindung in jeder Art von computerlesbarem Speicher, insbesondere flüchtige und nichtflüchtige Speichermedien temporär oder dauerhaft gespeichert werden. Digitale Daten im Sinne der vorliegenden Erfindung können sowohl einzelne Streams, also eine logisch zusammengehörige Einheit von Daten, als auch mehrere Streams sein. Digitale Daten können insbesondere von einem Benutzer bestimmte Dateien, wie zum Beispiel digitale Fotos, digitale Audiodateien, digitale Textdateien und dergleichen, oder Streams sein. Digitale Daten können insbesondere auch Daten digitaler Kommunikation sein. Digitale Kommunikation in Sinne der vorliegenden Erfindung umfasst hierbei sowohl die menschliche Kommunikation, also Text-, Bild der Audiodaten, Mensch-Maschinen-Kommunikation als auch M2M Kommunikation, wobei insbesondere neben der zu übermittelnden Information auch die Daten für Austausch, Vermittlung, Adressierung und dergleichen umfasst sind.

Digitale Daten im Sinne der vorliegenden Erfindung bestehen aus einem Datenwert und einer Datenanordnung (Wert, Byte- und Bitposition) und lassen sich somit in Daten-Ströme (Streams) verwalten. Aus der Datenanordnung ergibt sich eine Datenposition, welche wiederum eine Zahl ist, also nur ganze Werte annehmen kann. An einer Datenposition lässt sich ein Datenwert ermitteln, wobei der Datenwert ebenfalls eine Zahl ist, also nur ganze Werte annehmen kann. All diese Zahlen werden äquivalent betrachtet und behandelt.

Unter Startkondition im Sinne der vorliegenden Erfindung werden die Bedingungen, Einstellungen, und dergleichen verstanden, die beim Start der Verschlüsselung Vorlagen. Sie gewährleisten damit bei der Entschlüsselung, anhand gleicher Voraussetzungen die Wiederherstellung des Originals. Insbesondere ist die Start- Position bedeutend da sie als einziger Wert zwingend öffentlich übermittelt werden muss und den Einsprung/Ausgangspunkt der Ver- und Entschlüsselung bedeutet. Dabei wird die tatsächliche Position nach außen hin verschleiert übermittelt. Die äußere Position ist ein sehr großer Zufallswert zu Beginn der Verschlüsselung und beträgt mindestens 64 Bit, als Zahl ca. 1 ,8e19. Durch Restwertfunktion (Modulo) aus der öffentlich unbekannten Gesamtlänge lässt sich aus der äußeren Position leicht auf die benötigte innere Position schließen.

Unter persistenter Datenhaltung im Sinne der vorliegenden Erfindung wird jede Form der digitalen, als auch analogen Speicherung, sowie auch die Darstellung zur Informationsübermittlung an den Benutzer verstanden. Insbesondere kann die persistente Datenhaltung eine Speicherung in Kombination mit dem Chiffrat sein.

Unter Chiffrat im Sinne der vorliegenden Erfindung wird das durch Umwandlung erlangte Ergebnis des kryptographischen Verschlüsselungsverfahrens verstanden.

Gemäß einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens erfolgt die Umwandlung unter Anwendung der wenigstens einer vorbestimmten Funktion in Abhängigkeit des Datenwerts und/oder der Datenanordung. Die vorbestimmte Funktion kann fest hinterlegt, z.B. im Programmcode gespeichert, oder an geeigneter Stelle hardwareseitig gespeichert sein, oder temporär vom Benutzer aus einer Gruppe möglicher Funktionen ausgewählt oder frei vom Benutzer eingegeben werden. Die verwendete Funktion kann somit entweder mit dem Programmcode oder anderweitig persistent gespeichert werden.

In einer weiteren Ausführungsform der vorliegenden Erfindung kann der erste temporäre Datenstrom ein zirkulärer Datenstrom sein. Entsprechend kann ein Datenstrom im Sinne der vorliegenden Erfindung zyklisch betrachtet werden, d.h. sollte eine berechnete Position einer dritten Einheit im Datenstrom größer oder gleich der Anzahl der Daten des Datenstroms sein, dann wird vom Dateianfang her neu positioniert. In einer weiteren bevorzugten Ausführungsform kann die wenigstens eine dritte Einheit anhand von vorbestimmten Funktionen und Variablen aus dem temporären Datenstrom aufbereitet werden. In einer weiteren, bevorzugten Ausführungsform können Datenwerte und Datenanordnung der wenigstens einen dritten Einheit rekursiv angewandt werden.

In einer weiteren Ausführungsform der vorliegenden Erfindung werden die zweiten digitalen Daten A vor der Umwandlung anhand mathematischer, stochastischer und/oder informationstechnischer Verarbeitung basierend auf zweiten digitalen Rohdaten E durch Anpassungen gebildet. Im Sinne der vorliegenden Erfindung kann hierbei jedwede denkbare umkehrbare Anpassung zu A aus E und Aufbereitung zu B aus D der Rohdaten sein. Entsprechend können die Aufbereitungen im Sinne der vorliegenden Erfindung insbesondere eine mathematische, stochastische und/oder informationstechnische Verarbeitung darstellen, die zu einer reversiblen Veränderung der Anordnung von zweiten Einheiten A führen, bzw. die ersten Einheiten B bilden.

Gemäß einer weiteren Ausführungsform der vorliegenden Erfindung können die zweiten digitalen Daten E einen zweiten temporären Datenstrom A bilden. Entsprechend können die zweiten digitalen Daten temporär aus entsprechenden Rohdaten gebildet, ohne persistent gespeichert zu werden.

In einer weiteren bevorzugten Ausführungsform kann für den Fall, dass für die Verschlüsselung der Zugriff auf die ersten digitalen Daten D nicht möglich ist, auf einen adäquaten Ersatz zugegriffen werden. Dies kann ein vorbestimmter, beispielsweise im Programmcode hinterlegter, ein Programmcode verknüpfter Datenstrom sein oder auch ein vorbestimmter Datenwert. Entsprechend kann, z. B. in Notfallsituationen, eine begrenzte Verschlüsselungsstärke für ein Mindestmaß an Sicherheit bei der Kommunikation sorgen.

Eine weitere bevorzugte Ausführungsform der vorliegenden Erfindung ist auf das Entschlüsseln von nach dem erfindungsgemäßen Verfahren gebildeten Chiffrats C gerichtet. Entsprechend kann das Verfahren zum Entschlüsseln folgende Schritte aufweisen:

Zugriff auf das Chiffrat;

Zugriff auf eine Startkondition;

Zugriff auf erste digitale Daten D, wobei die ersten digitalen Daten D aus wenigstens einer ersten Einheit bestehen, die einen Datenwert und eine Datenanordnung aufweisen und den für die Verschlüsselung verwendeten digitalen Daten entsprechen;

Umkehrung der Umwandlung, wobei jeweils eine Einheit des Chiffrats (c e C) unter umgekehrter Anwendung einer bei der Verschlüsselung verwendeten vorbestimmten Funktion in Abhängigkeit wenigstens einer dritten Einheit gebildet wird, wobei die wenigstens eine dritte Einheit eine Einheit aus einem ersten temporären Datenstrom B ist, wobei der erste temporären Datenstrom B aus den ersten digitalen Daten D wenigstens in Abhängigkeit der Startkondition gebildet ist.

Gemäß einer weiteren bevorzugten Ausführungsform der vorliegenden Erfindung umfasst das Verfahren zum Entschlüsseln des Chiffrats C die Umkehr der Anpassungen aufgrund Durchführung der bei den Anpassungen durchgeführten Schritte in umgekehrter Reihenfolge auf die zweiten digitalen Daten von A nach E umfassen. Hierbei kann der durch die Umkehr der Umwandlung resultierende Datenstrom A ein temporärer Datenstrom sein. Entsprechend erfolgt die Abfolge der Aufbereitung von D zu B, damit die Umkehr der Umwandlung vom resultierenden temporären Datenstrom A gebildet wird.

Entsprechend erfolgt die Umkehr der Umwandlung anhand der Aufbereitung von D zu B, woraus der temporäre Datenstrom A resultiert.

Eine weitere bevorzugte Ausführungsform der vorliegenden Erfindung ist auf einer Vorrichtung zur Verschlüsselung oder Entschlüsselung von digitalen Daten umfassend einen Prozessor und ein Speichermedium, dadurch gekennzeichnet, dass die Vorrichtung konfiguriert ist, das erfindungsgemäße Verfahren auszuführen.

Eine weitere bevorzugte Ausführungsform der vorliegenden Erfindung ist auf ein Computerprogramm mit Programmcode zur Durchführung des erfindungsgemäßen Verfahrens gerichtet, wenn das Computerprogramm auf einem Prozessor ausgeführt wird.

Eine weitere bevorzugte Ausführungsform der vorliegenden Erfindung ist auf ein Speichermedium mit darauf gespeicherten Anweisungen zur Durchführung des erfindungsgemäßen Verfahrens gerichtet, wenn diese Anweisungen auf einem Prozessor ausgeführt werden.

Kurzbeschreibung der Zeichnung:

Figur 1 : zeigt den Datenfluss Verschlüsselung;

Figur 2: zeigt den Datenfluss Entschlüsselung;

Figur 3: zeigt den Datenfluss für erste digitale Daten;

Figur 4: zeigt den Datenfluss für zweite digitale Daten; Figur 5: zeigt den Datenfluss direkt auf erste und zweite digitale Daten;

Figur 6 bis 8 zeigt die Bildung von Mustern gemäß der Verfahren zum Stand der Technik;

Figur 9: zeigt den Aufbereitung Daten aus Sprüngen visualisiert im Oszilloskop;

Figur 10 und 11 : zeigt die Anpassung durch Teilung und anschließender Umkehrung der Reihenfolge;

Figur 12: zeigt die Anpassung durch Zusammenfassung von gleichen Werten;

Figur 13 und 14: zeigt die Anpassung und Verbesserung der Streuung, Verbergen von ASCII;

Figur 15: zeigt die Verbesserung des Übergangs, Verhinderung Datei-Typ- Erkennung;

Figur 16: zeigt das Einführungsbeispiel der Figur 7 als verbesserte Basis B durch Benutzung der Addition;

Figur 17: zeigt ein Einführungsbeispiel der Figur 8 als verbessertes Chiffrat anhand der Basis B von Figur 16 und Anwendung der Addition; und

Figur 18: zeigt ein Praxisbeispiel aus dem reellen Einsatz

Detaillierte Beschreibung

Das der vorliegenden Erfindung zugrundeliegende Prinzip wird nachfolgend unter Bezugnahme auf das Akronym„ARTOO“ anschaulich beschrieben. Hierbei stehen:

• A = Automatically, als vollautomatisches Verfahren einfach handzuhaben

• R = Randomizing, die Bereitstellung nicht-deterministischer Zufallswerte

• T = Transformation, schnell ausführbar, da kompakt im Algorithmus

• 00 = Infinity, das Zeichen für Unendlichkeit

Zusammengefasst: Wenn ein Algorithmus für Verschlüsselung eine unendlich-lange, nicht-deterministische Basis für die Verschlüsselung benutzt, dann ist das Chiffrat nicht zu brechen. Dieses Grundprinzip„ARTOO“ wird im hier vorgestellten Verfahren dahingehend verstanden und angewandt, dass:

die Unendlichkeit im Sinne von unbegrenzt, ohne Beschränkungen, beliebig viele, nicht starr vorgegeben, nicht konstant, sondern variabel und flexibel bedeutet

die Zufallswerte nicht nur die Grundlage für Rechenoperationen sind, sondern auch zur Steuerung, zur Auswahl, etc. betragen. Damit wird ein fest vorgegebenes Schema für Abläufe durchbrochen

die Anwendung einer einfachen Umwandlung (Transformation) verspricht Verbesserungen für Nutzer und erlaubt universelle Anwendungsbereiche der automatische Ablauf schützt weitgehend vor Fehlbedienung u. ä.

Im Vordergrund steht immer die hohe Qualität. Im Folgenden werden die Aspekte der vorliegenden Erfindung detailliert vorgestellt, die Figur 1 zeigt ein Schema des Datenflusses.

Der linke Zweig zeigt den Übergang der Rohdaten D 551 , die individuell vom Benutzer eingerichtet worden sind, hin zu der Verschlüsselungsbasis B 553. Diese stellt beliebig viele, nicht-deterministische Byte-Werte bereit. Die Vielzahl von Werten erlaubt eine Qualitätssteigerung, indem Werte byteweise zusammengefasst werden 557. Stochastisch gesehen erhöht sich dadurch die Streuung (Varianz) bis eine gute Qualität gegeben ist, sie bilden so die ersten digitalen Daten.

Im rechten Zweig ist der Übergang der zu verschlüsselnden Daten E 552 hin zu den Arbeitsdaten A 554 dargestellt. Hier werden die zu verschlüsselten Daten byteweise in Form, Inhalt und Anordnung so aufbereitet, dass der Angreifer möglichst wenig voraussetzen kann 559. Sie bilden die zweiten digitalen Daten.

Dazu bedient sich der rechte Zweig den Zufallswerten des linken 558. Durch Benutzung der nicht-deterministische Basis B, sind auch die Arbeitsdaten A stark nicht-deterministisch beeinflusst.

Da nun die Qualität sehr hoch ist, kann eine einfache und schnelle Umwandlung (Transformation) stattfinden 555. Mathematisch, informationsverarbeitend betrachtet ist es bei A © B = C eine umkehrbare Verknüpfung von Elementen der Mengen. Veranschaulicht im einfachsten Fall durch Addition c = a + b.

Damit durch Entschlüsselung eine Kopie des Originals gebildet werden kann, muss in dieser Ausführungsform das Chiffrat 556 zumindest den Start in D 551 kennen, damit B 553 rekonstruiert werden kann. Invertiert man die Umwandlung, hier a = c - b, hat man somit A 554 wiederhergestellt. Falls mehrere Schritte für A nacheinander zum Einsatz kamen, müssen diese für die Entschlüsselung in umgekehrter Reichenfolge rückgängig gemacht werden, um so eine Kopie des Originals E zu erhalten, wie es in Figur 2 dargestellt ist.

In Figur 3 ist eine Ausführungsform des erfindungsgemäßen Verschlüsselungs- Verfahrens dargestellt, bei der die Umwandlung nur auf die ersten digitalen Daten (B, D) durchgeführt wird, die zweiten digitalen Daten vor der Umwandlung also nicht verändert werden.

Um die Anforderungen erfüllen zu können, müssen zuerst die vom Benutzer ausgewählten oder in dem Verzeichnis hinterlegten Dateien in einem gemeinsamen Datenstrom betrachtet werden. Als Beispiel sind drei Dateien d1 , d2, d3 mit 3, 2 und 3 Bytes vorgestellt, die mittels der in der Informatik gebräuchlichen File-Concatenate aneinander gehängt, einen Stream b bilden. Streams zeichnen sich dadurch aus, dass eine Positionierung direkt vorgenommen werden kann, gezählt wird dabei ab 0.

Am Ende des Datenstroms, oder falls eine Position größer oder gleich der Gesamtlänge ist, wird am Anfang fortgesetzt, indem man die Modulo-Funktion (Restwert-Funktion %) benutzt. Z. B. ist eine Position von 10 bei einer Gesamtlänge von 8 dann 10 % 8 = 2.

So lassen sich tatsächliche Positionen nach außen hin verschleiern. Auch Werte wie 206.855.898 % 8 oder 299.525.537.761.704.834 % 8 ergeben 2.

Für einen Angreifer ist das ein schweres Hindernis, denn er kennt nicht die Dateien, somit nicht die Gesamtlänge, die er für die Ermittlung der Position benötigt. Die Zahl wird stets aus echten Zufallswerten neu bestimmt und beträgt mindestens 64 Bit, ca. 1 ,8e19. Durch Restwertfunktion (Modulo) aus der Gesamtlänge lässt sich aus der veröffentlichten äußeren Position leicht auf die benötigte innere Position schließen. Einem Angreifer sind diese Angaben unbekannt, weder Anzahl, noch die

tatsächliche Längen und damit auch nicht die Gesamtlänge. Nach außen hin ist nur eine sehr große Zahl sichtbar. In Terabyte beträgt das Maximum bei 64 Bits

2 L 64 = 16 . 777 . 216 TB

und würde die Kapazität von Tausenden Festplatten umfassen. De facto ist die tatsächliche innere Start-Position nicht zu erraten, sofern sie stets stochastisch unabhängig neu bestimmt wird. Als einziger Wert, der öffentlich übermittelt werden muss, ist diese äußere Startposition sehr bedeutend. Der Wert sollte so groß sein, dass jedem Angreifer sofort klar wird, dass es sich nicht um einen reellen Wert handeln kann. Von Vorteil ist es, wenn keinerlei Systematik, wie etwa durch Pseudo- Zufallszahlen oder direkter Bezug zu der eigentlichen Datenbasis benutzt wird.

Betrachtet man auf stochastische Weise die Bildung von Zufallszahlen in Abhängigkeit von Funktionen und deren Variablen, ist es besser, zwei Funktionen mit anderen Beeinflussungen zu benutzen. Bei Verwendung von jeweils anderen Variablen sind beide Funktion auch„streng unabhängig“ voneinander. Umgekehrt gilt das gleiche Prinzip, besonders für Folgen (Sequenzen) von Werten aus Algorithmen (Funktionen).

Da die Position als äußere Start-Position veröffentlicht wird, ist ein weiteres unabhängiges Verfahren ratsam, eines davon wird hier erläutert. Dabei wird der Zeitpunkt beim Start des Programms (nur die Mikrosekunden), der Zeitpunkt der Aktion (nur die Mikrosekunden) und die aktuelle Maus-XY-Position angehalten. Fügt man diese byteweise aneinander, bekommt man einen sehr großen Positionswert von 230 TB:

Nachfolgend wird der Einsatz der Start-Position beschrieben. Die Start-Position ist wie ein Initial-Wert zu verstehen, mit dem man weitere Werte bekommt, die zur Daten-Verarbeitung und zur Programm-Steuerung verwendet werden. Die weiteren Erläuterungen zeigen, wie man von außen über eine beliebige Anzahl von Dateien zu einer spezifischen kommt. Aufgrund der darin enthaltenen Daten, werden dann durch einen Ablauf (Algorithmus) beliebig viele Daten bereitgestellt.

Das Prinzip, wie man beliebig viele Zufallswerte erheben kann, ist ein Hauptfaktor dieser Verschlüsselung. Zur Veranschaulichung soll ein Stream mit etwa 1 MB dienen, das sind 7 JPEG-Bildern ä 16 Megapixel auf einem Smartphone. Vereinfacht zu unserem Dezimalsystem beträgt die Gesamtlänge 1.000.000 Bytes, die Werte sind dem Dezimalsystem angelehnt, z. B. ein Wert von 99 bei Position 123.499.

Zuerst benötigt man eine zufällige Startposition, die ein Angreifer zwar sieht, doch nicht einer reellen Positionsangabe entspricht. Das ist einem Übergang zwischen Bezugs-Systemen ähnlich, um von einer Äußeren Position (öffentlichem System) zu einer Inneren Position (dem Haupt-System) zu gelangen.

Wenn ein Absoluter Datenstrom über alle Dateien (als Haupt-System) nicht in der Programmier-Sprache verfügbar ist, benötigt man einen Zwischenschritt. Das nächste Beispiel wendet die obige Zahl 228.979.742.635.698 in einer Hilfstabelle an, Es zeigt, wie man über diese Äußere Position die Innere Position ermittelt, um dann die File Position 35.698 in der Datei #3 ermitteln zu können. Insbesondere für hardwarenahe Programmierung von Betriebssystem-Komponenten, Treibern, u. ä. muss man bei älteren Programmiersprachen wie C die File Position benutzen.

228.979.742.635.698 Gu er osition

228.979.742.635.688 mod 1.000.060 = 635.698 Inner Position

In einem Daten-Strom, wie auch in einer Datei (Stream, File) positioniert man absolut oder relativ zur gegenwärtigen Position mit einem File Pointer (Schreib-, Lese-Zeiger). Eine relative Positionierung stellt einen Sprung an eine neue, absolute Position dar.

Obwohl dieses Beispiel so einfach ist, da es einen direkten Zusammenhang zwischen Position und Wert gibt und sich zudem noch selbst beeinflusst, zeigt es im umrahmten Bereich bereits eine gute Sequenz von„Short Distance Jumps“.

Eine andere Möglichkeit ist, dass man einen Wert liest und den File-Pointer um 1 erhöht. Das ist das klassische sequenzielle Verhalten für File-Zugriffe (Lesen, Schreiben). Die Erhöhung der Position ist sehr bedeutend, ansonsten würde der File-Pointer immer auf derselben Stelle dieselben Werte liefern.

Als dritte Möglichkeit kann man die gegenwärtige Position mit der Gesamtlänge jeweils mittein. Damit ist ein Sprung wesentlich größer als der Wertebereich eines Bytes [0..255] Die nächste Figur 9 und die Berechnungen zeigen sequenzielle Sprünge und Long-Distance-Jumps in einem alternierenden Verhalten:

1,000.000 + S35.6S3 }/2

1,000,000 4 817,851 } / 2

1.000.000 + 908,326 }/ 2

1 ,000.000 + 954 ,46 / 2

1.000.000 + 377,232 } / 2

1.0 0.000 + 388,617 } / 2

1.000,000 + 334,310 } / 2

In Summe haben die drei vorgestellten Beispiele ihre Ausprägungen:

Der sequenzielle (nacheinander abfolgende) Zugriff ist Standard, von Vorteil ist der geringe„Verbrauch“ an Daten.

Die Anwendung von„Long Distance Jumps“ resultiert in Positionen, die für den Angreifer äußerst schwer nachvollziehbar sind, da unbekannte Größen (wie Gesamtlänge) benutzt werden, die eine bedeutende Auswirkung (andere Datei an anderer Position) haben.

„Short Distance Jumps“, wie oben in der Berechnung gezeigt, bieten ein ausgewogenes Maß zwischen Verbrauch und Angriffsstärke.

Als weitere Maßnahme für das Ziel einer möglichst hohen Sicherheit, kann die Steuerung von Sprüngen anhand echter Zufallswerten erfolgen. Denn das Hauptangriffsziel ist die Start-Position, da diese bekannt ist. Es ist ratsam zu Beginn der Verschlüsselung mindestens einmal zu springen. Anzahl und Auswahl werden den Daten des Streams entnommen und sind somit zufällig. Da dies nur einmal zu Beginn notwendig ist, kann der Zeitaufwand vernachlässigt werden und auch ein rekursives Suchverhalten über den gesamten Stream ist akzeptierbar. Auch kann ein Anwendungspuffer mit Zufallswerten gefüllt werden. Daraus ergeben sich weitere Möglichkeiten im Verhalten, wie etwa regelmäßige Sprünge, zufallsbedingte Voreinstellungen und mehr.

Mit dem Anwendungspuffer, gefüllt mit Zufallswerten kann eine Auswahl einer bestimmten Funktion getroffen werden. Es resultiert in einem nicht-deterministischen Verhalten was das Verfahren sicher macht. Wie oben erläutert, liegen mehrere Möglichkeiten bei Sprüngen vor. Im Verfahren kann aus einem Byte-Wert wie 128 die Auswahl aus 3 Funktionen fO, f1 oder f2 durch Modulo getroffen werden (hier wird f2 aufgerufen):

128 % 3 = 2

Um das Ziel einer möglichst hohen Sicherheit gewährleisten zu können, sollten auch der Wertebereich der Daten mit einbezogen werden. Wie oben erläutert, sind insbesondere bei ASCII- und Unicode-Dateien die Bits schwach besetzt. Zur Qualitätssteigerung kann unter Umständen eine Verdichtung der Daten automatisch erfolgen. Dazu werden solange Daten gelesen und zusammengefasst, bis die nötige Qualität erreicht worden ist. Ein Beispiel mit Unicode-32 in den ersten digitalen Daten D mit dem Text „XY“ hexadezimal dargestellt und als Halb-Byte zusammengefasst verdichtet es auf 2 hoch 8 anstelle von 2 hoch 64 um den Faktor 2 hoch 56 = 281.474.976.710.656:

Rohdaten: 00, 00, 00, 58, 00, 00, 00, 59

Auswahl : 58, 59

Verdichtung : 9 zu hex 89

Abschließend findet eine Umwandlung A © B = C statt, wo die einzelnen Bytes jeweils aus A und B mit einer vorbestimmten mathematischen, informations technischen Funktion verknüpft werden.

Um das Ziel einer sicheren Verschlüsselung erreichen zu können, muss man sich einige Grundsätze der Kryptologie (Kryptographie zum Schutz der Informationen und Krypto-Analyse, dem Aushebeln des Schutzes) vor Augen halten. In Bezug auf die vorliegende Erfindung sind die Vorteile zu nennen: Möglichst wenig Anhaltspunkte für den Angreifer, hier ist nur ein Wert, die Start-Position, notwendigerweise veröffentlicht.

Verwendung von unabhängigen Variablen, hier zum einen die System-Zeit in Sekundenbruchteile, zum anderen ein Daten-Strom.

Eine große Anzahl an Möglichkeiten bereitstellen. Hier insbesondere:

o viele Funktionen stehen als ein Set zur Verfügung, die zudem noch kombiniert werden (wie das 00 im Prinzip ARTOO)

o mehrere Einflussgröße werden verwendet, z. B. Wert, oder Position, oder beides (das R im Prinzip ARTOO)

o Mehr Möglichkeiten (stochastisch) durch Betrachtung in Bytes (minimal 256) gegenüber einem Bit mit zwei Möglichkeiten (das 00 im Prinzip ARTOO)

o Echte Zufallswerte (individuelle Dateien, unvorhersehbare Inhalte, das R im Prinzip ARTOO)

o Keine Beschränkung (Blockgrößen, Schlüssellängen) somit beliebig viele Werte (das 00 im Prinzip ARTOO)

Die Funktionsweise eines Programms kann von jedem Angreifer nachvollzogen werden. Sei es durch Disassemblierung oder Re-Engineering. Diese Erfindung bietet viele logische Verzweigungen. Es verhindert bewusst, dass ein Schritt exakt einem anderen folgt und vorhersehbar ist.

In Figur 4 ist eine weitere Ausführungsform des erfindungsgemäßen

Verschlüsselungsverfahren dargestellt bei der die Umwandlung nur auf die zweiten digitalen Daten A und E durchgeführt wird, die ersten digitalen Daten davor nicht verändert werden, also ist B gleich D.

Die Rohdaten D 553 sind nicht aufbereitet und werden zyklisch als B betrachtet. Sie steuern die Gruppenbildung 559 und beeinflussen deren Inhalte indem Zufallswerte 558 bereitgestellt werden.

Eine Konfigurationsdatei kann zusätzlich generelle Optionen regeln. Diese

Bedingungen, die beim Start herrschen, werden als Start-Kondition bezeichnet. Insbesondere ist die Start-Position, als Teil der Start-Kondition, dafür verantwortlich, welche Zufallswerte beim Start der Verschlüsselung und Entschlüsselung bereit stehen. Das Ziel einer sicheren Verschlüsselung wird anhand eines Beispiels der vorliegenden Erfindung gezeigt. Ein grundsätzliches Problem bei Anwendungs- Protokollen ist das allseits bekannte Antwortverhalten, das sich ein Angreifer zunutze machen kann. Im Web (WWW) fordert der Browser die Daten (Ressourcen) mit„GET“ an. Bei einer Web-Seite mit neun eingebetteten Grafiken sind das 10 GET-Anfragen und 10 HTTP-Antworten wie

HTTP/1.1 200 OK\

zu 15 Zeichen plus Zeilenende, was exakt der AES-Blocklänge entspricht. Mit dem allgemeinen Ansatz A © B = C hat der Angreifer ein Gleichungs-System, wobei A und C bekannt sind und deren Auswirkungen sich anhand Muster bilden, verfeinern und zurück verfolgen lassen.

Als Maßnahme dagegen lassen sich Gruppen anwenden und neu ordnen. Prinzipiell sind das Datenblöcke ohne feste Länge, die verkettet verwaltet werden. Das ergäbe Block-Chain, was zu Verwechslungen führen könnte. Die Bezeichnung von Group und List ist allgemein und eindeutig.

Zur Durchführung wird ein Zufallswert von B=D angefordert und aufbereitet, z. B. bei einem Wert 255; aufbereitet laut letzter Dezimalstelle zu: 5. Dann werden zwei Gruppen gebildet und getauscht. Das Resultat ist:

1.1 200 OK\ HTTP/

und damit kann sich ein Angreifer nicht auf einem Beginn mit„HTTP" verlassen.

Ein anderes Beispiel ist das B von Figur 10. Aus der Teilung und anschließender Umkehrung der Reihenfolge entsteht anhand von

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, ... aus

HTTP/1.1 200 OK\

die Teilung zu

H | TT | P/1 | .1 2 | 00 OK | \ |

nach Umkehrung der Reihenfolge somit

\ | 00 OK| .1 2 | P/1 | TT | H | was nicht mehr viel mit dem ursprünglichen Format vom HTTP-Status gemein hat, wie auch die Figuren 10 und 11 zeigen.

Eine weitere Maßnahme gegen Angriffe stellt die Zusammenfassung von gleichen Werten dar. Im Beispiel, Figur 6, ist 48 mal der Buchstabe ,p‘ gezeigt. Das lässt sich zusammenfassen zu

16 * 112

Bei der Übertragung wird sich zunutze gemacht, dass ASCII das höchste Bit nicht benutzt. Wenn dies bei der Entschlüsselung detektiert wird, können bis zu 127 Zeichen wiederhergestellt werden, was in Figur 12 dargestellt ist.

Ähnlich ist auch die Änderung von Inhalten als weitere Maßnahme gegen Angriffe. Im Folgenden wird ein Protokoll von Maschinensteuerung, wie es in Vektorgrafiken bei Computern, Plottern oder im Web als SVG benutzt wird:

MOVETO : 100 : 200 ;

LINETO : 300 : 400;

Das Format des Protokolls muss zwingend bekannt sein, damit zwei Geräte unterschiedlicher Hersteller miteinander kommunizieren können. Nach ASCII- Tabelle ist nur ein Bereich von (hexadezimal) 0x30 bis 0x5F benutzt. Das sind 3*16 = 48 Möglichkeiten von gesamt 256, also rund 19%. Die Einschränkung im Wertebereich ist stochastisch gesehen schlecht, kann aber durch eine Anpassung, ähnlich einer Koordinaten-Umformung (Verschiebung des Ursprungs und anschließender Skalierung) verbessert werden. Durch gleiche Einstellungen in der Konfigurations-Datei (.ini) auf beiden Geräten mit

[AdjustContent]

Origin = 48

Scale = 5

verbessert sich der Bereich

0x30: (48 - 48) * 5 = 0

0x5 F : (137 - 48) * 5 = 235 / 255 max . und kann so nicht sofort als Maschinenprotokoll identifiziert werden, wie die Figuren 13 und 14 zeigen. Ähnlich zu Änderung von Inhalten (innere Veränderung) ist auch eine Anpassung der Form (äußere Veränderung) als weitere Maßnahme gegen Angriffe möglich. Anhand der Dateilänge lassen sich Vermutungen auf den Dateityp anstellen. Z. B.

< 100 Bytes ASCII-Text mit wichtigen Informationen wie .ini, Passwörter, etc.

< 2 kB eine DINA4 Seite (1800 Zeichen)

< 20 kB Office-Dokumente, wie Verträge, Berichte, usw.

Darüber sind es anspruchsvollere Formate. Wegen dem Datei-System ist eine minimale Block-Größe (Cluster) notwendig, gängig sind 64 kB, auch für das Speichern von einem Byte. Das kann man sich in der vorliegenden Verschlüsselung zunutze machen. Durch

[ FillGroup]

ignore = 40000

jump = 40

werden erst 40000 Pseudo-Zufallszahlen, aufbereitet mit einem anderen - vom eigentlichen Verschlüsselungs-Verfahren unabhängigen - Algorithmus (Folgen durch regelmäßige Sprünge in Basis B von 40 Bytes) vorangestellt. Erst dann kommen die eigentlichen Nutzdaten, in Summe ist gleich viel belegt, doch der Angreifer kennt den Wert nicht und damit ist es wesentlich schwieriger, den tatsächlichen Beginn zu finden und den wahren Datei-Typ zu erraten.

Es sind auch weitere Varianten von Gruppen möglich. Als Ziele sind zu nennen: die Struktur zu verändern

die Reihenfolge, also die Anordnung zu ändern

die Regelmäßigkeit zu unterbinden

die Inhalte zu verändern

die Form des Chiffrats gegenüber dem Original zu ändern

und resultieren in Auswirkungen auf Form, Inhalt, Umfang, Ordnung, Strukturen, etc. Diese Ziele werden durch Anwendung des Prinzips ARTOO ermöglicht, wo beliebig viele (OO) Zufallswerte (R) bereit stehen, eine schnelle Transformation (T) automatisiert (A) erfolgt.

Es sind auch weitere Arten von Gruppen denkbar. Wenn viele unterschiedliche Arten von Gruppen innerhalb einer Datei verwendet werden, genügt ein allgemeiner Eintrag in einer Konfigurations-Datei nicht mehr. Dann muss ein Group-Header die Besonderheiten der einzelnen Gruppe von Zeichen beinhalten.

Entsprechend kann, z. B. in Notfallsituationen, eine begrenzte Verschlüsselungsstärke für ein Mindestmaß an Sicherheit bei der Kommunikation sorgen. Im Header wird zur Unterscheidung die Version 0.0 benutzt und eine individuelle Start-Position benutzt. Selbst bei einer Havarie, wo die Datengrundlage ausgefallen ist, kann eine SOS-Funk-Nachricht an die Küstenwache gesendet werden. Piraten können diese empfangen, aber nicht auswerten.

In Figur 5 ist eine Ausführungsform des erfindungsgemäßen Verschlüsselungsverfahrens dargestellt, bei der die Umwandlung direkt auf die ersten B=D und zweiten A=E digitalen Daten durchgeführt wird, die ersten und zweiten digitalen Daten vor der Umwandlung also nicht verändert werden.

Hier werden die Daten mit einer bestimmten Funktion, wie XOR, einzeln nacheinander mathematisch, informations-verarbeitend verknüpft (©) und als Chiffrat C gespeichert, z. B. a=255, b=1

c 255 XOR 1 254

Allen vorgestellten Verfahren ist gemein, dass abschließend die Umwandlung A © B = C stattfindet. Eingangs wurde eine besonders einfache Umwandlung durch Addition vorgestellt: a + b = c. Auch das lässt sich anhand einer Start-Kondition festlegen und bei kompakten Geräten, wie bei einem Smart-Home-Thermostat einsetzen. Durch gleiche Einstellungen in der Konfigurations-Datei (.ini) auf allen Geräten (werksseitig als Set individuell) mit

[Composition]

Function = +

Maximum = 100

wird die Basis B bezüglich des Wertebereichs von D reduziert, als Wert für Modulo (Restwert-Funktion) ist dann das Maximum + 1 = 101 erforderlich. Da 0 für das Sprungverhalten reserviert ist, ändert sich der Wertebereich aus Rohdaten D

[1..255]

zu einem Wertebereich der Basis B

[0..100]

mit dem Wertebereichs der Arbeitsdaten A als ASCII

[0..127]

berechnet sich der Zielbereich (Zielmenge) des Chiffrats C von 0 bis 227:

a + b = c

0 + 0 = 0

127 + 100 = 227

und kann so nicht sofort als ASCII-Code oder Protokoll zur Maschinensteuerung identifiziert werden. Diese besondere Art der Umwandlung ist gänzlich neu und ungewohnt.

Deshalb wird sie für die Entschlüsselung im Detail erläutert. Bei der Entschlüsselung herrschen die gleichen Bedingungen wie bei der Verschlüsselung (Start-Kondition). Damit lässt sich immer derselbe Wert aus B bilden, egal wie viele Sprünge, Funktionen, welche Algorithmen, etc., bis dahin benutzt worden sind. Bei dem obigen Beispiel werden Ablauf und Eindeutigkeit veranschaulicht. Zuerst bildet man wieder den Wert für b durch Modulo 101 aus D

b = d % (Maximum + 1)

mit einem Wert für d bis inklusive dem Maximum ist das b = 100 % 101 = 100

für Werte größer dem Maximum, erfolgt durch Modulo eine Änderung, z. B. 201

b = 201 % 101 = 100

in beiden Fällen dann gemäß obigen Beispiel c = 227

a = c - b

a = 227 - 100 = 127

Man sieht, dass nun viel mehr Umwandlungen benutzt werden können. Auch Kombinationen oder komplexe Abbildungen lassen sich benutzen, solange die Inverse den tatsächlich verlustfrei zum ursprünglichen Wert ergibt. Geregelt wird es durch Übergang der Rohdaten D zu den Basisdaten B.

Die vorgestellten Beispiele zeigen verschieden Möglichkeiten der Beeinflussung: bei den ersten digitalen Daten A als Aufbereitung der Daten

bei den zweiten digitalen Daten B als Anpassungen der Daten

bei der Bildung des Chiffrats C als Umwandlung der Daten

und in sinnvoller Kombination A, B, C

Falls mehrere Schritte der vorgestellten Beispiele nacheinander zum Einsatz kommen, müssen für die Entschlüsselung die Schritte in umgekehrter Reichenfolge ablaufen. Hier sind auch nur wenige, besonders einfache Beispiele genannt. Der Funktionsumfang ist im Praxiseinsatz größer und als Set von Funktionen für die unterschiedlichen Belange bereitgestellt. Die tatsächliche Auswahl und Steuerung erfolgt nach dem Prinzip ARTOO in einer nicht vorhersehbaren Reihenfolge (das R in ARTOO) mit einer nicht voraussagbaren Anzahl (das OO). Dabei ist der Umfang der Funktionen erweiterbar (das OO), steigt also von Version zu Version an. Als Überblick wäre in den jeweiligen Sets eine Anzahl Funktionen denkbar, wobei die Version 2 die existierenden 50 abwärtskompatibel anhält (damit bisherige Dateien der Version 1 weiterhin entschlüsselt werden können):

Set (je nach Aufgabe) Version 1.0 Version 2.0

Start-Position 10 20 Sprung-Verhalten 5 30

Basis-Strom B 10 40

Arbeits-Strom A 20 100

Umwandlung Chiffrat C 5 10

Summe 50 200

Das abschließende Beispiel greift die Situation zu Beginn auf. Dort wurde ein Buchstabe ,p‘ mit 3 * 16 Werten von 0 bis 15 zur Veranschaulichung der Musterbildung herangezogen. Das nachfolgende Beispiel zeigt die Mächtigkeit dieser Verschlüsselung durch ausschließliche Benutzung der Addition. Die Varianz von B ist gesteigert worden, indem bei Position 11 begonnen wird, eine Hilfsvariable accu (Accumulate) zum Aufaddieren von 7 gleichen Werten, bis maximal 5 unterschiedlichen Werten, die eine Summe von 100 nicht übersteigen dürfen, wie die Figur 16 zeigt.

Daraus ergibt sich ein Chiffrat durch Addition von 112 zu dem stets gleichen Buchstaben ,p‘ aus den zu verschlüsselnden Arbeitsdaten ein wesentlich schwerer erkennbares Muster, wie die Figur 17 zeigt. Tatsächlich würde der automatische Algorithmus die Folge zu 16 *112 aber zusammenfassen, wie in Figur 12 dargestellt.

Das letzte Beispiel, Figur 18, zeigt die Praxis anhand der Erstellung dieses Dokuments. Zur sicheren Kommunikation wurde der Prototyp für die Datei- Verschlüsselung benutzt. Der nachfolgende Auszug zeigt gut die Streuung (Varianz) durch Minimum, Maximum, Durchschnitt, die Informationsdichte von 8 Bits als Maximum für ein Byte. Es ist ein Office-Dokument, in zufälligen Gruppen zerlegt und angepasst. Teilweise wurde zusammengefasst (Verdichtung von ca. 5%), Füll- Gruppen eingefügt (1 %) und durch Neuordnung die Struktur gänzlich verändert. Als Basis wurde ein JPEG-Bild verwendet. Wegen der hohen Informationsdichte kamen die Funktionen ohne zusätzliche Aufbereitung aus. Es traten wenige Sprünge, veranlasst durch die geforderte Zufälligkeit auf. Die Zeitmessung ergab weniger als 1/10 Sekunde für den Verschlüsselungs-Algorithmus.

SEITE ABSICHTLICH LEER GELASSEN