Webdesign in Siegen

Codeknacker

Fragen zum Thema PHP können hier gestellt werden

Moderator: Basti

Codeknacker

Beitragvon Labrar am 14.11.2007, 17:02

Hallo

Ich habe hier http://ush-media.de/shirtshop/testenig.php ein kleines Textenigma programmiert. D.h. ich bin noch dran.
Man gibt einen Codierungsschlüssel ein(bis 8 Stellen/ Nummern und/oder Buchstaben), einen Text und codiert das ganze. Dann mit dem gleichen Schlüssel kann man die Sache wieder leserlich machen.

Wäre super wenn ihr mal schauen und probieren wollt :lol:
Mich würde tierisch interessieren ob jemand drauf kommt wie es gemacht ist und wie sicher ihr das einstufen würdet.

Es werden noch keine Fehlermeldungen bei fehlendem Schlüssel ausgegeben und auch das Design ist noch nicht vorhanden.

Bei anderen auffallenden Fehlern bitte gleich posten :lol:

Danke :mrgreen:
Ich möchte wie mein Opa im Schlaf sterben und nicht heulend und schreiend wie sein Beifahrer.

Mentalisten sprechen Rabisch und sprengen den Geist
Fundamentalisten sprechen Arabisch und sprengen sich selbst

Von O. Kalkofe über die Urin Kellner Show
Labrar
Mitglied
 
Beiträge: 443
Registriert: 11.04.2007, 21:52
Wohnort: Ludwigsburg

Re: Codeknacker

Beitragvon Manuel am 14.11.2007, 21:13

Für wirklich sicher halte ich es nicht ehrlich gesagt.

Was mir direkt auffällt: Die Anzahl der Zahlen-Ketten entsprechen der Zeichen, die ich eingegeben habe + Leerzeichen.
Die Länge der Zahlenketten hängt davon ab, wie lang mein Schlüssel ist mal 2, wobei ich darauf tippen würde, dass du beispielsweise die Nummer eines Buchstabens im Alphabet raussuchst, diesen mit dem ersten Buchstaben des Schlüssels beispielsweise multiplizierst, dann mit dem zweiten Buchstaben usw.
Ebenfalls wichtig: Jeder Buchstabe erhält dann den gleichen Zahlencode.

Wenn dich das Thema interessiert, dann lies doch dazu mal ein gutes Buch. Es gibt ja schließlich genug Verschlüsselungsalgorithmen, die wirklich äußerst sicher sind.

Lg,
Manuel ;-]
Benutzeravatar
Manuel
Site Admin
 
Beiträge: 9114
Registriert: 10.12.2004, 19:29
Wohnort: Asbach

Re: Codeknacker

Beitragvon Labrar am 15.11.2007, 00:03

Hmm

Stimmt jeder Zahlenblock entspricht einem Zeichen. Aber es stimmt nicht daß jeder Buchstabe immer den gleichen Zahlenwert hat. Versuch doch mal den gleichen Satz mit immer anderen oder nur minimal abgeändertem Schlüssel zu codieren
Ich möchte wie mein Opa im Schlaf sterben und nicht heulend und schreiend wie sein Beifahrer.

Mentalisten sprechen Rabisch und sprengen den Geist
Fundamentalisten sprechen Arabisch und sprengen sich selbst

Von O. Kalkofe über die Urin Kellner Show
Labrar
Mitglied
 
Beiträge: 443
Registriert: 11.04.2007, 21:52
Wohnort: Ludwigsburg

Re: Codeknacker

Beitragvon Manuel am 15.11.2007, 00:35

Nein, das meine ich nicht. Wenn ich oben den Schlüssel verwende und unten im Text ein Zeichen mehrfach auftaucht, so erhält dieses Zeichen immer den gleichen Zahlenblock. Fügt man dem Schlüssel ein weiteres Zeichen hinzu, so wird auch der Zahlenblock 2 Zahlen pro Zeichen länger.
Benutzeravatar
Manuel
Site Admin
 
Beiträge: 9114
Registriert: 10.12.2004, 19:29
Wohnort: Asbach

Re: Codeknacker

Beitragvon Labrar am 15.11.2007, 01:09

