VAES
VAES proporciona operaciones de ronda AES codificadas mediante vectores, lo que permite procesar bloques AES independientes en registros más anchos cuando el formato admitido lo permita. Se identifica de forma independiente respecto al clásico AES-NI.
Lo que necesita saber
VAES proporciona operaciones de ronda AES codificadas mediante vectores, lo que permite procesar bloques AES independientes en registros más anchos cuando el formato admitido lo permita. Se identifica de forma independiente respecto al clásico AES-NI.
Cómo funciona
Las operaciones VAES más amplias aplican rondas AES de manera independiente a bloques de 128 bits dentro de un vector. No modifican el tamaño de bloque de AES ni combinan esos bloques en un nuevo cifrado. Los formatos VEX y EVEX tienen sus propios requisitos de características y de estado, y el modo circundante determina si hay bloques independientes disponibles para procesarse juntos.
Dónde resulta útil
Los modos basados en contador pueden suministrar múltiples bloques independientes a una implementación vectorizada. Una dependencia en serie dentro de un modo o un mensaje muy pequeño pueden limitar esa oportunidad. La autenticación, la expansión de claves y la gestión de memoria siguen siendo partes separadas de la implementación.
Cómo comprobar la compatibilidad y la habilitación
El bit 9 de CPUID.07H.00H:ECX enumera VAES. Siga también los requisitos previos del SDM para el formato VEX o EVEX seleccionado, incluida la capacidad AES/vectorial correspondiente y el estado habilitado por el SO. Realice el despacho según la forma exacta de la instrucción, no solo por el nombre genérico de la característica.
Utilice una implementación criptográfica mantenida que gestione la selección de funciones, las condiciones de error y el algoritmo completo. La aceleración por hardware suministra primitivas; la gestión de claves, la autenticación, las reglas de nonces y las elecciones de protocolos siguen siendo responsabilidades del software.
Lo que la función no establece
VAES no implica que AES posea un tamaño de bloque más grande, una clave más fuerte o aceleración automática para cada aplicación cifrada. No establece VPCLMULQDQ ni todos los subconjuntos de AVX-512, y no proporciona gestión de «nonces» ni autenticación de protocolos.
Compatibilidad y rendimiento en la práctica
Un campo de función no es una certificación de producto ni evidencia de que una aplicación en particular sea segura. El rendimiento depende del tamaño de los mensajes, el modo, el procesamiento por lotes y el resto del protocolo. Compruebe el proveedor real y mantenga al día sus actualizaciones de seguridad.
Lista de comprobación práctica para la verificación
- Registre el modelo exacto de procesador o plataforma, así como las versiones de la aplicación, el sistema operativo y el entorno de ejecución involucrados. Conserve la redacción del error o requisito real.
- Consulte la referencia del fabricante para ese modelo exacto y, a continuación, inspeccione la capacidad efectiva y el estado habilitado en el entorno donde se ejecuta el programa.
- Compare cada requisito del binario o backend seleccionado. Una función con nombre similar, un alias o una etiqueta de tecnología general no son suficientes.
- Confirme que la aplicación haya seleccionado la implementación prevista. Utilice sus diagnósticos documentados y una alternativa compatible cuando no se cumplan los requisitos.
- Realice un cambio admitido a la vez y repita la misma carga de trabajo. Mantenga disponibles la configuración original y la vía de recuperación.
Si la función aparece listada pero el software no puede usarla
Comience con el componente exacto que falla. Una base de datos de hardware describe la capacidad registrada; el sistema operativo o el hipervisor pueden exponer un entorno efectivo diferente. Un error de instrucción no válida también requiere investigar la instrucción que generó el fallo y la compilación del binario en sí, ya que la corrupción o una instrucción no compatible no relacionada pueden producir un síntoma similar.
Instale la versión de la aplicación, controlador o entorno de ejecución compatible con la plataforma exacta, y utilice la compilación de referencia o de contingencia documentada por el fabricante si es necesario. Una actualización de software no puede crear una instrucción de la que el procesador carece. Los cambios de firmware y directivas de seguridad deben seguir el procedimiento del fabricante del sistema y un plan de recuperación, en lugar de una fórmula de optimización genérica.
Fuentes y alcance de esta explicación
Intel 64 and IA-32 Architectures Software Developer's Manual · Linux kernel: using XSTATE features in user space
Estas referencias establecen el comportamiento arquitectónico y los requisitos de software. No verifican de forma independiente cada valor de función en la página de un modelo de hardware vinculado. Para conocer la compatibilidad de un modelo, consulte las pruebas del fabricante en dicha página y compruebe la configuración efectiva del sistema. Este artículo no proporciona una prueba de rendimiento, certificación ni fecha de revisión independiente.
Fuentes y verificación
Titularidad editorial: Feex. No se registra ninguna fecha de revisión independiente. Cómo investigamos.
- Intel 64 and IA-32 Architectures Software Developer's Manual · Los volúmenes 1 y 2 describen las familias de instrucciones designadas y CPUID; el volumen 3 describe el estado, la paginación, VMX y los controles de protección. La documentación de la arquitectura no establece la compatibilidad con un modelo en particular.
- Linux kernel: using XSTATE features in user space · Estado de vector habilitado por el sistema operativo, estado de mosaico habilitado dinámicamente, requisitos de pila de señales y flujo de permisos AMX. El comportamiento específico de Linux no es una garantía sobre otro sistema operativo.
¿Fue útil este artículo?
Un sí o un no es suficiente. Elija un motivo si lo desea o agregue una breve nota.
Gracias. Eso nos ayuda a mejorar esta página.