Nota: soy nuevo en las prácticas de seguridad de la información, así que siéntete libre de señalar cualquier cosa que pueda estar haciendo mejor.
Situación: Actualmente estoy creando un sistema de encriptación para la mensajería instantánea y quiero saber si lo que estoy haciendo es bueno.
Estoy creando una variante de subsitución polialfabética:
- tome un enlace y luego obtenga todo el texto en la página web
- cree un dict
char -> list of positions
a partir del texto de la página web - use el dict para asignar cada carácter del mensaje a una posición seleccionada (al azar) en la lista
- codifica la posición en exadecimal
- opcionalmente comprime el resultado si es un archivo cifrado
Me devuelve cosas así: 5118 35b0 60ec 3e19 6aa6 6bfb 32db 6cd7 4a2d
para una cadena de 9 caracteres.
Hay un código completo del módulo Python y una pequeña herramienta para probar todo el módulo: enlace
Preguntas:
- ¿Es seguro y posible crear una página web para generar una clave pública?
- Alice quiere hablar con Bob, por ejemplo, para que Alice genere un hash con una contraseña y algunos caracteres aleatorios almacenados en su computadora (o en cualquier otro lugar)
- Luego, Bob obtiene el hash y genera el suyo por el mismo método
- Bob puso ambos hashes en la página web y luego le dio la clave
private
- Luego, la página web devuelve un enlace que redirige a la clave
private
si las informaciones proporcionadas por los parámetros de PHP generan uno de los dos hashes.
- ¿Hay alguna forma de evitar los ataques de olfateo?
Gracias por tu ayuda.