¿Por qué el “protocolo” de FATCA IDES no utiliza el cifrado RSA directamente en el archivo Zip?

1

Aquí está el contexto: para transmitir datos FATCA al servicio IRS de EE. UU., el protocolo IDES define los siguientes pasos

  1. firme el archivo XML Payload.xml con la firma envolvente, SHA-256 con clave privada RSA, como Payload-signed.xml .
  2. empacar el archivo XML Payload-signed.xml firmado en un archivo zip Payload.zip
  3. genere una clave de 32 bytes de uso único para AES-256
  4. cifre el archivo Zip Payload.zip con AES-256 como Payload
  5. cifre el AES con la clave pública RSA para el intercambio como Key
  6. agrupar la clave AES encriptada Key y el archivo zip encriptado Payload en un archivo Zip

Preguntas:

  • ¿Hay alguna razón de seguridad para no cifrar directamente Payload.zip con una clave pública RSA diseñada para el intercambio?

  • ¿Cómo comparar la seguridad del cifrado RSA entre un archivo (la clave AES) de 32 bytes (realmente pequeño) y un archivo Zip más grande?

pregunta Yves Martin 29.06.2015 - 15:48
fuente

1 respuesta

1

Debido a cómo funciona el algoritmo, RSA no puede "cifrar" datos más grandes que el tamaño de la clave. Cuando se utiliza el relleno, este tamaño se reduce aún más, por ejemplo, para el relleno PKCS # 1 solo puede cifrar (k/8) - 11 bytes del mensaje, donde k es su tamaño de clave en bits.

La ampliación de escala para trabajar con mensajes de tamaño arbitrario no es factible debido al costo adicional de las claves RSA largas. Como mencionado en otra parte , la escala de rendimiento de RSA es cuadrática para el cifrado ( es decir, duplicar la longitud de la clave hace que tome cuatro veces más tiempo), y cúbico para el descifrado (es decir, duplicar la longitud de la clave hace que tome ocho veces más). Entonces, si desea usar claves lo suficientemente largas para cifrar, digamos, 16kB de datos, necesitará una clave de 131072 bits, que demoraría 262144 veces más en descifrar que la misma operación en una clave de 2048 bits. Esto simplemente no se escala.

A lo que se refieren en la especificación es a un sistema criptográfico híbrido que cifra los datos mediante un cifrado simétrico (por ejemplo, AES), cuya clave se cifra con RSA. Esto proporciona las propiedades de uso compartido de la criptografía asimétrica (por ejemplo, cualquiera puede crear un mensaje, pero solo el propietario de la clave privada es capaz de desencriptarlo) sin utilizar claves asimétricas enormemente ridículas, lo que arruinaría el rendimiento.

    
respondido por el Polynomial 29.06.2015 - 16:02
fuente

Lea otras preguntas en las etiquetas