Algorithmen für Seriennummern

Hallo miteinander!

Wenn man irgendwelche Software aktivieren muss, braucht man ja meist eine Seriennummer um das Produkt zu aktivieren.
Da versteht es sich ja von selbst, dass diese Schlüssel aufgrund eines Algorithmus erstellt wurden. Jetzt meine Frage:
Wie sehen solche Algorithmen aus?

Ich interessiere mich NUR für die Mathematik hinter diesem System.
Ich hatte da schon so eine Idee, dass ein Block einer solchen Nummer immer eine gewisse Zahl ergeben muss, z.B. 200 oder so.

Freue mich auf eure Antworten.

MfG
LapPro

Hallo,

Wenn man irgendwelche Software aktivieren muss, braucht man ja
meist eine Seriennummer um das Produkt zu aktivieren.
Da versteht es sich ja von selbst, dass diese Schlüssel
aufgrund eines Algorithmus erstellt wurden. Jetzt meine Frage:
Wie sehen solche Algorithmen aus?

Häufig ist es eine kryptographische Signatur mit einem public key Verfahren. D.h. der Hersteller hat einen private key, mit dem sie eine Signatur erstellen kann, der in der Seriennummer kodiert ist. Die Software hat eine Kopie des öffentlichen Schlüssels, und kann damit die Signatur verifizieren.

Siehe z.B. http://de.wikipedia.org/wiki/Digital_Signature_Algor…

Grüße,
Moritz

Hallo,

die eigentliche Seriennummer kann ja beliebig sein. Geht es Dir um Algorithmen zur Feststellung der Gültigkeit einer gegebenen Serienzummer? Hierfür gibt es eine Vielzahl.

Schau mal unter dem Stichwort Prüfziffer, z.B.:

http://de.wikipedia.org/wiki/Pr%C3%BCfziffer

Praktische Beispiel:

http://de.wikipedia.org/wiki/Ausweisnummer

„Ich hatte da schon so eine Idee, dass ein Block einer solchen Nummer immer eine gewisse Zahl ergeben muss, z.B. 200 oder so.“

Meist ist andersherum. Eine gewisse Zeichendolge ist gegeben, die Prüfziffer(n) werden gebildet.

mfg

tf

Hallo Thomas!

Mir geht es mehr darum, wie ein Algorithmus aussieht mit dem so ein Schlüssel erstellt wird.
Wie sehen denn die aus?

MfG
LapPro

Das ist unterschiedlich bzw. ziemlich frei wählbar, ein gerade kurz selbst ausgedachtes Beispiel:

* Erzeuge Zufallsziffern: 1234567890
* Füge Prüfziffern hinzu, anhand derer die Gültigkeit der Seriennummer erkannt werden kann, beispielsweise: Quersumme am Ende anfügen:

123456789045

und am Anfang oder irgendwie dazwischen Prüfziffern hinzufügen nach einem anderen Algorithmus, beispielsweise könnte man die ungeraden Positionen addieren, die der geraden Positionen quadrieren und addieren, vom Ergebnis die letzten beiden Ziffern nehmen:

1+2^2+3+4^2+5+6^2+7+8^2+9+0^2=45

45123456789045

Wie gesagt, da sind dem Einfallsreichtum kaum Grenzen gesetzt, der Algorithmus sollte natürlich nur nicht so einfach sein, dass jeder selbst seine Seriennummern erzeugen kann. :wink:

Seriennummern != Produktschlüssel
Du wirst zwei Dinge durcheinander, die unterschiedliche Anforderungen haben.

Seriennummern im eigentlichen Sinne dienen zur Identifikation einer Produktionscharge und Einzelgeräten. In sofern sind strukturierte („Sprechende“) Nummern gebräuchlich. Schließlich will man beispielsweise Baureihen an bestimmten Stellen oder Nummernkreisen erkennen. Manchmal hängt man eine Prüfziffer an, um die Korrektheit bei der Eingabe prüfen zu können.

Freischaltcodes dienen zur kryptologischen Absicherung gegen Raubkopien. Hier kommen klassische asymetrische Schlüssel zum Einsatz.
Nette Beschreibung:
http://www-i1.informatik.rwth-aachen.de/~algorithmus…

Ciao, Allesquatsch