Actualmente estoy haciendo mi primer cifrado. ¿Cuáles son algunas cualidades por las que debería esforzarme?
Algunos que he escuchado / pensado hasta ahora:
-
Cambiar un solo bit en la entrada debería tener un 50% de probabilidad promedio de cambiar cada bit de salida.
-
Las ubicaciones de los bits volteados no deben tener ningún patrón
-
Cada byte debe tener una probabilidad de 1/256 de no cambiar (básicamente, # 1 ^ 8)
-
El número de bytes encontrados en búsquedas similares debe ser muy pequeño (necesito anotar los cálculos, pero mi estimación es de alrededor del 5%)
¿Estoy en el camino correcto? ¿Qué me estoy perdiendo?
Esto es solo un proyecto personal para la diversión.