Wie funktioniert der 'tinyurl' Mechanismus?

Im Prinzip hast du schon recht, wenn es um reine Bruteforceangriffe geht.
Aber das is ja auch die schlechteste Methode die man Anwenden kann,
wenn man absolut nichts über das anzugreifende System weiß.
Es gibt sehr erfolgreiche Heuristiken die mit viel weniger Bruteforce auskommen und Schlüssel mit einer hohen Wahrscheinlichkeit erraten.
Wenn der Angreifer eine Ahnung hat was für ein Verfahren benutzt wird,
kann er versuchen mit eben diesem gültige Schlüssel zu erzeugen.
Deswegen ist ja auch WEP und SSH-1 trotz 128 Bit Schlüssel nicht mehr sicher.
Dann nehme man doch lieber ein etabliertes Verfahren an dem sich viele Hacker und Mathematiker seit vielen Jahren vergeblich die Zähne ausbeißen.
Natürlich sind bereits 64 zufällige Bits relativ sicher…
die Praxis zeigt jedoch, dass man mit einfachen Verfahren schnell gefahrläuft unterwandert zu werden.
Wenn man sich z.B. die Dokumentation von rand() durchließt stellt man schnell fest, dass diese Funktion allein gar nicht in der Lage ist 2 hoch 64 unterschiedliche Zufallszahlen zu erzeugen.
Oder wenn man herrausfindet wie der Seed(srand) gesetzt wird, z.B. Systemzeit o.Ä…
Ein gewiefter Hacker der mit allen Wassern gewaschen ist,
könnte nur durch Raten des richtigen Seed den richtigen Schlüssel leicht berechnen,
anstatt alle 2 hoch 64 Möglichkeiten abzuklappern.
Ich kenne natürlich selber nicht alle Tricks und es gibt verdammt viele.
Es gibt dabei so viel mehr zu bedenken als die Länge der fertigen Schlüssel.
Und ich sage ja nur: wenn man sich selbst etwas ausdenkt und/oder mit der Schlüssellänge geizt, setzt man sich unnötigen Risiken aus.
Natürlich kann man Glück haben und sich was ausdenken was ausreichend sicher ist.
Aber man sollte nicht vergessen, dass sich die Mathematik schon seit vielen Jahrzehnten damit intensiv beschäftigt hat
und dabei sichere Einweg-Verfahren gefunden die sich nicht effizient zurückrechnen lassen.
Und diese Varfahren sind so gewählt, dass die Rückrechnung mit Sicherheit „NP-Hart“ ist
und das bedeutet, dass jedes weitere Bit die Sicherheit quasi verdoppelt.

Bei der ganzen Sache sollte man auch bedenken, wofür man den Code eigentlich schreibt. Wenn man über die Website nur ein paar Urlaubsfotos an seine Freunde verschicken will, dann muss man es mit der Sicherheit auch nicht übertreiben (ist meine Meinung).
Außerdem ist ein Schlüssel, den man per Mail oder ICQ verschickt, sowieso nicht mehr wirklich geheim.

sigterm

Ja stimmt auffallend.
Genau deswegen wäre es erst mal wichtig zu wissen wofür und wie diese Schlüssel genau eingesetzt werden sollen und welche Sicherheitsanforderungen das ganze haben soll.
Sonst kann man nur ganz schlecht gute Vorschläge machen.
Ich würde deshalb vorschlagen erst mal abzuwarten was MunichFreak dazu sagt.

PS:
MunichFreak meinte in einer Antwort md5 wäre ihm nicht Kryptisch genug,
weil es nur Zeichen von 0-9 und a-f verwendet.
Das sind aber prima Prüfsummen im Hexadezimalsystem,
die man leicht in ein anderes System mit mehr Zeichen umrechnen kann.
Vielleicht reicht diese Lösung schon aus aber auch md5 kann man knacken :wink:
http://de.wikipedia.org/wiki/Message-Digest_Algorith…

Noch was dazu warum die etablierten assymetrischen Verfahren so „gut“ sind:

Fast alle schwierigen Probleme die es in der Informatik/Mathematik gibt sind in gewisser Weise äquivalent.
Man nennt diese Probleme NP-Vollständig „nicht polynomiell - vollständig“.
http://de.wikipedia.org/wiki/NP-Vollst%C3%A4ndigkeit
Wenn man nur eins dieser Probleme (z.B. Dieses) effizient (in polynomieller Laufzeit = P-Problem) löst,
gibt es eine effiziente Umrechnung dieser Lösung, so dass sie sich auch effizient zur Lösung aller anderen NP-Vollständigen Probleme eigentet.
D.h. löst man Eins, löst man Alle auf einmal
(und damit wären NP-Vollständige-Probleme so einfach wie P-Probleme)
http://de.wikipedia.org/wiki/P-NP-Problem
Es gibt seit langem Preisausschreibungen für die effiziente Lösung von NP-Vollständigen Problemen, wozu auch die Rückrechnung asymetrischer Verschlüsselungsverfahren zählt.
http://www.claymath.org/millennium/
http://www.claymath.org/millennium/P_vs_NP/
Nun hat diesen Preis seit nunmehr weit über 10 Jahren noch niemand abgeräumt
und die Mathematiker gehen davon aus, dass es wohl auch nie passiert.
Wenn alle Wissenschaftler der Welt es nicht vermögen, dann wohl auch kein Hacker.

eine interressante variation fürs eigene angebot
http://www.spyka.net/scripts/php/short-url-script

es fügt einfach die url als neue zeile in eine urls.txt und dann ist die id (wievielte eintrag) der shorter .

Beispiel : /short.php?id=12 :smile: bzw mit mod-rewrite /s12

einfach :smile: und man könnte alle shot-urls als sitemap abklappern :smile:
manchmal garnicht so verkehrt :smile: