Question

Je cherche une bibliothèque de chiffrement gratuite et à jour pour Delphi 2010 qui implémente RSA et AES (Rijndael).

Je souhaite une bibliothèque gratuite car je prévois d'écrire et de publier un exemple de code qui l'utilisera.

Une version Delphi 2010 de TurboPower LockBox a été publiée sur le site SongBeamer , qui implémente les deux ceux-ci, mais je crains que cela ne vieillisse un peu. Par exemple, de petites tailles de clé RSA et aucune nouvelle fonctionnalité de sécurité pendant de nombreuses années.

Mise à jour: Est-ce que la perception que LockBox est obsolète ou manque de fonctionnalités importantes est incorrecte? Est-il toujours pertinent pour le développement de la production? (En particulier les tailles de clé RSA)

Était-ce utile?

La solution

L'algorithme RSA n'est pas nécessairement obsolète, mais la taille de la clé est importante. Il est encore utilisé régulièrement partout. Une longueur de clé RSA de 3072 bits doit être utilisée si la sécurité est requise au-delà. 2030. Ceci est juste une fonction des améliorations de la puissance de calcul et non une faiblesse de l'algorithme.

Je regardais le LockBox avant que SongBeamer ne commence à le maintenir (Delphi 2007), j'ai trouvé RSA unstable - plantage ou produit de mauvais résultats de temps en temps. Cela a peut-être été corrigé depuis. Si vous comptez l'utiliser, assurez-vous qu'il prend en charge les longueurs de clé dont vous avez besoin, puis créez des tests automatisés avec des entrées et des sorties connues. Assurez-vous qu'il fonctionne stable. Si c'est le cas, utilisez-le à tout prix.

Vous pouvez également utiliser l'API Microsoft Crypto pour effectuer le cryptage RSA. J'ai écrit un wrapper pour Delphi 2007 , mais je ne l'ai pas mis à jour pour Unicode (je sais , honte sur moi). Quelqu'un d'autre pourrait peut-être le mettre à jour pour qu'il fonctionne facilement avec Unicode.

Une autre option consisterait à utiliser les fonctions de cryptographie .NET Framework via l’interopérabilité COM ou quelque chose de ce genre.

Autres conseils

TurboPower LockBox 3.1.0 est maintenant disponible. Il supporte:

  • Delphi 2007 et Delphi 2010
  • Unicodestrings for Delphi 2010
  • Chiffres AES, DES, 3DES, Blowfish et Twofish
  • Une longue liste de modes d'enchaînement de blocs
  • hachages MD5 et SHA1
  • Cryptage, décryptage, signature et vérification RSA
  • Clés RSA de longueur variable - Presque pas de contraintes sur la plage.
  • Code de test D-Unit
  • Salage automatique
  • Gestion appropriée des IV (par opposition à DCPcrypt)
  • Boîte blanche, source libre et open source
  • Code source natif visible à 100% (pas de DLL)

http://sourceforge.net/projects/tplockbox/ et http://lockbox.seanbdurkin.id.au/

Bonjour Bruce, j'utilise cette bibliothèque depuis Delphi 5,

