K
Moba schrieb:
Die schlüsselbasierte Transposition war mir deswegen wichtig, da es die Struktur und gewisse Zusammenhänge total zerreisst, so wie bei einem Text wo alle Buchstaben und somit auch die Wörter und Zusammenhänge zerrissen werden. Schlüsselabhängig habe ich das ganze gemacht, damit der Weg der einzelnen bytes und bits nicht nachvollziehbar ist bzw. die Analyse schwieriger ist und das ganze weniger linear zu machen in Bezug darauf, das ganze als Formel darzustellen (ich hoffe ich täusche mich nicht).
Die schlüsselabhängige Rotation soll die Analyse ebenfalls erschweren.
Eine schlüsselabhängige Neuanordnung von Bits und Bytes ist dafür nicht notwendig. Sie macht das Verfahren nur unnötig schwierig zu implementieren / ineffizient.
Moba schrieb:
Ausserdem sorgt es für eine gute Diffusion (wenn ich da nicht etwas verwechsle).
Ich würde behaupten, dass die schlüsselabhängige Neuanordnung von Bits und Bytes es dir schwieriger macht, dafür zu argumentieren, dass Dein Verfahren für eine effektive Diffusion sorgt.
Moba schrieb:
Die S-Boxen wollte ich schlüsselabhängig machen, damit die Substitution weniger statistische Rückschlüsse und Analysemöglichkeiten lässt. Schliesslich stellt die Substitution normaler S-Boxen nur eine monoalphabetische Substitution dar.
Du verwendest "normale S-Boxen" ja auch nicht allein. Der Trick liegt an der Komposition mit den anderen Schritten die dafür sorgen, dass ein einzelnes Bit von mehreren anderen abhängt oder Schlüsselmaterial einschleusen. In dieser Kombination haben die S-Boxen lediglich eine Aufgabe: Sie müssen möglichst "nichtlinear" sein. Nehmen wir AES als Beispiel. Es gibt vier Operationen, die sich größtenteils abwechseln:
AddRoundKey
SubBytes
ShiftRows
MixColumns
Regelmäßiges AddRoundKey macht die Chiffre vom Schlüssel abhängig. SubBytes ist dazu da, die Chiffre nichtlinear zu machen, so dass sie schlecht linear approximierbar ist. Die anderen beiden Schritte sorgen für die schnelle Diffusion. Wegen ihnen wirkt sich eine kleine Änderung nach zwei Runden auf den ganzen Zustand aus. Weil über AddRoundKey regelmäßig Schlüsselmaterial mit dem Zustand kombiniert wird und es diese schnelle Diffusion gibt, hat AES auch automatisch eine starke Konfusion. Das ist schon relativ elegant bis auf einen kleinen Haken: Schnelle Softwareimplementierungen basieren auf Lookup-Tabellen für SubBytes+MixColumns (4 Tabellen à 256 32-Bit Einträgen für jede Verschlüsselungsrichtung). Sowas will man heutzutage eher nicht haben, weil es eine Angriffsfläche bzgl Seitenkanal-Attacken bietet.
Moba schrieb:
Wie gesagt ich hoffe ich blamiere mich nicht.
Der Versuch, eine interessante Chiffre zu konstruieren, ohne dabei in Sachen Kryptanalyse die Hausaufgaben gemacht zu haben und ohne dabei irgendwie einen Überblick zu haben, warum andere Chiffren was wie machen, ist schon irgendwie... -- man kann dich so jedenfalls nicht ganz ernst nehmen.
Wie gesagt, ich bin in dem Thema auch nicht besonders fit. Kann gut sein, dass du das nächste Mal eine chiffre vorschlägst, die für meine Augen gut aussieht. Das heißt dann aber noch nichts, weil ich eben nicht viel Ahnung von Krypt-Analyse habe. Und die, die vom Thema mehr Ahnung haben als ich, sind wahrscheinlich schwer davon zu überzeugen, die für eine Krypt-Analyse nötige Arbeit zu investieren.
Spannender ist da z.B. CAESAR: Competition for Authenticated Encryption: Security, Applicability and Robustness. 15 von den zahlreichen Einreichungen haben es in die dritte Runde geschafft. Ich bin darauf gespannt, welche Chiffren aus der dritten Runde ausgewählt und empfohlen werden.