Enviado por admin el Jue, 16/08/2012 - 12:26.
He comenzado un proyecto nuevo en "Google code" donde he recopilado todas las funciones criptográficas que he publicado en esta página. Ademas he aprovechado para darle un pequeño lavado de cara a las funciones, y organizarlo mejor separando las funciones de cifrado y descifrado de las funciones destinadas a trabajar con streams.
La página del proyecto es esta:
http://code.google.com/p/secrypt/
Incluye estas mejoras:
- Aumento de la velocidad de AES256. Hasta 3 veces más rápido tanto el cifrado como el descifrado.
- Parte de la tablas ahora se crean de forma dinamica en vez de incluirlas como constantes en el código
- El algoritmo SHA256 ahora puede ejecutarse en sistemas con procesador ARM
La estructura del proyecto es la siguiente:
SeAES256.pas
- AESExpandKey
- Prepara la clave para ser utilizada
- AESEncrypt
- Cifra un bloque de 16 bytes
- AESDecrypt
- Descifra un bloque de 16 bytes
- AESXORState
- Realiza la operación XOR sobre dos bloques
- AESSwapKey
- Intercambia el orden de los bytes de la clave
- AESCopyKey
- Copia el contenido de una porción de memoria para ser utilizada como clave
SeBase64.pas
- BinToStr
- Convierte un conjunto de datos binarios en una cadena de texto (base64)
- StrToBin
- Convierte una cadena de texto (base64) en un conjunto de datos binarios
- Base64CleanStr
- Limpia una cadena de texto de todos los caracteres no pertenecen a base64
SeSha256.pas
- CalcSHA256
- Calcula el hash SHA256 de un conjunto de datos binarios, o de una cadena de texto
- SHA256ToStr
- Presenta el hash en formato hexadecimal para que pueda ser leído
SeStreams.pas
- TAESEnc
- Stream para cifrar datos usando AES256 con el metdodo CBC (Cipher-block chaining)
- TAESDec
- Stream para descifrar datos usando AES256 con el metdodo CBC (Cipher-block chaining)
- TBase64Enc
- Stream para codificar en base64 un conjunto de datos binarios
- TBase64Dec
- Stream para descodificar un conjunto de datos codificados en base64
- StrToStream
- Decodifica un conjunto de datos codificados en base64 y los guarda en un stream
Añadir nuevo comentario