Compilation Delphi Encryption Partie I v.5.2

  • Réécriture complète de l'ancien DEC 3, mise à jour du DEC 5.1 (sortie en 2006)
  • De nombreux chiffreurs (Blowfish, Twofish, 3DES, Rijndael ...)
  • De nombreux hachages (MD2 / 4/5, SHA1-512, RipeMD128-320 ...)
  • Fonctions de somme de contrôle (CRC32, CRC16 ...)
  • Fonctions de conversion de texte (codage MIME Base 64, XX / UU ...)
  • Fonctions de nombre aléatoire sécurisées
  • avec chiffrement par cryptage dans les modes (CTS / CBC / CFB / OFB / BCE ...)
  • Orienté objet complet et facile
  • Cœur rapide hautement optimisé
  • Prend en charge les normes ANSI et Unicode dans D2009 (et inférieur à l'aide de WideStrings) ...

FreeWare et With Sorce Code, ne met malheureusement pas en oeuvre RSA.

On dirait que le travail D2010 est terminé :

TurboPower LockBox . Cryptage des données . 04 septembre 2009 . Télécharger

Statut: devrait bien fonctionner.
Cette bibliothèque a été étendue pour prendre en charge le chiffrement de Ansi et UnicodeStrings.
09/04/2009
    * Packages Delphi 2010
    * devrait compiler sans astuces et avertissements

  • Comme mentionné par Argalatyr, DCPCrypt fonctionne avec Delphi 2009, mais ne le fait pas. 'fais pas de RSA;

  • ChillKat prend en charge RSA et AES pour Delphi, mais c'est pas libre;

  • Sergey Kirichenko a réalisé une implémentation gratuite de Rijndael que vous pouvez télécharger ici: http: // rcolonel.tripod.com/dwnload/rc_rnd.zip . Les fichiers sont datés de novembre 2000, donc je ne sais pas si cela fonctionnera directement dans les nouveaux Delphi.

  • Il y avait un fichier zip avec le code Delphi à télécharger ici: http://ace.ulyssis.student.kuleuven.ac.be/~triade/GInt/bin/RSA.zip , mais le développeur a probablement terminé son étude et l'université a retiré le sien page d'accueil. Sur cette page Web chinoise , je pouvais voir le contenu du fichier (recherche RSA.pas sur la page et cliquez sur le lien).

Je ne sais pas exactement ce que vous entendez par "long dans la dent". (vieux?), mais je me contenterais de Lockbox, car il fournit tout ce dont vous avez besoin. À l'exception de la mise à jour de 2009, les dernières modifications officielles ont été apportées en 2003. Mais bon, si ça marche, ça marche.

Pour un exemple de code, LockBox peut être correct, mais je ne l’utiliserai plus en production. Le chiffrement va "longtemps dans la dent". Les algorithmes deviennent vieux. Des failles jusque-là inconnues, des techniques de cryptoanalyse améliorées, des avancées en mathématiques, une puissance de processeur accrue rendent les algorithmes autrefois sécurisés et les tailles de clé insuffisamment sécurisées. 3DES, MD5, SHA-1 sont déjà considérés comme insuffisants. Des attaques contre AES ont récemment été publiées ( http://eprint.iacr.org/2009/374). La taille minimale recommandée de la clé RSA est maintenant de 1024 bits, tandis que les clés 2048 et 3072 sont recommandées si les données doivent être protégées pendant des années. Lockbox propose uniquement des clés de 1024 bits ou moins . Le bon mode de chiffrement de bloc doit également être sélectionné. Et la classe LockBox TLbRijndael (AES) utilise par défaut ECB qui présente des défauts connus et n'offre rien de plus que CBC. En raison de l’importance que la sécurité électronique a acquise au cours de ces années et des recherches qui en ont résulté, qu’il s’agisse de bons ou de méchants, une bibliothèque de sept ans est vraiment vieille; il suffit de la recompiler et de prendre en charge les chaînes UTF-16. Sachez qu'une fausse sécurité est pire qu'une absence de sécurité. Si un administrateur système se voit indiquer que "nous n’avons aucune sécurité en place", il travaillera lui-même à la sécurité (par exemple, IPSec, VPN, etc.). S'il dit "Oui, nous avons RSA et AES!" il se sentira bien, même si votre implémentation d'AES et de RSA est obsolète et n'est plus sécurisée.

Je ne l'ai pas essayé depuis D2010, mais DCPcrypt est censé fonctionner avec D2009.

La

La bibliothèque Cody de Fundamentals peut être mise en œuvre à la fois pour AES et le cryptage RSA. Je n'ai pas utilisé la bibliothèque, alors je ne peux pas en dire plus sur sa qualité

Il semble qu’il existe de nombreuses implémentations libres de Delphi AES. N'hésitez pas à ajouter vos favoris ici .

Il semble qu'il n'y ait pas autant d'implémentations RSA libres et très peu de bibliothèques offrant les deux.

Il semble que LockBox soit toujours une option très raisonnable. Surtout que je n'ai pas besoin d'un cryptage qui va prendre des années à craquer.

Je pense que l'utilisation de l'API Crypto de Microsoft directement pourrait être l'option la plus pratique.

Daniele Teti a publié une collection de filtres DataSnap pour Delphi 2010, comprenant le hachage, le chiffrement et la compression. Il mentionne qu'il pourrait également implémenter des chiffrements asymétriques à l'avenir.

http://www.danieleteti.it/

Ceci est open source, alors n'hésitez pas à contribuer.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top