¿Existe una función criptográfica que genere un patrón visual reconizable?

0

Tengo que crear un sistema que finalmente imprima un pase que permita el acceso a un edificio. La validación de este ticket se realizará de forma manual (también puede ser automática, pero no es probable en esta etapa). Existe la posibilidad de que la persona que realiza la verificación no tenga acceso a una computadora para validarla.

La idea es imprimir un patrón reconocible para el día.

Comencé a pensar en un hash, pero eso no funcionaría. Así que pensé en una criptografía simétrica donde la clave generaría diferentes patrones. Pero eso tampoco tiene mucho sentido.

La única solicitud es que la persona que verifica el patrón pueda reconocerlo. Este patrón cambiaría de forma diaria o semanal.

Sé que estos serían objeto de ataques de repetición, pero por ahora esto sería suficiente.

    
pregunta nsn 01.06.2015 - 10:11
fuente

2 respuestas

4

Voy a ignorar el horrible problema de la usabilidad en esta respuesta y me centraré en la pregunta del título aquí.

-

Una idea es generar una huella digital visual como huella digital de OpenSSH . Las huellas digitales de OpenSSH Visual producen manchas de caracteres ASCII que supuestamente son algo memorables y se pueden comparar visualmente rápidamente.

Si quieres ser un poco sofisticado, tienes el Aestheticode . Los esteticodos como Penguin Barcode se pueden escanear, son distintivos y agradables estéticamente, y es bastante fácil de comparar visualmente sin una máquina. El problema es que los esteticodos son cortos y la mayoría de los esteticodos se generan manualmente; Deberá poder generar estas imágenes de manera procesal si va a hacer esto todos los días.

    
respondido por el Lie Ryan 01.06.2015 - 16:10
fuente
2

Hay una respuesta trivial: decida una contraseña diaria, imprímala en un pase y tiene exactamente el sistema que está describiendo: un "patrón" que se imprime en un medio físico, que puede ser verificado por un humano estar sin ningún dispositivo o hardware adicional.

Si estás dispuesto a rfelax un poco, hay una técnica llamada " criptografía visual " que hace algo un poco similar, pero eso también requiere que la persona que realiza la validación tenga acceso a una pieza específica de hardware (en este caso, una máscara transparente que puede imprimirse cuando sea necesario).

El artículo de Wikipedia vinculado tiene un ejemplo bueno y simple de dicho algoritmo:

  

Hay un algoritmo simple para visual binario (blanco y negro)   Criptografía que crea 2 imágenes encriptadas de un original.   Imagen sin cifrar. El algoritmo es el siguiente: Primero crea una imagen   de píxeles aleatorios del mismo tamaño y forma que la imagen original. Siguiente,   cree una segunda imagen del mismo tamaño y forma que la primera, pero donde   un píxel de la imagen original es el mismo que el píxel correspondiente   en la primera imagen encriptada, establece el mismo píxel de la segunda   Imagen encriptada al color opuesto. Donde un pixel del original.   La imagen es diferente al píxel correspondiente en el primer cifrado.   imagen, establece el mismo píxel de la segunda imagen cifrada en el mismo   color como el píxel correspondiente de la primera imagen encriptada. Los dos   Imágenes aparentemente aleatorias ahora se pueden combinar usando un exclusivo o   (XOR) para volver a crear la imagen original.

Sin embargo, esta técnica simple tiene varias desventajas: primero, cualquier persona que tenga acceso a un pase de acceso válido puede reproducirlo muy fácilmente, incluso sin entender el código. en segundo lugar, debe desplegar la máscara de validación a todos los usuarios cada vez que genere una nueva contraseña de acceso. En tercer lugar, todos los accesos son equivalentes.

Hay más algoritmos de avance que son más flexibles (por ejemplo, que usarán una sola máscara para generar una salida diferente dependiendo de la entrada que, a su vez, podría usarse para discriminar entre diferentes derechos de acceso o simplemente para hacer que cada acceso pase) único).

    
respondido por el Stephane 01.06.2015 - 10:36
fuente

Lea otras preguntas en las etiquetas