delphi encryption delphi-2010
http://ace.ulyssis.student.kuleuven.ac.be/~triade/GInt/bin/RSA.ziphttp://rcolonel.tripod.com/dwnload/rc_rnd.zipDownloadDelphi Encryption Compedium Part I v.5.2

Librería de cifrado gratuito para Delphi



encryption delphi-2010 (10)

Estoy buscando una biblioteca de cifrado gratuita y actualizada para Delphi 2010 que implemente RSA y AES (Rijndael).

Quiero una biblioteca gratuita porque planeo escribir y publicar algún código de muestra que la use.

Una versión Delphi 2010 de TurboPower LockBox se ha publicado en el sitio SongBeamer , que implementa ambos, pero me preocupa que se esté haciendo un poco viejo. Por ejemplo, tamaños de clave RSA pequeños y sin nuevas características de seguridad durante muchos años.

Actualización: ¿La percepción de que LockBox está desactualizado o carece de funciones importantes es incorrecta? ¿Sigue siendo relevante para el desarrollo de la producción? (Particularmente los tamaños de clave RSA)


Daniele Teti ha lanzado una colección de filtros DataSnap para Delphi 2010, que incluye hash, cifrado y compresión. Él menciona que también puede implementar cifras asimétricas en el futuro.

http://www.danieleteti.it/

Esto es de código abierto, así que siéntete libre de contribuir.


El algoritmo RSA no está necesariamente desactualizado, pero el tamaño de la clave es importante. Todavía se usa regularmente en todo el lugar. Se debe usar una longitud de clave RSA de 3072 bits si se requiere seguridad más allá de 2030. Esto es solo una función de las mejoras en la potencia de cálculo y no una debilidad en el algoritmo.

Estaba mirando el LockBox antes de que SongBeamer comenzara a mantenerlo (Delphi 2007). Encontré el RSA inestable, simplemente bloqueando o produciendo resultados incorrectos de vez en cuando. Puede haber sido arreglado desde entonces sin embargo. Si va a usarlo, asegúrese de que admita las longitudes de clave que necesita, y luego cree algunas pruebas automatizadas con entradas y salidas conocidas. Asegúrate de que funcione estable. Si lo hace, entonces úselo por todos los medios.

También puede usar Microsoft Crypto API para hacer su encriptación RSA. Escribí un contenedor para Delphi 2007 , pero no lo he actualizado para Unicode (lo sé, lástima de mí). Alguien más podría actualizarlo para que funcione con Unicode fácilmente.

Otra opción sería usar las funciones de criptografía de .NET Framework a través de la interoperabilidad COM o algo así.


Hola Bruce, uso esta biblioteca desde Delphi 5,

Delphi Encryption Compedium Part I v.5.2

  • Reescritura completa del anterior DEC 3, actualización del DEC 5.1 (lanzado en 2006)
  • Muchos cifrados (Blowfish, Twofish, 3DES, Rijndael ...)
  • Muchos Hash (MD2 / 4/5, SHA1-512, RipeMD128-320 ...)
  • Funciones Checksum (CRC32, CRC16 ...)
  • Funciones de conversión de texto (MIME Base 64, XX / UU Coding ...)
  • Funciones seguras de números aleatorios
  • con encriptación de Cifrados en Modos (CTS / CBC / CFB / OFB / ECB ...)
  • Completo y fácil orientado a objetos
  • Núcleo altamente optimizado y rápido
  • Admite ANSI y Unicode en D2009 (y debajo mediante WideStrings) ...

Es Freeeware y con el código de Sorce, desafortunadamente no implementa RSA.


No lo probé en D2010, pero DCPCrypt supuestamente funciona en D2009.


