VIA PadLock es una extensión del conjunto de instrucciones de la unidad central de procesamiento (CPU) de la arquitectura del conjunto de instrucciones (ISA) del microprocesador x86 que se encuentra en los procesadores producidos por VIA Technologies y Zhaoxin . Introducidas en 2003 con las CPU VIA Centaur , las instrucciones adicionales proporcionan generación de números aleatorios acelerada por hardware (RNG), Estándar de cifrado avanzado (AES), SHA-1 , SHA256 y multiplicación modular de Montgomery . [1] [2]
El conjunto de instrucciones PadLock se puede dividir en cuatro subconjuntos: [1]
XSTORE
: Almacenar bytes aleatorios disponibles (también conocidos como XSTORERNG
)REP XSTORE
: Almacenar bytes aleatorios de ECXREP XCRYPTECB
: Libro de códigos electrónicosREP XCRYPTCBC
: Encadenamiento de bloques cifradosREP XCRYPTCTR
:Modo contador (ACE2)REP XCRYPTCFB
:Modo de retroalimentación de cifradoREP XCRYPTOFB
:Modo de retroalimentación de salidaREP XSHA1
:Función hash SHA-1REP XSHA256
:Función hash SHA-256REP MONTMUL
La capacidad de bloqueo por candado se indica mediante una CPUID
instrucción con EAX = 0xC0000000
. Si el resultado es EAX >= 0xC0000001
, la CPU conoce las características de Centaur. Una solicitud adicional con EAX = 0xC0000001
devuelve la compatibilidad con PadLock en EDX
. La capacidad de bloqueo por candado se puede activar o desactivar con MSR 0X1107
. [1]
El VIA PadLock que se encuentra en algunas CPU Zhaoxin tiene hash SM3 y cifrado de bloque SM4 agregado. [3]
RDRAND