signature – ¿Se considera seguro firmar un hash en lugar de los datos completos?

Pregunta:

Hago referencia al objeto en parte de mi código en hashes. La firma en sí misma es otro objeto separado del que estoy firmando (por razones obvias). Considero más simple simplemente firmar la referencia a mi objeto (su hash), pero me pregunto si se considera seguro.

Aquí hay una explicación más completa:

A: ¿El objeto de datos se va a codificar y luego se firma?
H: Es hash(a), la referencia a A
S: es el objeto de firma que contiene H y signo (H)

S y A se envían a la red para que A pueda verificarse con su firma

Respuesta:

La mayoría de los esquemas de firma en realidad incorporan una función unidireccional (hash) en el algoritmo. En parte, esto es necesario para poder firmar un mensaje arbitrariamente grande, en parte, esto es necesario para evitar algunos tipos de ataques de falsificación en el esquema de firma (a menudo es fácil encontrar una "firma" que sea válida, pero debido a la función unidireccional, no es fácil encontrar un mensaje apropiado).

Y siempre que su función hash sea resistente a colisiones, un hash adicional no es un problema. (Esto significa: no use MD5 aquí. Pero con SHA-2 debería estar seguro).

Como idea general, todos los algoritmos utilizados deben tener un nivel de seguridad de al menos el nivel que desea lograr: para funciones hash (no rotas), esto generalmente significa una salida de $ 2n $ bits para una seguridad de $ n $ bits, de manera similar la curva elíptica grande (para la firma EC) y el registro discreto modular o las claves de firma RSA deben ser correspondientemente aún más grandes (ver keylength.com para una comparación).

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım