A VIA PadLock egy utasításkészlet-kiterjesztés a VIA Technologies és Zhaoxin által gyártott x86-os mikroprocesszorok utasításkészlet-architektúrájához (ISA). 2003-ban jelent meg a VIA Centaur-tervezésű processzorokban. Az újonnan bevezetett kiegészítő utasítások hardveresen gyorsított véletlenszám-generálást (RNG), Advanced Encryption Standard titkosítást (AES), az SHA-1, SHA256 hashműveleteket és Montgomery moduláris szorzást biztosítanak.

Utasítások A PadLock utasításkészlet négy csoportra osztható:

Véletlenszám-generálás (RNG) XSTORE: A rendelkezésre álló véletlen bájtok tárolása (másként XSTORERNG) REP XSTORE: Az ECX regiszterben beállított számú véletlen bájt tárolása (az ES:[rDI] által címzett memóriaterületre) Fejlett kriptográfiai egység (Advanced Cryptography Engine, ACE) – az AES titkosításhoz; két változatban REP XCRYPTECB: Elektronikus kódkönyv mód (ECB) REP XCRYPTCBC: Rejtjeles blokkok láncolása (CBC) REP XCRYPTCTR: Számláló mód (ACE2) REP XCRYPTCFB: Cipher Feedback mód (CFB) REP XCRYPTOFB: Kimenet-visszacsatolásos mód (Output Feedback, OFB) SHA hash számítóegység (PHE) REP XSHA1: SHA-1 hasítófüggvény REP XSHA256: SHA-256 hasítófüggvény Montgomery-szorzó (PMM) REP MONTMUL

A PadLock kiterjesztés megléte programból megállapítható, első lépésben az EAX = 0xC0000000 paraméterrel kiadott CPUID utasítással. Ha az eredményben az EAX >= 0xC0000001, akkor a CPU tartalmaz Centaur által fejlesztett kiterjesztéseket (a Centaur Extended Feature Flags jellemző támogatott). Ez után az EAX = 0xC0000001 paraméterrel kiadott CPUID utasítás visszaadja a Centaur kiterjesztések állapotjelzőit az EDX regiszterben, amelyben a PadLock támogatás különböző részeit 10 bit jelzi (13–6,3,2).4.,5.,6. oldal A PadLock képesség be- vagy kikapcsolható az MSR 0X1107 kóddal.

Néhány Zhaoxin CPU-ban kiterjesztett VIA PadLock található, ezek rendelkeznek az SM3 hasítófüggvény és az SM4 blokkos rejtjelezés támogatásával.

PadLock kiterjesztést tartalmazó CPU-k

Minden VIA Nano CPU támogatja: SHA, AES, és RNG. Minden VIA Eden CPU 2003 óta (C3 Nehemiah) támogatja az AES és RNG funkciókat. Mindegyik 2006 óta kiadott termék támogatja az AES, RNG, SHA, és PMM részeket. Minden VIA C7 CPU támogatja: AES, RNG, SHA, és PMM.

Szoftvertámogatás A Linux kernel a 2.6.11 kiadás óta tartalmazza a PadLock AES támogatását. A PadLock SHA a 2.6.19-ben került bevezetésre. Ezeket „hardveres kriptoeszközökként” kezelik. Az OpenBSD és a FreeBSD támogatja a PadLock-ot. Az OpenSSL támogatja a PadLock AES és SHA funkciókat, 2004 óta (0.9.7f/0.9.8a). A GNU assembler támogatja a PadLock-ot, 2004 óta.

Jegyzetek

Fordítás

Források További információk Kapcsolódó szócikkek AES utasításkészlet Blokkos titkosítás működési módok Intel SHA kiterjesztések RDRAND

PadLock

Kategória:Mikroprocesszorok