Gardez les choses simples pour commencer. Si vous avez besoin d'une plus grande complexité ou d'une sécurité plus stricte, faites-le après avoir développé votre infrastructure de base.
Première étape. Regardez quelques algorithmes de cryptage simples comme l'algorithme Tiny Encryption. Soyez à l'aise avec le cryptage et le décryptage d'un fichier en utilisant une seule clé.
http://en.wikipedia.org/wiki/Tiny_Encryption_Algorithm
étape suivante. Vous aurez besoin de beaucoup de clés, d'une base de données pour les stocker et d'une sorte d'identifiant client à associer avec eux. Pour commencer, supposons que l'identifiant du client est un nombre à 6 chiffres commençant à 100000, la clé est 128 bits au format hexadécimal, et la base de données est un simple fichier texte. À ce stade, vous ne devriez avoir aucun problème à faire un programme pour générer un lot de clés pour les 100 prochains clients.
Troisième étape. Maintenant vous avez une base de données, donc configurez des scripts ou une application pour pouvoir chiffrer un fichier spécifique, en produisant plusieurs copies, une pour chaque ID client, cryptée avec leur clé.
Quatrième étape, écrivez une application courte et simple qui prend un fichier, le décrypte avec une clé, puis charge et exécute le fichier exécutable résultant. Une fois l'application terminée, supprimez le fichier déchiffré.
Maintenant, la petite application qui décrypte et fonctionne doit en quelque sorte être produite dans de nombreuses versions, une pour chaque client avec leur clé en place. Le meilleur moyen de le faire est de générer un nombre aléatoire de la même taille que la clé, et de le placer comme une constante dans le code. Puis compilez-le. À ce stade, un outil comme grep peut trouver où il se trouve dans l'exécutable. Ecrire une autre petite application à lire dans l'application décrypteur remplacer la balise par une clé réelle, et écrire une version du décrypteur que vous allez distribuer avec l'application déchiffrée correspondant. Après cela, vous pourriez vouloir examiner de meilleurs algorithmes de déchiffrement que TEA, mais n'utilisez pas quelque chose de trop fort qui irait à l'encontre des lois d'exportation. Notez que rien de tout cela n'empêchera les voleurs déterminés, mais il devrait éviter les voleurs occasionnels et vous apprendrez beaucoup. Une meilleure sécurité peut être obtenue avec une application qui stocke des parties critiques de lui-même sur une clé USB cryptée afin qu'il n'y ait jamais de copie décryptée sur le disque dur. Et rappelez-vous, chaque fois que vous pensez que vous avez trouvé un moyen d'améliorer le cryptage ou la protection du code, vous avez très probablement tort.Des esprits beaucoup plus grands que les nôtres ont passé toute leur vie à étudier le cryptage et la règle générale est que lorsque vous déviez un peu des algorithmes et des usages acceptés, vous finissez par réduire, et non augmenter, la sécurité.
Y en a-t-il qui sont gratuits et ne sont pas des démos? J'aime comment Intellilock fonctionne mais je n'aime pas comment c'est une démo et coûte 129 dollars .. Ils ont quelque chose de similaire à celui appelé Aquatic Prime pour le mac c'est gratuit. – lab12