Ja das stimmt. Meinst du sowas kann zu knacken sein?
Ich möchte wie mein Opa im Schlaf sterben und nicht heulend und schreiend wie sein Beifahrer.

Mentalisten sprechen Rabisch und sprengen den Geist
Fundamentalisten sprechen Arabisch und sprengen sich selbst

Von O. Kalkofe über die Urin Kellner Show
Labrar
Mitglied
 
Beiträge: 443
Registriert: 11.04.2007, 21:52
Wohnort: Ludwigsburg

Re: Codeknacker

Beitragvon Ingo am 15.11.2007, 05:06

Wer lieber selber herausfinden will, wie's geht: besser nicht weiterlesen,
möglicherweise ist folgendes die Lösung (scheint jedenfalls zu klappen):

Den Zeichen a..z,A..Z,0..9,<space> etc. ist je eine Nummer zugeordnet:
a=7, b=4, c=2, d=9, e=20, f=10, g=11, h=12, i=25, j=13, k=14, l=15, m=6,
n=5, o=26, p=27, q=18, r=21, s=8, t=22, u=24, v=3, w=19, x=1, y=0, z=23;
A..Z bekommen die Nummern der Kleinbuchstaben, aber jeweils + 40, also
A=47, B=44 usw. - Die Zahlen 1..9 bekommen die Nummern 30..38, 0 die 39,
das Leerzeichen die 69.

Die Nachricht wird zeichenweise verschlüsselt. Der Schlüssel (von dem wohl nur
die ersten 7 Zeichen benutzt werden) wird dazu zu einereinzigen Zahl umgebaut,
indem man die Nummern der Zeichen aneinanderhängt: Aus dem Schlüssel 'klavier'
wird die Schlüsselzahl 141573252021.

Der Rest ist schnell erzählt: zum Verschlüsseln wird zu jedem Zeichen der Nachricht
die Nummer aus der Tabelle gesucht und diese mit der Schlüsselzahl multipliziert -
zum Entschlüsseln werden die Zahlen der Nachricht einfach wieder durch die
Schlüsselzahl geteilt und in der Tabelle der Buchstabe nachgesehen.

Beispiel: Der Buchstabe 'e' wird mit dem Schlüssel 'klavier' dann zur Zahl
20 * 141'573'252'021 = 2'831'465'040'420

Möglicherweise gibt's für die Tabelle noch irgend'nen Algorithmus? - gn8 :)
Die beste Browserweiche ... sitzt zwischen den Ohren ;o]
Benutzeravatar
Ingo
Moderator
 
Beiträge: 724
Registriert: 01.04.2007, 23:21
Wohnort: Neuss/NRW

Re: Codeknacker

Beitragvon Labrar am 15.11.2007, 10:11

Wow

Im so impressed

Wirklich sehr gut. Im Prinzip Haar genau so funktioniert das Ding.
Okay dann werd ich mal Plan B in Kraft treten lassen :)


PS:

Wie lange hast gebraucht?
Ich möchte wie mein Opa im Schlaf sterben und nicht heulend und schreiend wie sein Beifahrer.

Mentalisten sprechen Rabisch und sprengen den Geist
Fundamentalisten sprechen Arabisch und sprengen sich selbst

Von O. Kalkofe über die Urin Kellner Show
Labrar
Mitglied
 
Beiträge: 443
Registriert: 11.04.2007, 21:52
Wohnort: Ludwigsburg

Re: Codeknacker

Beitragvon Labrar am 15.11.2007, 11:25

So. Minimal modifiziert und schon müsste es sicherer sein.
Eine Frage

Gut du hast zwar herausbekommen wie das Programm funktioniert( Respekt) aber meinst du daß es möglich ist mit diesem Wissen einen Code zu entziffern ohne Schlüssel?
Ich möchte wie mein Opa im Schlaf sterben und nicht heulend und schreiend wie sein Beifahrer.

Mentalisten sprechen Rabisch und sprengen den Geist
Fundamentalisten sprechen Arabisch und sprengen sich selbst

Von O. Kalkofe über die Urin Kellner Show
Labrar
Mitglied
 
Beiträge: 443
Registriert: 11.04.2007, 21:52
Wohnort: Ludwigsburg

