Blockchiffre vs Stromchiffre

May 11, 2024 Last reply: 2 years ago 20 Replies

Ich habe mich gestern einmal gründlicher mit der Blockchiffre AES befaßt, weil ich deren Implementierung starten wollte.



Als ich 2022 die Stromchiffren RABBIT und DRAGON implementierte, hatte ich bereits die offizielle NIST-pdf zu AES. Damals hatte ich mich gegen eine AES-Implementierung entschieden. Dazu ist es auch gestern gekommen.



STROMCHIFFRE



Die Stromchiffren erzeugen kryptographisch einen zufälligen Datenstrom mit einer Länge von z.B. 2^68 Byte _pro Schlüssel_. Das ist etwa 295 Exa-Byte oder 10^(20,47)! Es handelt sich um einen Zufallszahlengenerator.



Diese Zufallszahlen können XOR-verknüpft werden mit einer zu verschlüsselnden Datei: . datei = datei ^ random; . datei ist nun verschlüsselt. . datei = datei ^ random; . datei ist nun entschlüsselt. Es kann zwischen verschlüsseltem und entschlüsseltem Zustand gewechselt werden, einfach indem jeweils genau die gleiche Operation durchgeführt wird!



BLOCKCHIFFRE



Die Blockchiffre AES verschlüsselt in einem Lauf nur 16 Byte. Die Daten aus 'datei' (16 Byte) werden ganz zu Anfang immer wieder neu zugeführt. Ebenso, wie immer wieder ein (neuer) Schlüssel gegeben werden muß [1].



AES muß wegen Entschlüsselung quasi verdoppelt werden. Zur Entschlüsselung arbeitet ein 'inverses AES'. Es muß von fast allem eine inverse Funktion vorhanden sein, auch inverse Tabellen. Auch für die Modi müssen inverse Versionen vorhanden sein (s.nachfolgend).



Ein großes Thema sind die Modi, die AES überhaupt erst fähig machen, um eine Datei verschlüsseln zu können: ECB, CBC, CFB, OFB, CTR, XTS, CCM, GCM, EAX, ... Diese gehören nicht zum Algorithmus, sondern sind zusätzlicher gehöriger Aufwand! Es gibt bessere und schlechtere Modi, manche sind 'viel besser', andere sind 'gefährlich'!



Es fällt sehr auf, daß AES /über den grünen Klee gelobt/ wird - auch die Performance! Das wird wohl ungefähr berechtigt sein - allerdings nur im Vergleich mit den anderen Blockchiffren. Stromchiffren sind Blockchiffren stark überlegen, hinsichtlich der Größe des Quellcodes (z.B. 80 statt 500 Zeilen), der Verarbeitungsgeschwindigkeit über alles, der Ressourcenschonung und der besseren Handhabung und Übersichtlichkeit.



Dem Netz kann entnommen werden, daß AES durch Optimierungen mehr als 30-fach beschleunigt werden konnte. Dabei wurden die AES-intel-Instruktionen nicht erwähnt. Es wurden u.a. viele statische Arrays angelegt, um dies zu erreichen. Erwähnt wird, daß weitere 8 Arrays mit je 1024 Byte angelegt werden können. Im Umkehrschluß ist erkennbar, daß ohne diese Optimierungen die Performance miserabel sein muß. Solch eine Ressourcen-Ballerei ist bei Stromchiffren nicht anzutreffen.



Blockchiffren haben wohl prinzipielle Vorteile gegenüber den Stromchiffren. Diese sind jedoch z.B. für mich völlig irrelevant, so daß fast nur Nachteile übrig bleiben. Es ist jedenfalls günstiger, Stromchiffren zu verwenden, die mit Schlüsseln hoher Entropie beschickt werden. Beispielsweise kürzere Zeichenfolgen einem Hash-Kommando sha256 vorzulegen.



[1] Es gibt die Überlegung, daß nicht immer der gleiche Schlüssel gegeben werden kann, weil dann bei gleichen 16-Byte-Blöcken aus der zu verschlüsselnden Datei die verschlüsselte Datei entsprechend gleiche Stücke enthielte! Ich könnte einen Schlüssel durch addieren von Zahlen 1..255 jeweils zu einem neuen Schlüssel machen.

