Estoy buscando verificar la integridad de una carga útil muy pequeña, aproximadamente 64 bytes, que se almacenará en un código QR. Necesito verificar que la carga no haya sido generada o alterada por un atacante. Agregar un hash seguro al final de la carga útil consumirá una gran cantidad de mi espacio de carga útil. Esperaba cifrar toda la carga útil con una clave privada asimétrica y luego intentar descifrarla con la clave pública. Si el descifrado se realiza correctamente, se asume que la carga útil es válida y se pueden leer los datos.
Preguntas:
-
Dada una carga útil tan pequeña, ¿una clave asimétrica sería demasiado corta y, por lo tanto, se hackearía fácilmente a través de un ataque de fuerza bruta?
-
¿Una implementación segura de hash o relleno aleatorio, me dejaría con casi ninguna carga útil utilizable para los datos reales?
-
Si 64 bytes son demasiado pequeños, ¿cuál es el tamaño de carga útil más pequeño que puedo usar? (Quiero mantener el tamaño físico del código QR lo más pequeño posible)