Je veux (ou ai créé) des clés en série basées sur la cryptographie à clé elliptique. Ce que je veux faire est d'encoder des informations dans la série qui peut être vérifiée publiquement mais seulement créée par moi. L'idée initiale vient de http://www.ssware.com/cryptolicensing/cryptolicensing_net.htm où ils peuvent créer des séries où les informations sont cryptées. Cependant, ce système est basé sur le RSA, ce qui entraîne des nombres importants. C'est pourquoi je veux construire quelque chose de similaire par moi-même.
J'ai ensuite trouvé : http://www.codeguru.com/cpp/cpp/algorithms/general/article.php/c12799/Product-Keys-Based-on-Elliptic-Curve-Cryptography.htm
Cependant, je ne vois aucun avantage à cela : Ils choisissent des paramètres de domaine qui doivent être connus par l'application et le créateur. La clé publique est utilisée pour crypter (générer la série) tandis que la clé privée est dans l'application et utilisée pour décrypter. Cependant, en connaissant les paramètres du domaine et la clé privée, il est facile de dériver la clé publique pour ECIES, non ?
L'idée suivante serait de coder les informations de manière arbitraire et d'y ajouter une signature basée sur ECDSA. Mais cela donne lieu à un grand nombre de numéros de série.
Ce que je recherche vraiment, c'est une solution semblable à celle qui suit http://ellipter.com où ils utilisent le bon concept : La clé privée pour générer la série et la clé publique pour les vérifier. Et les clés qu'ils montrent dans la capture d'écran sont très courtes : pour les clés de 128 bits seulement environ 30 caractères.
Quelle est la manière correcte de procéder ? Ai-je manqué le bon schéma pour cela ? Ça ne peut pas être ECDSA, ça ne peut pas être ECIES. Mais quoi d'autre ?