Kryptographie für wenig Fortgeschrittene ;D Oder: Wie gut ist dieser Algorithmus?
-
Hallo,
Ich (noch Schüler) bin recht kryptographie-begeistert und habe mir aus Spaß einen kleinen Algorithmus ausgedacht. Nun merke ich aber, dass meine mathematischen Fähigkeiten nicht ausreichen, um herauszufinden, wie gut dieser ist, also wollte ich herumfragen, was ihr denn davon haltet.
Nun, das grundlegende Verfahren wäre folgendes:
- Ich nehme eine Datei(Nachricht, etc.) und teile diese in zwei Teile.
(Diese werden als Zahl interpretiert)
- Ich nehme zwei Schlüssel (Auch Dateien, Passwörter, etc.)
- Ich multipliziere den ersten Teil der Datei mit dem ersten Schlüssel
und addiere den zweiten Teil + den zweiten Schlüssel darauf.
- (der erste Schlüssel muss größer sein als der zweite Teil der Datei)Oder etwas mathematischer:
f(d1,d2) = d1 * k1 + d2 + k2
d1 und d2 sind die Teile der Datei, k1 und k2 sind Schlüssel.dabei gilt:
k1 > d2
k1 > 0
d1 >= 0
d2 >= 0Außerdem:
Wie sicher ist eine einfache Addition?
Also, ich nehme beispielsweise eine Datei (interpretiere sie als Zahl) und
addiere z.B. einen 128bit Schlüssel direkt darauf.
-
Die Verschluesselung ist leider nicht eindeutig. Zum entschluesseln muesstest du ja erstmla D2 abziehn und behaelst
f(d1, d2) - k2 = d1 * k1 + d2 =: x
uebrig. Da nur k1 bekannt ist bleibt einzig die modulo-operation als Loesung ->
d2 = x % k1; d1 = x/k1 (integerdivision)
Das setzt aber voraus, dass d2 < k1, damit der modulo das richtige Ergebnis liefern kann. Sonst kaemen fuer d2 verschiedene Ergebnisse in Frage, naemlich
d2 = (x%k1) + n*k1, n beliebig
fuer 128 bit Schluessel bedeutet dass, das d2 auch hoechstens 128 bit gross sein kann.
-
Nein, nein, k1 und k2 sind beides Schlüssel, die Verschlüsselung ist eindeutig, hab's ausprobiert^^
EDIT: Sorry, bin in zeitlicher Bedrängnis, deswegen nicht ganz gelesen.
Mich interessiert jedenfalls, wie sicher das Verfahren ist.
-
k1 > d2 ist vorrausgesetzt.
-
Eine erste Idee: Eine Chosen-Plaintext-Attacke führt sofort zum Erfolg. Wenn du z.B. die Daten auf 0 setzt, besteht der Cipher-Text nur aus k2.
-
Ich hab mir seine Verschlüsselung nicht genau angesehen und die Frage auch nicht allzulang überlegt aber: Inwiefern hilft das weiter, dass die Chosen-Plaintext-Attacke hier erfolgreich ist?
Inwiefern kann ich das hier verwerten?
mfg
-
Naja, wenn du keinen Zufallstext verschlüsseln willst, dann wird er immer irgendwelche statistischen Eigenschaften haben, die eventuell von Anfang an bekannt sind. Oder noch einfach: Wenn du eine Datei verschlüsseln willst, dann wird sie oft einen bekannten Header haben (Zip, DOC, oder sonstwas). Und dann kannst du halt aus diesem bekannten Teil auf den Key und somit den Rest des Dokumentes schließen.
mfg, Bloops
-
Hallo, ja danke, nur in diesem Falle ist ja nur der Schlüssel bekannt oder? (k2 ist key 2 oder?)
Sry wenns ne blöde Frage ist.
mfg
-
Und was macht man, wenn man den Schlüssel kennt? Richtig - man entschlüsselt damit die Dateien.