Kraken, encriptación de datos de forma segura con PHP
Después de los ataques de "rainbow tables" y de las supuestas descodificaciones de códigos supuestamente invulnerables que se están produciendo últimamente me ha dado por interesarme un poco mas en el mundo de la criptografía, y lógicamente como mis conocimientos no dan como para verificar un nuevo algoritmo de codificación base me ha dado por intentar crear uno que a partir de una base secreta como seria la palabra a codificar se genere un código que complique la descodificación hasta el punto de ser tan enrevesado y críptico que no merezca la pena.
La base de funcionamiento esta en que la mayoría de códigos de encriptación dan como datos de salida "textos" de salida muy parecidos que son difícilmente diferenciables. A partir de eso si la selección de la encriptación a realizar se hace a partir de la palabra a encriptar, la encriptación mejora impresionantemente.
Ademas esta función incrementa el nivel de fuerza de la reencriptación de manera proporcional al numero de caracteres a encriptar, seleccionando una encriptación diferente aplicada a todo el texto y seleccionada a partir de la misma palabra a encriptar. Los tipos de encriptación a aplicar estarán almacenados en una carpeta llamada seguridad que tendra en su interior 18 archivos numerados con los diferentes tipos de encriptación, los cuales se pueden modificar al gusto. Estos archivos tienen como norma utilizar como entrada de datos una variable $dato y lo mismo como salida. Ejemplo .
Código de función:
-
function kraken($palabra, $secreto = ''){
-
-
if($archivo[0] != '.'){ $code[] = 'seguridad/'.$archivo; }
-
}
-
foreach($code as $valor){ $_code[] = $valor; }
-
foreach($pases as $key => $value){
-
$resultado = $valor[0] + $valor[1] + $valor[2];
-
if($resultado != 0){
-
$_resultado = $_valor[0] + $_valor[1] + $_valor[2];
-
if( ($resultado + $_resultado)> ((18/2)+18) ){ $_resultado = $resultado; }
-
include($_code[$_resultado]);
-
}
-
}
-
}
Para utilizar la función necesitaremos solo una palabra a codificar y una semilla de seguridad que denominaremos $secreto. La variable $secreto asegura que, la misma función ejecutada en 2 servidores diferentes y con "palabras" a codificar idénticas pueden dar textos de salidas diferentes.
Ejemplo de uso de la función:
Comparte este artículo
Licencia de los contenidos
© Todos los derechos reservados