IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Algorithme de génération de clé


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 95
    Par défaut Algorithme de génération de clé d'intallation
    Bonjour,

    Je voudrais implémenter un petit système de protection par clé d'installation et je souhaiterais avoir des informations sur la façon de m'y prendre pour générer mes clés d'installations et les gérer par la suite, les trucs à avoir en tête, à ne pas faire etc...

    Je sais qu'en pratique, c'est à soit d'imposer ses propres règles mais lorsque l'on n'y connait rien, il faut bien s'appuyer sur des exemples...

    Je voudrais partir sur 2 principes de clés :
    - Une version simple composé de plusieurs groupe de chiffres (ex: 000-0000-000-0000)
    - Une version un peu plus évolué composé de groupes alphanumériques (ex: 0X0-XX00-00X-00XX)

    Quelles règles appliquer pour la génération des clés ?
    Comment garantir l'unicité de chacune de mes clés (partons sur 10 000 clés uniques) ?

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 507
    Par défaut
    Bonjour !
    Citation Envoyé par norwy Voir le message
    Quelles règles appliquer pour la génération des clés ?
    Comment garantir l'unicité de chacune de mes clés (partons sur 10 000 clés uniques) ?
    Je ne suis pas expert en la matière mais l'idée qui me vient serait de trouver une fonction bijective (et inversable) partant de l'ensemble {0, ..., n} (n étant ton nombre de clés souhaitée) et allant vers un nombre représenté par ta clé...
    En effet on peut aisement penser que la clé peut se traduire par un nombre écrit en base 36 (10 chiffres + 26 lettres)...
    Mais cette méthode a un défaut, si quelqu'un trouve comment générer la clé (ou la fonction inverse), il pourra faire un générateur de clé...
    L'unique façon - que je connais - de protéger un logiciel est la méthode "Microsoft", avec une activation du soft par Internet... Toutes les clés étant mémorisée, la 2e demande d'activation d'une même clé est refusée...

    Si cela peut t'aider...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 95
    Par défaut
    Merci pour ta réponse Fabllot.

    Je ne souhaite pas implémenter un système de protection à la hauteur de celui de Billou, donc je suis plus tenter par une "simple" génération en base 36.

    Pourrais-tu me donner un algorithme pour que je puisse savoir comment partir ?

    En gros, j'ai 14 caractères (en base 36 donc). Indépendamment de l'algorithme en lui-même, pour générer les clés, la meilleure façon est de boucler sur l'ensemble des clés possibles et ne sélectionner que celles-qui vérifient l'algorithme de validation ?

  4. #4
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 507
    Par défaut
    Citation Envoyé par norwy Voir le message
    la meilleure façon est de boucler sur l'ensemble des clés possibles et ne sélectionner que celles-qui vérifient l'algorithme de validation ?
    Je ne pense pas... Cela ferait 14 puissance 36 solutions à tester... soit un nombre avec 40 zéros !!! En gros, la clé de 14 caractères est justement là pour les hackers ne puissent pas tester toutes les possibilités (il y en a trop!)

    Je n'ai pas d'algorithme "type" (ce n'est pas mon domaine, mais je m'y interesse un peu, parce-que je vais devoir le faire aussi sur mon soft)...
    Il faut trouver une fonction bijective et inversable de l'intervalle {0, n} vers un sous-ensemble de {0, k}, n étant le nombre de clés désirées et k le nombre de possibilités (14 puissance 36).
    Afin d'être sûr que la fonction soit bijective, il faut sans doute prendre une fonction strictement croissante ou strictement décroissante...

    Il doit bien y avoir sur le net des sites qui parlent de cela...

    Toutefois, le problème avec ces solutions c'est qu'on ne peut vérifier qu'une clé n'est utilisée qu'une seule et unique fois...

  5. #5
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Tu prends un système de cryptage à clé publique.

    Ta clé est alors un message du genre type de license puis numéro de série encodé avec la clé privée.

    Vérifier la clé consiste à décoder le message (avec la clé publique, donc avoir le soft n'aide pas à forger des clés) et à vérifier que le message est correctement formé.

  6. #6
    Inactif  
    Inscrit en
    Mars 2006
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 352
    Par défaut
    Bonjour,

    si tu cherches une fonction bijective qui tend vers l'aléatoire, consulte la bijection aléatoire de Feistel.

    Bon courage.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Algorithme de génération de matricule
    Par bruneltouopi dans le forum Général Java
    Réponses: 6
    Dernier message: 06/11/2012, 17h03
  2. Algorithme de génération des emplois du temps
    Par emmye dans le forum Algorithmes et structures de données
    Réponses: 0
    Dernier message: 19/04/2010, 00h32
  3. Algorithme de génération de mdp (alphanum et num)
    Par _SamSoft_ dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 11/09/2007, 19h42
  4. Algorithme de génération de textures.
    Par Disciple195 dans le forum SDL
    Réponses: 2
    Dernier message: 18/06/2007, 20h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo