Bonjour, Je vous propose un nouvel élément à utiliser : [Security] surcouche C++ aux moteurs RSA en blowfish de OpenSSL
Voici une petite librairie qui effectue l'encryption / décryption de données en utilisant les algorithmes RSA (asymétrique ; avec clef publique et clef privée) et blowfish (symétrique). Cette petite librairie se base sur une version récente de OpenSSL. Elle devrait pouvoir être compilée pour linux, Windows ou Mac OS (testée uniquement sous linux pour l'instant).
Je vous livre le tout sans Makefile - à vous de voir pour les détails.
Généralement, lorsqu'on souhaite crypter des communications réseau, on instaure un protocole qui ressemble à
client : je t'envoie ma clef publique RSA
serveur : ok ; je génère une clef blowsfish et je la crypte en utilisant ta clef publique, et je te renvoie le résultat
client : je décrypte le message ; j'ai la clef blowfish. A partir de maintenant, je crypte tout avec cette clef.
blowfish est un des algorithmes de cipher (encryption / décryption) les plus rapides, mais il est symétrique (la même clef sert aux deux opérations). Du coup, si on souhaite l'utiliser pour les communications, il faut trouver un moyen sécurisé d'envoyer la clef aux deux parties. D'où l'idée d'utiliser RSA pour le transport de la clef : l'algorithme est adapté à l'encryption de blocs de petite taille (par exemple, la taille d'une clef) mais il est lent. De plus, gérer des blocs de grande taille avec RSA est une fort mauvaise idée (il n'est pas fait pour ça).
La licence d'utilisation est une licence libre (voir l'entête de chaque fichier). Le fichier security_test.cpp donne un exemple d'utilisation de (presque) toutes les fonctionnalités de la librairie.
Qu'en pensez-vous ?
Partager