Algorithmus für fortlaufenden Schlüssel

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Algorithmus für fortlaufenden Schlüssel

    Hallo,
    ich bin auf der Suche nach einem Algorithmus.
    Ich suche nach einer Zahlenreihe, welche sich abhängig von Startwert und Uhrzeit berechnen lässt.
    Ziel des Ganzen soll es sein, auf 2 von einander getrennten Geräten alle 60 Sekunden einen neuen Schlüssel zu errechnen.

    Beispiel:
    Ich habe einen beliebigen 8-stelligen Startwert (zb: 55679218)
    Von diesem Ausgangswert soll alle 60 Sekunden eine neue Zahl generiert werden. Wenn ich den Startwert und den Algorithmus kenne, kann ich mir genau diesen Wert auf einem anderen Gerät nun berechnen.

    Das Ganze soll als Authentifizierung dienen. Dh am besten immer die selbe Formel, welche sich einfach durch einen anderen Startwert und eventuell noch eine Variable verändern lässt. Der Rest der Berechnung sollte gleich bleiben, damit man einfach neue Partner hinzufügen kann. Es sollten dabei auch einfache Rechenoperationen zum Einsatz kommen. Ich habe vor das Ganze dann auf einem Mikroprozessor zum Laufen zu bringen und der kann keine wüsten Potenzwurzeln oder ähnliches

    Ist das nun von mir in etwa verständlich erklärt worden? smile


    Bisher hab ich mir folgendes überlegt (vereinfacht)

    Startwert: 10000000
    Variable: 18
    neuer Wert = Startwert + Variable
    somit kriege ich eine Kette von Werten:
    10000000 10000018 10000036 10000054 ...

    nur fehlt mir nun noch das Ganze in Abhängigkeit von der Zeit, sodass ich auf einem anderen Gerät berechnen kann, welcher Wert aktuell der gültige ist. Und die obige Formel ist natürlich sehr leicht ausfindig zu machen. Also etwas schwereres sollte es schon sein.

    Kann mir da jemand weiterhelfen?
    Auch für andere Lösungsvorschläge bin ich offen.
    Mess with the Besth, die like the rest!

  • #2
    Zitat von Besth Beitrag anzeigen
    Hallo,
    ich bin auf der Suche nach einem Algorithmus.
    Ich suche nach einer Zahlenreihe, welche sich abhängig von Startwert und Uhrzeit berechnen lässt.
    Ziel des Ganzen soll es sein, auf 2 von einander getrennten Geräten alle 60 Sekunden einen neuen Schlüssel zu errechnen.

    Beispiel:
    Ich habe einen beliebigen 8-stelligen Startwert (zb: 55679218)
    Von diesem Ausgangswert soll alle 60 Sekunden eine neue Zahl generiert werden. Wenn ich den Startwert und den Algorithmus kenne, kann ich mir genau diesen Wert auf einem anderen Gerät nun berechnen.
    Ich verstehe nicht, warum du so etwas unzuverlässiges wie die Zeit (noch dazu auf zwei verschiedenen Geräten) mit in diesen Algorithmus einbinden möchtest.

    Ansonsten schau dir mal mt_rand() an. Das erzeugt mehrfach hintereinander aufgerufen, verlässlich immer die gleichen Zahlenfolgen, WENN man es mit der gleichen Zahl "seedet" (und das verwendete PHP nicht älter als Version 5.1.2 ist).

    Ich habe vor das Ganze dann auf einem Mikroprozessor zum Laufen zu bringen ...
    Oh, und da fragst du in einem PHP-Board?
    Wäre ein entsprechendes Fachforum nicht ein besser geeigneter Anlaufpunkt?

    Es scheint da einige zu geben.

    ... und der kann keine wüsten Potenzwurzeln oder ähnliches
    Außer Bitfrickeleien (XOR, Shift) braucht MT keine besonderen Fähigkeiten.
    Beispielimplementierungen gibts zu Hauf im englischsprachigen Artikel (der aber sonst eher inhaltsarm daherkommt).

    Wenn allerdings die Erzeugung der Zufallszahlen zeitkritisch sein sollte, empfiehlt Wikipedia als Alternative den WELL-Algorithmus, der mir ähnlich simpel umsetzbar erscheint.

    Falls nicht, tuts eine allgemeinere Google-Suche nach Pseudo-Zufallsgeneratoren für schwachbrüstige Prozessoren.
    Zuletzt geändert von fireweasel; 27.06.2012, 10:45. Grund: mehr links
    Klingon function calls do not have “parameters”‒they have “arguments”‒and they always win them!

    Kommentar

    Lädt...
    X