VIA PadLock

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 hash-műveleteket, és Montgomery moduláris szorzást biztosítanak.[1][2]

Utasítások szerkesztés

A PadLock utasításkészlet négy csoportra osztható:[1]

  • 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
  • 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).[1][3] A PadLock képesség be- vagy kikapcsolható az MSR 0X1107 kóddal.[1][4]

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.[5]

PadLock kiterjesztést tartalmazó CPU-k szerkesztés

  • 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 szerkeszté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.[6]
  • Az OpenBSD és a FreeBSD támogatja a PadLock-ot.[7]
  • Az OpenSSL támogatja a PadLock AES és SHA funkciókat, 2004 óta (0.9.7f/0.9.8a).[8]
  • A GNU assembler támogatja a PadLock-ot, 2004 óta.[9]

Jegyzetek szerkesztés

  1. a b c d VIA PadLock Programming Guide, 2005. augusztus 4. [2010. május 26-i dátummal az eredetiből archiválva].
  2. VIA PadLock - Wicked Fast Encryption. www.logix.cz
  3. 4.,5.,6. oldal
  4. XMI: Dokumentálatlan MSR-ek felderítése és kihasználása, nemcsak támadásra (magyar nyelven). HUP.hu, 2022. május 22. „A modern CPU-k modell-specifikus regisztereiről (MSR) már korábban is ismert volt, hogy meglehetősen szelektíven dokumentáltak.”
  5. Kaixian ZX-C+ Series 4-core CPU. Shanghai Zhaoxin Semiconductor Co., Ltd.
  6. VIA PadLock support for Linux. www.logix.cz
  7. Kernel Interfaces Manual / PADLOCK(4) (angol nyelven) (man). FreeBSD, 2020-07-29
  8. openssl/engines/e_padlock.c (angol nyelven). GitHub , 2022. november 26.
  9. Added new instructions for next version of VIA PadLock core. · bminor/binutils-gdb@30d1c83 (angol nyelven). GitHub

Fordítás szerkesztés

Ez a szócikk részben vagy egészben a VIA PadLock című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.

Források szerkesztés

További információk szerkesztés

Kapcsolódó szócikkek szerkesztés