Para el código de ejemplo, LockBox puede estar bien, pero ya no lo usaría en producción. La encriptación es "larga en el diente". Los algoritmos se vuelven viejos. Fallas previamente desconocidas, técnicas mejoradas de criptoanálisis, avances matemáticos, aumento de la potencia del procesador hacen que los algoritmos y tamaños de clave que alguna vez fueron seguros ya no sean lo suficientemente seguros. 3DES, MD5, SHA-1 ya no se consideran suficientes. Los ataques contra AES se han publicado recientemente ( http://eprint.iacr.org/2009/374 ). El tamaño mínimo recomendado para la clave RSA ahora es de 1024 bits, mientras que las claves 2048 y 3072 se recomiendan si los datos necesitan protección durante años. Lockbox ofrece solo claves de 1024 bits o menos . El modo de cifrado de bloque derecho también debe seleccionarse. Y la clase LockBox TLbRijndael (AES) utiliza por defecto ECB, que tiene defectos conocidos, y no ofrece nada más que CBC. Debido a la importancia de la seguridad electrónica obtenida en estos años, y las investigaciones consiguientes tanto de los buenos como de los malos, una biblioteca de siete años es realmente antigua, solo recompilarla y agregar soporte para cadenas UTF-16 no es suficiente. Tenga en cuenta que la seguridad falsa es peor que no tener seguridad en absoluto. Si se le dice al administrador del sistema "no tenemos ninguna seguridad en su lugar", él mismo trabajará para implementar la seguridad (digamos IPSec, VPNs o similares). Si le dicen "sí, ¡tenemos RSA y AES!" se sentirá bien, incluso si su implementación de AES y RSA está desactualizada y ya no es segura.


Parece que el SongBeamer :

TurboPower LockBox . Cifrado de datos . 4 de septiembre de 2009 . Download

Estado: Debería estar funcionando bien.
Esta biblioteca se ha ampliado para que sea compatible con el cifrado de Ansi y UnicodeStrings.
04/09/2009
* Paquetes Delphi 2010
* debe compilar sin consejos y advertencias


Parece que hay muchas implementaciones gratuitas de Delphi AES. Siéntase libre de agregar sus favoritos here .

No parece haber tantas implementaciones gratuitas de RSA, y muy pocas bibliotecas que ofrecen ambas.

Parece que LockBox sigue siendo una opción bastante razonable. Especialmente porque no necesito el cifrado que demorará literalmente años en descifrar.

Creo que usar Crypto API de Microsoft directamente podría ser la opción más práctica.


TurboPower LockBox 3.1.0 ya está disponible. Es compatible con:

  • Delphi 2007 y Delphi 2010
  • Unicodestrings para Delphi 2010
  • Cifrados AES, DES, 3DES, Blowfish y Twofish
  • Una larga lista de modos de bloqueo de bloques
  • Hashes MD5 y SHA1
  • Cifrado, descifrado, firma y verificación RSA
  • Teclas RSA de longitud variable: casi sin restricciones en el rango.
  • Código de prueba de unidad D
  • Salazón automática
  • Manejo adecuado de los IV (a diferencia de DCPcrypt)
  • Caja blanca, fuente libre y abierta
  • Código fuente nativo 100% visible (sin DLL)

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


Fundamentos La biblioteca Cody tiene implementaciones para el cifrado AES y RSA. No he utilizado la biblioteca sin embargo, así que no puedo comentar sobre su calidad.


  • Como lo menciona Argalatyr, DCPCrypt funciona con Delphi 2009 pero no lo hace con RSA;

  • ChillKat admite RSA y AES para Delphi, pero no es gratuito;

  • Sergey Kirichenko realizó una implementación de Rijndael gratuita que puede descargar aquí: http://rcolonel.tripod.com/dwnload/rc_rnd.zip . Los archivos tienen fecha de noviembre de 2000, por lo que no sé si funcionarán directamente en Delphi más reciente.

  • Solía ​​haber un archivo zip con el código Delphi para descargar aquí: http://ace.ulyssis.student.kuleuven.ac.be/~triade/GInt/bin/RSA.zip , pero el desarrollador probablemente terminó su estudio y la universidad eliminado su página de inicio. En esta página web china pude ver el contenido del archivo (busque RSA.pas en la página y haga clic en el enlace).

No sé exactamente qué quiere decir con "long in the tooth" (¿viejo?), Pero me gustaría ir a Lockbox, porque proporciona todo lo que necesita. A excepción de la actualización de 2009, los últimos cambios oficiales se realizaron en 2003. Pero bueno, si funciona, funciona.