En esta ocasión les presento un proyecto de Markus Humm alojado en github llamado
Delphi Encryptium Compendium (
DEC)
Consiste en una biblioteca de
algoritmos criptográficos desarrollada para Delphi y que funciona desde Delphi 2009 hasta Delphi 10.4.1., en caso de que se necesite usar en versiones anteriores el desarrollador recomienda usar la versión 5.2 de
DEC
Respecto a la fase de testing de esta biblioteca, Markus dice lo siguiente:
DEC 5.2 vino con un programa de prueba "arcano" que probaba los algoritmos implementados usando datos de prueba proporcionados a través de algún archivo de texto. Para muchos algoritmos, estos datos de prueba provienen de la documentación oficial de los propios algoritmos. DEC 5.2 pasa estas pruebas.
DEC 6.0 reelaboró estas pruebas en pruebas DUnit y DUnitX. También agregamos algunas pruebas más y con esto reemplazamos el programa de prueba "arcano" que usaba código difícil de entender. Algunas de las pruebas unitarias implementadas aún pueden fallar, pero esto se debe simplemente a que son sceletons vacíos en este momento esperando a ser completados. Primero tenemos que averiguar cómo implementar estas pruebas y tal vez buscar datos de prueba. ¿Por qué no ayuda investigando datos de prueba útiles para esas pocas pruebas? Estamos hablando de pruebas de modo de encadenamiento de bloques para los cifrados específicamente.
Los algoritmos que contiene
DEC son los siguientes:
Algoritmos de cálculo de Hash
MD2
MD4
MD5
RipeMD128
RipeMD160
RipeMD256
RipeMD320
SHA0
SHA1
SHA224
SHA256
SHA384
SHA512
Haval128
Haval160
Haval192
Haval224
Haval256
Tiger
Panama
Whirlpool0
Whirlpool1
WhirlpoolT
Square
Snefru128
Snefru256
Sapphire
Algoritmos de cifrado
Null
Blowfish
Twofish
IDEA
Cast256
Mars
RC4
RC6
AES
Square
SCOP
Sapphire
1DES
2DES
3DES
2DDES
3DDES
3TDES
3Way
Cast128
Gost
Magma
Misty
NewDES
Q128
RC2
RC5
SAFER
Shark
Skipjack
TEA
XTEA
TEAN
Modos de concatenación de bloques
(Los modos que acaban en x han sido inventados por el desarrollador de
DEC)
ECBx
CBCx
CTSx
CTS3
CFB8
CFBx
OFB8
OFBx
CFS8
CFSx
Algoritmo de desviación de clave
KDF1
KDF2
KDF3
MGF1
PBKDF2
Algoritmos de autenticación de mensajes
HMAC
Tipos de formateado
Copy
HEX
HEXL
Base16
Base16L
DECMIME32
Base64
MIME64
Radix64
PGP
UU
XX
ESCAPE
Tipos de CRCs
8
10
12
16
16CCITT
16XModem
24
32
32CCITT
32ZModem
8ATMHEC
8SMBus
15CAN
16ZMODEM
DEC se puede descargar e instalar desde Getit
En mi caso tengo
Rad Studio - Delphi 10.4.1
Menú Tools - Getit Packgage Manager
Pulsamos el botón INSTALL y Aceptamos los términos de uso
A continuación comenzará a instalar las librerías, esperamos un poco y ya lo tenemos instalado en nuestro Delphi
Desde su repositorio de Github tenemos una carpeta Demo con varios programas para cmd y para Firemonkey, en mi caso para probarlo he ejecutado uno que se llama
Cipher_FMX
Como función de cifrado he seleccionado
AES, como formato de input hay que seleccionar
Copy, luego nos pedirá la clave de encriptación que es el texto que queramos, después teclearemos el vector de inicio en formato hexadecimal (
ACAE), el byte de relleno (
AC) y por último seleccionamos el modo de cifrado
cmCFS8.
Para que el texto se encripte a medida que se va tecleando marco el check "Live calculation", y ahora sólo nos queda teclear un texto en la caja "Plain text" y ver el mismo encriptado en la caja "Cipher text"
Si quieren copiar el resultado del cifrado de texto en sus programas y evitar problemas con la codificación de caracteres, les recomiendo que usen como formato de salida "base64"
Suscribirse :
Weiterlesen...