Se trata de una breve introduccion a la criptografia, por supuesto en este caso va a ser mas practica que teorica.
He visto en algunos post que solo explican formulas y funciones que al final y acaba saliendo del post en blanco.
Les traigo un sistema hecho por mi (si... hecho), no pretendo que hagan copy-paste pero es mas facil de entender asi, abajo explico como funciona.
Tiene 3 formas de cifrado, (XOR, Permutacion de 16 bits y Sumas aleatorias)
Crea las variables DX1 y DX2 de 16 bits de largo cada una
DX1 es la suma de todos los caracteres de la contraseña
DX2 es del Hash (SHA224) de la contraseña
Se toma un bloque de 8 Bytes para proceder a cifrar
Se genera un numero aleatorio del 0 al 255 y se guarda en la variable RIN
Se extrae un caracter del bloque a cifrar y se guarda en la variable DMI
DMI se mueve 8 bits a la izquierda y se suma la variable RIN, esto se guarda en la variable BPO
Se aplica una operacion exclusiva or entre BPO y DX1
Se busca la posicion de BPO dentro de la tabla Sun de permutaciones a nivel de bits y se guarda en la variable POS
A la variable POS se le suman (PAS[_CIF_GPK] + DX2), es decir un caracter de la contraseña mas la variable DX2
Se guarda la permutacion de 16 bits en la variable PER
PER se mueve 8 posiciones a la derecha y se aplica una operacion XOR de un caracter de la contraseña
Se aplica una operacion AND de 8 bits y se aplica una operacion XOR de un caracter de la contraseña, una iteracion mas que la anterior
Se convierte a hexadecimal y se retorna
Espero les sea de utilidad, despues hare mas post acerca de la criptografia, de hecho es el area que mas me gusta de la programacion.
Saludos
Comentar no cuesta nada.