Hallo,
hey, ich habe einen Schlüssel gefunden: ABRAKADABRA
Mit EUA ('Elderans Unbreakable Algorithm') bekomm ich aus den Geheimtexten direkt die Klartexte 'abcd...xyz' bzw. 'ABC...XYZ' herraus.
Wahnsinn!
Die Verschlüsselung ist, wie ich heute Abend von einem Kollegen erfahren habe, sehr wahrscheinlich relativ sicher, denn ein Teil davon entspricht beinahe der ISAAC Verschlüsselung.
Das hat leider nichts zu bedeuten.
Hätte man DES mit zufälligen S-Boxen ausgestattet, dann wäre DES sehr wahrscheinlich unsicher geworden, selbst wenn man nicht den Worst-Case von linearen S-Boxen erwischt.
Dieser kleine Unterschied, zufällige S-Boxen gegen speziell gewählte S-Boxen, machen den Unterschied aus, ob ein Algorithmus sicher oder unsicher ist. Selbst eine falsch gewählte SBox kann katastrophale Auswirkunden haben.
Deswegen reicht es nicht aus, sich an bekannten Algorithmen zu orientieren. Gut, einen reihnen Ciphertext Angriff wird man dann hoffentlich nicht mehr durchführen können, aber gegen alle anderen Attacken bringt das meistens relativ wenig Schutz.
Bei Algorithmen muss das Gesamtkonzept stimmen und es reicht nicht aus, irgendwelche Bestandteile von anderen Algorithmen zu übernehmen.
Das macht ja die ganze Angelegenheit so schwierig.
der Lust und Zeit hat eine KPA durchzuführen, denn solche Lösungsversuche, auch bei so kurzen Strings, können Zusammenhänge aufzeigen, die zuvor nicht einberechnet wurden.
Es wäre schon sehr fatal, findet man bei eine Stromchiffre irgendwelche Zusammenhänge bei so kurzen Strings.
Eine Stromchiffre gewinnt ihre Sicherheit daraus, dass der Keystream nicht von einer (absolut) zufälligen Quelle unterschieden werden kann.
Deswegen, wenn man Stromchiffren analysiert, analysiert man eigentlich niemals Plain-Ciphertext Paare (oder nur Ciphertext) sondern immer den Keystream.
Macht auch keinen Sinn Plain-Ciphertext Paare zu analysieren, denn Ciphertext XOR Plaintext = Keystream.
Ansonsten sind Stromchiffren meistens erheblich schwieriger zu analysieren als Blockchiffren, was unter anderem dazu führt, dass eher selten noch irgendwelche Stromchriffren heutzutage benutzt werden.
Wenn man die Charakteristik einer Stromchiffre benötigt, dann greift man oft auf Blockalgorithmen (z.B. AES), die man dann im z.B. Counter Modus betreibt. Hat auch den Vorteil, dass man den selben Key häufiger verwenden kann, sofern eine Nonce im Spiel ist.
In eingebetteten System, z.B. RFID Chips, Smart Cards o.ä., findet man aber weiterhin oft noch Stromchiffren, da sich diese oft gut, einfach und vorallem günstig über Schieberegister realisieren lassen (je nach Algorithmus/Design). Das sind aber dann entsprechend wirtschaftliche bzw. technische Gründe.
Deswegen sollte man, sofern man den Algorithmus untersucht, den Keystream untersuchen.
Das erste was einem dazu einfällt, ist die FIPS Testbox bzgl. zufälligkeit (im verlinkten Thread schon beim Random Oracle Model beschrieben).
Damit kann man die ersten Tests machen, wie der Keystream so ist bei bestimmten schwachen Schlüsseln, bei verwandten Schlüsseln etc.
Wenn eure Chiffre bei z.B. einem 8 Bit Key keinen zufälligen (nach FIPS Testbox) Keystream generiert, dann ist diese unsicher und so nicht verwendbar.
Mir fallen dazu extrem viele Tests ein (man muss bei der Kryptoanalyse eben etwas kreativ sein), wie man Keystreams variieren kann und diese dann alle die FIPS Testbox bestehen müssen, um im Ansatz als evt. sicher betrachtet zu werden.
Ansonsten, wenn ihr schon soviel Arbeit reingesteckt habt, warum veröffentlicht ihr das nicht?
Wie du am Twofish Paper siehst, ist nicht die Beschreibung des Algorithmus (aus deiner Beschreibung werde ich nicht schlau) das wichtige, sondern eben die selbstangestellten Analysen, wie verhält sich der Algorithmus gegen xyz, wodurch wird dieses erreicht etc.
PS: ISAAC orientiert sich selber sehr stark an RC4, mit dem großen Unterschied dass ISAAC entweder 32 oder 64 Bit Wörter generiert, während RC4 nur 8 Bit / ein Byte Wörter generiert.
ISAAC eignet sich dementsprechend sehr gut, um schnell Zufallsdaten o.ä. auf 32/64 Bit Architekturen zu erhalten.