VIA PadLock
VIA PadLock är en instruktionsuppsättning för centralprocessor (CPU) till x86 -mikroprocessorinstruktionsuppsättningsarkitekturen (ISA) som finns på processorer producerade av VIA Technologies och Zhaoxin . De ytterligare instruktionerna introducerades 2003 med VIA Centaur- processorerna och tillhandahåller hårdvaruaccelererad slumptalsgenerering (RNG), Advanced Encryption Standard (AES), SHA-1 , SHA256 och Montgomery modulär multiplikation .
Instruktioner
PadLock-instruktionsuppsättningen kan delas in i fyra underuppsättningar:
-
Generering av slumptal (RNG)
-
XSTORE
: Butik tillgängliga slumpmässiga bytes (akaXSTORERNG
) -
REP XSTORE
: Lagra ECX Random Bytes
-
- Avancerad kryptografimotor (ACE) - för AES-kryptering; två versioner
-
REP XCRYPTECB
: Elektronisk kodbok -
REP XCRYPTCBC
: Cipher Block Chaining -
REP XCRYPTCTR
: Räknarläge (ACE2) -
REP XCRYPTCFB
: Chifferåterkopplingsläge -
REP XCRYPTOFB
: Utmatningsåterkopplingsläge
-
- SHA hashmotor (PHE)
-
REP XSHA1
: Hash-funktion SHA-1 -
REP XSHA256
: Hash-funktion SHA-256
-
- Montgomery multiplikator (PMM)
REP MONTMUL
Hänglåsförmågan indikeras via en CPUID
-instruktion med EAX = 0xC0000000
. Om den resulterande EAX >= 0xC0000001
är processorn medveten om Centaur-funktioner. En ytterligare begäran med EAX = 0xC0000001
returnerar sedan PadLock-stöd i EDX
. Hänglåsförmågan kan slås på eller av med MSR 0X1107
.
VIA PadLock som finns på vissa Zhaoxin- processorer har lagt till SM3- hashning och SM4- blockchiffer.
CPU:er med PadLock
- Alla VIA Nano-processorer stöder SHA, AES och RNG.
- Alla VIA Eden-processorer sedan 2003 (C3 Nehemiah) stöder AES och RNG. Alla dessa släppts sedan 2006 stöder AES, RNG, SHA och PMM.
- Alla VIA C7-processorer stöder AES, RNG, SHA och PMM.
Stödprogramvara
- Linux-kärnan sedan 2.6.11 har PadLock AES. PadLock SHA introducerades 2.6.19. Dessa hanteras som "hårdvarukryptoenheter".
- OpenBSD och FreeBSD stöder PadLock.
- OpenSSL stöder PadLock AES och SHA sedan 2004 (0.9.7f/0.9.8a).
- GNU assembler stöder PadLock sedan 2004.