Wie hammse denn seinerzeit die Stromchiffren geknackt, zum Beispiel den Datenstrom um 1 Zeichen versetzt mit sich selbst gexort, weil dann die Doppelbuchstaben rausfallen, zB Su-mm-e der Gu-mm-ibeste-ll-ungen und das ist doch heute genauso machbar, oder? Bin nicht vom Fach und habe keene Ahnung nicht.

w.

Warum? Es gibt hunderte, die alle besser sind als Deine.

--

---------------------------------------------------------------------------- Marc Haber | " Questions are the | Mailadresse im Header Rhein-Neckar, DE | Beginning of Wisdom " | Nordisch by Nature | Lt. Worf, TNG "Rightful Heir" | Fon: *49 6224 1600402

Nehmen wir mal "Summ" und verknüpfen es mit der Chiffrestromfolge t x y z:

'S' ^ t 'u' ^ x 'm' ^ y 'm' ^ z

Jetzt verknüpfen wir das Ergebnis mit sich selbst um eine Stelle verschoben:

'S' ^ t ^ ... 'u' ^ x ^ 'S' ^ t 'm' ^ y ^ 'u' ^ x 'm' ^ z ^ 'm' ^ y

Damit haben wir

... 'u' ^ x ^ 'S' ^ t 'm' ^ y ^ 'u' ^ x z ^ y

Nach Ausfall des Buchstabens bleibt die Verknüpfung zweier Unbekannter. Wie geht's jetzt weiter?

Ich auch nicht. Ich versuche gerade soviel von Kryptografie zu verstehen, dass ich sie anwenden kann.

Ein Problem von Stromchiffren ist die Formbarkeit (Malleability) des verschlüsselten Texts: ein aktiver Angreifer kann einfach ein Bit kippen und dann ist im entschlüsselten Text auch ein Bit gekippt. Daher immer mit einem Nachrichtenauthentifizierungscode (Message Authentication Code, MAC) verwenden.

Bei klassischen Stromchiffres kann nicht wahlfrei auf den Schlüsselstrom zugegriffen werden, was für Parallelisierung und manche Anwendungen unpraktisch ist.

*Schulterzuck* Because we can?
formatting link

Du erzählst von einem Paradoxon. Anhand der Quellcodes müßtest Du erläutern, warum andere Implementationen besser sind als meine, die jedoch gar nicht existiert.

Das könnte eine Art Anekdote sein, die nicht ernst genommen werden sollte.

Seit etwa 2000 sind viele Stromchiffren entstanden, durch Wettbewerbe wie ECRYPT beflügelt. Die gelten seit dieser Zeit als sicher. Die sind überwiegend fähig, Schlüssel mit 256 Bit zu verarbeiten, mindestens 128 Bit. Längere Schlüssel sind bis heute nicht verbreitet. Diese neueren Stromchiffren sind folglich modern.

Nu wart's mal ab. Er hat ja noch nicht mal angefangen.

BTW: Ist das Thema hier nicht Mega-OT?

Gruß

Gregor

Ich weiß aus deinen Postings wie Du arbeitest und wie viel Zweifel Du an Deiner eigenen Arbeit hast. Da KANN nichts anständiges bei rauskommen.

Grüße Marc

Ich kenne diese (angebliche) Schwäche. Das ist beispielsweise für mich (und andere) irrelevant. Die unverschlüsselte Datei liefert mir einen Hash sha256, den ich aufbewahre und später für einen pauschalen Test verwende.

Wenn ich eine Datei verschlüssele und in eine Cloud kopiere, können dabei und beim Download ohnehin Übertragungsfehler passieren. Ein Hash ist folglich pauschal erforderlich. Download-Inhalten stehen ohnehin meistens Hash-Dateien beiseite.

Ich müßte ja für ein Backup auch mit einer Blockchiffre eine Datei verschlüsseln und in eine Cloud kopieren. Das ist ja eine identische Situation mit einer Stromchiffre.

Große Dateien können zerlegt und deren Teile parallel verschlüsselt werden. Danach kann eine Archiv-Datei gebildet werden.

Es kann auch der innere Zustand einer Stromchiffre an bestimmten Positionen festgehalten werden, um sie später zu verwenden.

Ich werde auch nicht damit anfangen! Genau das bekräftigte ich auch in dem Posting, auf das hier geantwortet wird.

Jedoch diese meine Aussagen wurden ja hier gelöscht. Zu diesem fortwährenden Löschen gab es bereits einen kleinen Sub-Thread.

Nein, es gibt beispielsweise Prozessor-Instruktionen, die kryptographische Operationen vornehmen. Außerdem gab es hier bereits andere Krypto-Threads, ohne daß es zu OFFtopic-Kritik kam.

Ich habe noch nie irgendwelche Zweifel an meiner konkreten Arbeit gehabt. Allerdings weiß ich stets, welches notwendige Wissen ich bereits habe und welches noch nicht.

Herr Sch. kann anscheinend nicht Zufall von Pseuduzufall unterscheiden. Ob man so jemanden irgendetwas zutrauen kann?

Erläutere doch mal, warum ich das angeblich nicht unterscheiden kann. Das wirst Du nicht können. Warum? Du stellst einfach Behauptungen auf, weil Du irgendwas Argumentatives brauchst.

Ich habe schon in den 1980ern erfolgreich Hardware-Zufallsgeneratoren gebaut. Früher, als hier manche geboren wurden. Pseudozufalls-Generatoren habe ich zu dieser Zeit auch betrieben, unter SCO-Unix386.

Quatschkopp.

Du schriebst, Klartext würde mit /Zufallszahlen/ XOR-verknüpft.

Wie will man das jemals entschlüsseln?

Einen Strom von Zufallszahlen kann man nicht reproduzieren.

Helmut Schellong schrieb:

Nachvollziehbar. Das fällt bei von sich selber völlig überzeugten Menschen immer wieder auf und ist regelmäßig ein zuverlässiges Erkennungszeichen für Personen, die man zu nichts gebrauchen kann. Wer noch nicht einmal fähig ist, sich und seine Arbeit kritisch zu bewerten, den will man nicht an wichtigeren Positionen als evtl. dem Fahrer der Kehrmaschine für den Ladehof haben

MfG Rupert

In beiden/allen Krypto-Threads wurde ausnahmslos von kryptografischen Algorithmen geschrieben. Solche können nur Pseudo-Zufallszahlen generieren. Das ist der Kontext.

11.05.2024, 19:51 |Die Stromchiffren erzeugen kryptographisch einen zufälligen Datenstrom |mit einer Länge von z.B. 2^68 Byte _pro Schlüssel_. |Das ist etwa 295 Exa-Byte oder 10^(20,47)! |Es handelt sich um einen Zufallszahlengenerator. | |Diese Zufallszahlen können XOR-verknüpft werden mit einer zu verschlüsselnden Datei:

Vorstehend der Original-Text. Das Wort 'Zufallszahlen' bezieht sich direkt auf das Wort 'Zufallszahlengenerator' zuvor. Echte Zufallszahlen können nicht von einem Zufallszahlengenerator generiert werden, sondern es werden dazu Hardware-Ereignisse abgetastet, was keine Generierung ist.

Auf jeden Fall beweisen die ersten vier Zeilen des Original-Textes mehrfach, daß der dort genannte 'Zufallszahlengenerator' Pseudo-Zufallszahlen generiert.

Ja, das wußte ich allerdings bereits in den 1980ern.

|> Ich weiß aus deinen Postings wie Du arbeitest und wie viel Zweifel Du |> an Deiner eigenen Arbeit hast. Da KANN nichts anständiges bei |> rauskommen. | |Ich habe noch nie irgendwelche Zweifel an meiner konkreten Arbeit gehabt. |Allerdings weiß ich stets, welches notwendige Wissen ich bereits habe |und welches noch nicht.

Der Originaltext entlarvt Eure irrationalen Tricksereien, Täuschereien und Betrügereien.

Nein.

100%ige OFFtopics kannst Du Dir derzeit erneut massenhaft anschauen. Nämlich Politik, Gesellschaft, Psychiatrie, Gesetze, BGB, etc.

Niemand klagt dagegen, oder fragt, ob das OFFtopic ist, sondern diese Total-OFFtopics werden begeistert und intensiv aufgenommen und fortgeführt.

Übrigens: Ich habe hier beispielhaft alles gelöscht, auf das ich nicht direkt antworte. So, wie es verbreitet bevorzugt wird.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required