Paso 6: Desarrollo continúa (el algoritmo de planificación)
Estoy muy contento con los resultados hasta ahora. Siempre he estado interesado en un método de cifrado que produciría para imprimir texto de cifrado en lugar de binario basura. Este método parece que sería de una utilidad de cifrado de correo electrónico fino.
XOR es un muy buen comienzo pero si realmente quiero un algoritmo fuerte necesito crear una función hash criptográfica y necesito hacer todos juntos en alguna forma de un cifrado de flujo o de bloque. Hay un montón de recursos hacia fuera allí, así que voy a pedir prestado algunas ideas aquí. No porque soy perezoso y no pensar en nada yo. Es más que no estoy calificado como un criptógrafo.
Me gustaría utilizar métodos que son aceptados como segura o por lo menos incorporar metodología similar y esperan que no sea de una mala elección (es decir, evitar métodos ya probados inseguros). Un buen algoritmo debe estar abierto para que todos puedan ver y todavía de pie atacar. Hay una comunidad de "testers" que hay que encontrar vulnerabilidades en cualquier algoritmo disponible para el público.
Desde mi visión es texto a texto texto voy a pegar con 7 bits ASCII imprimible como mi alfabeto. Estoy decidiendo que un bloque es 80 caracteres (en una línea) con un número arbitrario de filas. Por lo tanto se basar todo en este bloque de 80 caracteres incluyendo la función de hash. Para cualquier más puristas en la audiencia equivale a entre 546 y 547 bits binarios.
Por lo tanto una función hash ¿qué hace exactamente? Procesa una cantidad arbitraria de datos y produce una salida de longitud fija llamada un hash. Para que un hash seguro hay unos requisitos.
1) minúsculo cambio en la entrada debe reflejar un cambio masivo hacia fuera
2) la salida es impredecible en comparación a la entrada (es decir, irreversible)
3) salida debe ser al azar en la naturaleza (es decir, ruido)
4) la misma entrada siempre debe producir la misma salida
.