consulta sobre SHA1 con RSA para la firma del certificado

2

Como todos ustedes saben, muchos de los Certificados X.509 usan (PKCS # 1 SHA1 con cifrado RSA) como el algoritmo de firma del certificado para generar la firma de 2048 bits. Sabemos que la función hash SHA1 genera un valor de hash de 160 bits, por lo que hace que el Valor de Firma del Certificado de 2048 Bits sea una combinación de (160 bits + 1888 bits = 2048 Bits). Mi pregunta es: ¿de dónde provienen los bits de 1888? ¿Son otro valor hash o son simplemente relleno?

¿Puede alguien contestar brevemente esta pregunta? Si también puede proporcionarme una fuente o un sitio web para leer más sobre esto, ya que he estado tratando de encontrar una respuesta a esta pero no he recibido un buen recurso para explicar este problema.

Muchas gracias de antemano :)

    
pregunta Mike 11.02.2014 - 23:58
fuente

5 respuestas

2

El campo largo de 2048 bits es un contenedor para los resultados de la función hash. Es suficiente para aceptar los resultados de una variedad de funciones de hash.

Si la función hash utilizada proporciona un resultado inferior a 2048, el valor de hash se rellena como han dicho otras respuestas.

También tenga en cuenta que ya no debe usar SHA-1. Si tiene clientes del Gobierno de los EE. UU., NO se les permite usarlos. Y nadie más debería usarlo tampoco.

En 2011, el Instituto Nacional de Estándares de los EE. vea la página 6) que dice:

  

Después del 31 de diciembre de 2013, las longitudes de claves que brinden menos de 112 bits de seguridad no se utilizarán para generar firmas digitales.

(El énfasis está en el original). Este reglamento se aplica al gobierno de los EE. UU., pero también es común que las organizaciones / empresas no gubernamentales lo sigan como un ejemplo de mejor práctica.

    
respondido por el Larry K 12.02.2014 - 10:54
fuente
0

Los bits adicionales de 1888 son en su mayoría bytes de vale 0xFF.

Sin embargo ...

Sería bastante inútil simplemente calcular un hash (para que todos puedan calcularlo) y luego agregar un montón de 1s. ¿Qué probaría? La parte importante de RSA es la modular exponentiation ; de modo que la firma es nada "el hash y algunos 1888 bits adicionales". No puedes esperar entender el RSA si no consideras esta exponenciación.

Puede meditar el estándar RSA PKCS # 1 .

    
respondido por el Tom Leek 12.02.2014 - 00:20
fuente
0

Los algoritmos de firma utilizan una función hash unidireccional (en este caso SHA-1). El algoritmo recopila los datos a firmar (hash (mensaje)), que luego se firma utilizando la clave privada RSA. Esta operación crea el valor de la firma (e_priv (hash (campos del certificado))), que es una cadena de bits que se incluye en el campo de la firma del certificado.

No estamos tomando la salida SHA-1 y agregándola a algo para crear el campo de firma, en lugar de eso, estamos realizando una firma en la salida de hash.

    
respondido por el Daisetsu 12.02.2014 - 00:23
fuente
0

El tamaño de salida del cifrado RSA siempre es equivalente al tamaño de la clave RSA. En su caso de firma Sha1RSA 2048, el resumen de sha1 de 160 bits se rellena según el esquema de relleno PKCS # 1 para hacer que el bloque de entrada sea equivalente al tamaño de la clave RSA y luego se encripta con la clave privada RSA, lo que da como resultado una firma de 2048 bits.

    
respondido por el Deva 01.02.2016 - 08:26
fuente
-1

Larry > > SHA1 no usa una clave. La firma se realiza con 2048 bits RSA, SHA1 solo se utiliza para Message Digest. Si los datos son menores a 2048 bits, obtiene una fuerza igual en la firma sin SHA, simplemente rellene los datos con FF, la fuerza de la firma está en la longitud de la clave, no en el proceso de Compendio de mensajes. No se recomienda usar SHA1 solo como método de firma. No se recomienda el uso de llaves simétricas de 112 bits. El uso de claves RSA de 2048 bits aún está bien para la firma y el cifrado.

    
respondido por el Stefan Lund 09.02.2015 - 16:50
fuente

Lea otras preguntas en las etiquetas