Re: Codeknacker

Beitragvon Manuel am 15.11.2007, 12:16

Nun ja, wenn der Schlüssel der Multiplikator ist, dann könnte man sich ein Tool schreiben, welches durch eine gewisse Anzahl von Werten dividiert und schon kommt man eventuell recht schnell auf eine Lösung. Wie gesagt, schau dir doch mal das Prinzip von anderen Verschlüsselungsalgorithmen an. Vielleicht hilft das ebenfalls weiter und bringt dir neue Ideen.

Lg,
Manuel ;-]

@macping: Respekt! :)
Benutzeravatar
Manuel
Site Admin
 
Beiträge: 9114
Registriert: 10.12.2004, 19:29
Wohnort: Asbach

Re: Codeknacker

Beitragvon Ingo am 15.11.2007, 12:52

Mojn, mojn + Dangööö 8)

Ich hab für den Kern etwa 90 Minuten gebraucht (mein letzter Code liegt schon was zurück ;o)),
dazu 1 Kuli und 2 Blatt Papier und geschätzte 100+ Abfragen an den Algorithmus. (Naja, etwas mehr,
ich hab mich unterwegs verschrieben und mich dann über seltsame Effekte gewundert :lol:)

Verschlüsselungen, die jedes Zeichen für sich abarbeiten, sind prinzipiell durch eine Frequenzanalyse
angreifbar: Wenn man eine lange (!) verschlüsselte Nachricht zu fassen bekommt und annimmt,
dass jedes Zeichen für sich verschlüsselt wurde, ermittelt man die Häufigkeit der verschiedenen Zahlen.
Die häufigste vorkommende Zahl wird dabei wahrscheinlich dem Buchstaben entsprechen, der in
gewöhnlichen Texten am häufigsten auftaucht (ich glaube 'e'). - So bekommt man erste Hinweise,
welche Zahl welchem Buchstaben entspricht.
Dann kann man weitersuchen, welcher Buchstabe sinnvollerweise neben einem 'e' stehen könnte, um
(über die Häufigkeit hinaus) weitere Zahl-Buchstabe-Paare zu finden. Je mehr man hat, desto leichter
geht dann der Rest.
Das dürfte einer der Gründe sein, warum man keine characterbasierten, sondern Block-Chiffren verwendet.
Da werden dann zum Beispiel immer Blöcke von 2 oder 4 oder ... Zeichen verschlüsselt. Bei einem Zeichenvorrat
von 50 Zeichen gibt's z.B. schon 2500 verschiedene 2er-Blöcke und 6.250.000 4er-Blöcke. Frequenzanalsysen
haben da weniger Sinn.

Gruß, ip
Die beste Browserweiche ... sitzt zwischen den Ohren ;o]
Benutzeravatar
Ingo
Moderator
 
Beiträge: 724
Registriert: 01.04.2007, 23:21
Wohnort: Neuss/NRW

Re: Codeknacker

Beitragvon Labrar am 15.11.2007, 15:21

Brrr. :lol:
Okay. Dann werde ich es doch ehre mal min InL Codes versuchen. Ist eben tierisch performancesaufend und dauert länger.
Danke
Ich möchte wie mein Opa im Schlaf sterben und nicht heulend und schreiend wie sein Beifahrer.

Mentalisten sprechen Rabisch und sprengen den Geist
Fundamentalisten sprechen Arabisch und sprengen sich selbst

Von O. Kalkofe über die Urin Kellner Show
Labrar
Mitglied
 
Beiträge: 443
Registriert: 11.04.2007, 21:52
Wohnort: Ludwigsburg

Re: Codeknacker

Beitragvon Karl am 16.11.2007, 21:51

Wie iwäre es denn wenn man Wort für Wort verschlüsselt und dann nach Länge des Wortes den Verschlüsselungcode nimmt?
Bei einem Caesarcode wäre dass dann bei ego studeo:
ego=3 also um drei verschieben und studeo=6 um 6 verschoben.
nur mal so als Denkanstoß
(Wer kein Latein kann: =Ich bemühe mich :lol: )

lg karl
Bild
Benutzeravatar
Karl
Mitglied
 
