Algoritmo de Cifrado PSA, Módulo #02 / The Chinese Dream

Fecha de publicación: Jul 31, 2013 12:47:21 PM

Tercera y última versión del Algoritmo de Cifrado PSA. En este desarrollo pretendía obtener el máximo valor en las pruebas de entropía y unificar el desarrollo del cifrado para que sea compatible en todos mis entornos. Llevo muchos años queriendo desarrollar las novedades tecnológicas incluídas en este cifrado, cuyas ideas surgieron en parte por mi asistencia a varias conferencias de Seguridad Informática en la Universidad Politécnica de Madrid. Por mis circunstancias personales he tardado varios años en terminarlo, pero en tiempo neto es un proyecto que habría podido terminar en unos tres meses. Incluír estas novedades ha influído negativamente en la velocidad de cifrado. En este aspecto, doy por hecho que las versiones en Delphi y Free-Basic tendrán una velocidad aceptable. Desde el punto de vista de la seguridad, si un cifrado es lento opondrá más resistencia a ataques por fuerza bruta, pero también hay que evitar que se convierta en un problema si tenemos que proteger mucha cantidad de información. A pesar de conservar la misma estructura que mis cifrados anteriores puedo decir que esta versión ha sido rediseñada desde cero. Cada una de las partes, Inicio, Generador de Claves y Cifrador, ha sido modificada para obtener el mejor valor de entropía posible manteniendo la suficiente variedad en los elementos aleatorios de seguridad. Os presento a la Joya de la Corona, el Cifrador más seguro.

Fecha: 29 de Junio de 2013

Tipo de Cifrado: Simétrico, Asimétrico y Polimórfico

Compilador: Harbour 3.0

Compatibilidad numérica: 2 ^ 53 y 2 ^ 31 (se puede ampliar)

Valores de la Matriz Interna: Aleatorios

Tipo de cálculos en Matriz: Aleatorios

Tipo de cálculos en Cifrador: Aleatorios

Constantes Internas: 2 x Valores fijos; 7 x Valores Aleatorios

Máxima longitud de cifrado: 2 GiBytes (depende de la memoria RAM).

Longitud bloque de cifrado: Longitud de la clave

Funciones de Hash: Información cifrada

Parámetros de entrada de la Función de Cifrado:

Cadena: Hasta 2 GiBytes.

Clave: Hasta 2 GiBytes.

Compatibilidad: 2 ^ 53 ó 2 ^ 31.

Parámetros de entrada desde la Función de Inicio:

Cadena: Hasta 2 GiBytes.

Clave: Hasta 2 GiBytes.

Modo: Selector para Tipos de Cifrado Simétrico/Asimétrico.

Compatibilidad: 2 ^ 53 ó 2 ^ 31.

Características de las Funciones de Hash:

- Pueden codificar la información de un archivo o una cadena de caracteres.

- El Hash contiene información de Fecha, Hora, Nombre de Archivo o Cadena de

Caracteres, y el CheckSum.

- La información del Hash está cifrada.

- El Hash puede almacenar el archivo indicado en su interior.

- El CheckSum del Hash no revela la información de la Longitud del Archivo

o la Cadena de Caracteres.

- Puede crearse un Hash Público o un Hash Privado protegido por contraseña.

- La información del Hash incluye el soporte para Client Security Keys.

Pruebas de Entropía:

ASCII-000 / 2 ^ 53: PSA-02_Entropy_Test_Ascii-000_Exp-53.Txt

ASCII-255 / 2 ^ 53: PSA-02_Entropy_Test_Ascii-255_Exp-53.Txt

ASCII-000 / 2 ^ 31: PSA-02_Entropy_Test_Ascii-000_Exp-31.Txt

ASCII-255 / 2 ^ 31: PSA-02_Entropy_Test_Ascii-255_Exp-31.Txt

En estas pruebas de entropía se incluye, al final del archivo, un ejemplo práctico con los valores internos del Generador de Claves y del Cifrador. Se puede observar la estabilidad en los resultados de esta prueba, quedando solucionados los problemas de las operaciones con módulos.

Versiones disponibles:

Harbour: Disponible.

Clipper: Disponible.

Free-Basic: En desarrollo.

Delphi 2.0: No disponible.

Delphi 4.01: No disponible.

Cuando termine la versión en Free-Basic haré las Pruebas de Velocidad y el Test de Colisiones.

Las licencias de este software están reguladas por los siguientes Términos y Condiciones.