Kurzer Schlüssel so sicher wie OneTimePad?

Erstmal Hallo! Bin neu hier... :D

Ich frage mich schon die ganze Zeit, ob es möglich wäre auch mit Schlüsseln, die beutend kürzer als der Klartext sind zu unknackbaren Verschlüsselungen zu gelangen. Und zwar indem man den Schlüssel mit einer nicht-trivialen-Maschine (Heinz von Foerster) kombiniert. Es würde es mich freuen, wenn mir jemand sagen könnte, ob bei dieser Methode Angriffspunkte in Form von statistischen Häufungen entstehen.
Die Idee ist, dass Alice und Bob jeweils den Schlüssel und exakt diesselbe nicht-triviale-maschine besitzen. Kann man jetzt durch ein Set von Algorythmen die miteinander verschachtelt sind mithilfe eines kurzen Schlüssels einen langen Schlüssel erzeugen der keine statistischen Häufungen (also Angriffspunkte) mehr aufweist?

gruss

n8m
 
Hallo,
unmöglich.

Edit:
Ein One-Time-Pad der absolut Zufällig ist, kann aus einem Geheimtext die max. Anzahl an Klartexten errechnen, und dabei sind alle gleich Wahrscheinlich.

Wenn der Key 1 Buchstabe hat, so kann aus einem Geheimtext (Länge egal) max. 26 Klartexte (mit gleicher Länge) errechnet werden.

Wenn man jetzt ein One Time Pad benutzt, so kann aus einem Geheimtext (10 Zeichen) ca. 10^14 (26^10) Klartexte errechnet werden, dabei sind alle gleich Wahrscheinlich.



Außerdem wäre beim Problem mit der "Nicht-Trivialen-Maschiene" wie man die übergiebt. Bob müsste ja seine Maschiene persönlich an Alice übergeben.

"Die sogenannt "nicht trivialen Maschine" ist natürlich in dem Sinne trivial, als sie - wie die "triviale Maschine" - eine Maschine ist, also einer genau festgelegten Regel folgt. "

Das heißt wenn man in der Nicht-Trivialen-Maschine einen "Startwert" eingibt, dann erhählt jeder mit dem gleichen Algorithmus die gleiche, neue Zahl (den neuen Key).

Ein Angreifer würde sich jetzt den Algorithmus der "nicht-Trivialen-Mschine" angreifer, er würde alle möglichen Startwerte eingeben, das Ergebnis dann ablesen und dann versuchen damit zu Entschlüsseln.

Allerdings hat man ja weniger Startwerte (wegen dem kleinem Key) für die Maschine, als ein One-Time-Pad.


Dieses Verfahren ´nennt man auch Stormchifierung, und wenn der Algorithmus (die Maschine/die Berechnung) sicher ist so das Verschlüsselungsverfahren auch sicher, sofern man noch ein paar kleine, bzw. große Sachen beachtet wie ein Initialisierungsfaktor.

Solche Stormchiffrierung benutzen z.B. GSM-Handys (A5), dieses Verfahren ist allerdings recht unsicher.
WEP (bei WLAN Verschlüsselung) ist auch eine Stormchifferiung und ist auch sehr unsicher.
 
Aber wenn die nicht-triviale-maschine komplex genug ist, könnte ich doch mit ihrer Hilfe Schlüssel erzeugen, die wie weisses Rauschen aussehen. Klar, es steckt ein Algoritmus-Set dahinter, so dass der Schlüssel prinzipiell knackbar ist, in der Praxis jedoch ein brute-force-angriff unpraktikabel lange dauern würde. Oder steckt da irgendwo ein Denkfehler dahinter?



gruss

n8m
 
Hallo,
jo du hast einen Denkfehler.

Man geht immer davon aus, das der Angreifer den Algorithmus kenn. A5, A3 und A8 werden in GSM-Handys benutzt und wurde auch absolut geheim gehalten. Dennoch ist das Verfahren heutzutage bekannt (irgendwie bekannt geworden) und es gibt diverse Algorithmen in C/C++ die die gleichen Ergebnisse liefern.

Man geht davon aus, das der Angreifer den Algorithmus kennt.

Alice gibt jetzt in die Maschiene ein 5 Stellen Passwort ein und die Maschiene Errechnet daraus einen nicht absolut zufälligen One-Time-Pad, weil er ja berechnet wurde, und was berechnet wird, ist nicht zufällig ;)

Der Angreifer nimmt sich jetzt den Algorithmus (der nicht-triviale-Maschine), testet jetzt alle Passwörter mit 5 Stellen (weil Alice nur 5 Stellen genommen hat), das Ergebnis wendet er auf den Geheimtext an und ziehmlich schnell erhählt er den Klartext.

Dennoch gibts sichere Stormchiffrierrungen, aber die sind nicht so sicher wie Absolut zufällige One-Time-Pad's.

"Die Sicherheit ist immer nur so gut, wie das schwächste Glied in der Kette".

Wie so siehst, ist der Key entscheidend, den man in die Maschiene eingibt.

Achja, sehe Edit oben
 
äh also nach kurzem google hab ich diese nicht trivialen maschinen so verstanden:
maschine befindet sich in zustand a (grundzustand). mit jedem bit in diesem fall, mit dem du die maschine fütterst, nimmt sie einen anderen zustand an. klar. sowas nennt man software oder eine logische schaltung.

wichtig ist hierbei aber der grundzustand. wenn der grundzustand a ist und man eine 0 reinschiebt, dann passiert f(a, 0).
wenn grundzustand b ist passiert f(b, 0) beim ersten bit.
dh dein schlüsselraum ist wieder die menge der möglichen grundzustände.
wenn der grundzustand gleich ist, passiert auch dasselbe mit derselben bitmenge, die du da rein pumpst.
es kommt natürlich darauf an, wie diese maschine gebaut ist, aber im grossen und ganzen
glaube ich, dass sich das nicht von einem herkömmlichen algorithmus unterscheidet.

grundzustände kannst du immer bruteforce, und dann gucken, ob as sinnvolles rauskommt.
 
Zurück
Oben