Beiträge: 902
Registriert: 26.08.2007, 00:56
Wohnort: Winnipeg, MB

Re: Codeknacker

Beitragvon Ingo am 17.11.2007, 00:13

Joar, nette Idee :) . Aber auch das ist relativ leicht zu knacken: Wenn ich vermute, dass eine
Nachricht per Alphabet-Verschiebung verschlüsselt wurde, verschiebe ich einfach die
komplette Nachricht nacheindander (zeichenweise im Alphabet) um 1, 2, 3,... Positionen.
Selbst wenn unterwegs die Verschiebedistanz wechselt, tauchen so nacheinander alle
Wörter im Klartext auf. - Beispiel: 'wv fk firi bkxzgtz' :roll: . Ein Perl-Skript bringt Klarheit:

Code: Alles auswählen
my $text = 'wv fk firi bkxzgtz';

for (1..25)  { $text =~ tr/a-zA-Z/za-yZA-Y/;  print "$_: $text\n"; };


Ausgabe:
1: vu ej ehqh ajwyfsy
2: ut di dgpg zivxerx
3: ts ch cfof yhuwdqw
4: sr bg bene xgtvcpv
5: rq af admd wfsubou
6: qp ze zclc vertant
7: po yd ybkb udqszms
8: on xc xaja tcprylr ...

Krypto-Gruß, ip :)
Die beste Browserweiche ... sitzt zwischen den Ohren ;o]
Benutzeravatar
Ingo
Moderator
 
Beiträge: 724
Registriert: 01.04.2007, 23:21
Wohnort: Neuss/NRW

Re: Codeknacker

Beitragvon Ingo am 17.11.2007, 21:18

Weiß nicht, ob noch jemand da ist, ... :lol: Ich hab mich mal an Plan B versucht.
Mein Ergebnis siehe Anhang (Screenshot). Dabei bedeuten
k = Schlüsselzahl (siehe oben: 'klavier' --> Schlüsselzahl 141573252021),
p = Position des Zeichens (0-basiert)
c[p] = Wert des Zeichens an Position p
k[2] = Wert des 3.Zeichens im Schlüssel - oder Null, wenn der Schlüssel
weniger als 3 Zeichen hat.

Plan B ist deutlich schwerer zu überwinden.Trotzdem besser keine wichtigen Daten
damit schützen; wenn ich das mit Kuli und Papier hinbekomme, dann gibt's
bestimmt genug andere, die so'was durch bloßes Hingucken erledigen ;o)
Dateianhänge
Z-krypto.gif
Formel zu Plan B ?
Z-krypto.gif (6.66 KiB) 177-mal betrachtet
Die beste Browserweiche ... sitzt zwischen den Ohren ;o]
Benutzeravatar
Ingo
Moderator
 
Beiträge: 724
Registriert: 01.04.2007, 23:21
Wohnort: Neuss/NRW

Re: Codeknacker

Beitragvon Labrar am 17.11.2007, 23:04

Hmm
Ich verfolge gerade einen anderen Ansatz.

Was ist wenn ich das Alphabet (bzw. die Nummerieung über einen random Zufallswert shuffeln lasse und diesen Wert innerhalb des daraus entstandenen Wirrwars speichere?

Ich würde praktisch gesehen Viereblöcke des Codesalates bauen und aus dem Zufallswert ebenfalls einen Viereblock generieren.
So wäre niemals ein Muster zu erkennen. Theoretisch.
Die Problematik(bzw) Schwachstelle wäre eben der Block des Zufallswertes. Die müüste ebefalls immer an anderer Position sein. Was man wiederum über einen Schlüssel lösen könnte.

Wie findet ihr diesen Ansatz?
Ich möchte wie mein Opa im Schlaf sterben und nicht heulend und schreiend wie sein Beifahrer.

Mentalisten sprechen Rabisch und sprengen den Geist
Fundamentalisten sprechen Arabisch und sprengen sich selbst

Von O. Kalkofe über die Urin Kellner Show
Labrar
Mitglied
 
Beiträge: 443
Registriert: 11.04.2007, 21:52
Wohnort: Ludwigsburg

Nächste

Zurück zu PHP

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast