Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

VIA PadLock - это расширение набора команд центрального процессора (ЦП) для архитектуры набора команд микропроцессора x86 (ISA), которое используется в процессорах, производимых VIA Technologies и Zhaoxin . Введенные в 2003 году с процессорами VIA Centaur , дополнительные инструкции обеспечивают аппаратное ускорение генерации случайных чисел (RNG), Advanced Encryption Standard (AES), SHA-1 , SHA256 и модульное умножение Montgomery . [1] [2]

Инструкции [ править ]

Набор инструкций PadLock можно разделить на четыре подмножества: [1]

  • Генерация случайных чисел (ГСЧ)
    • XSTORE: Хранить доступные случайные байты (также известные как XSTORERNG)
    • REP XSTORE: Хранить случайные байты ECX
  • Advanced Cryptography Engine (ACE) - для шифрования AES; две версии
  • Механизм хеширования SHA (PHE)
    • REP XSHA1: Хеш-функция SHA-1
    • REP XSHA256: Хеш-функция SHA-256
  • Множитель Монтгомери (PMM)
    • REP MONTMUL

Возможность навесного замка обозначается в CPUIDинструкции значком EAX = 0xC0000000. Если результат EAX >= 0xC0000001, CPU знает о функциях Centaur. Дополнительный запрос с EAX = 0xC0000001then возвращает поддержку PadLock в EDX. Замок можно включить или выключить с помощью MSR 0X1107. [1]

VIA PadLock, установленный на некоторых процессорах Zhaoxin, имеет хеширование SM3 и блочный шифр SM4 . [3]

Процессоры с PadLock [ править ]

  • Все процессоры VIA Nano поддерживают SHA, AES и RNG.
  • Все процессоры VIA Eden с 2003 года (C3 Nehemiah) поддерживают AES и RNG. Все они, выпущенные с 2006 года, поддерживают AES, RNG, SHA и PMM.
  • Все процессоры VIA C7 поддерживают AES, RNG, SHA и PMM.

Вспомогательное программное обеспечение [ править ]

  • Ядро Linux, начиная с версии 2.6.11, имеет PadLock AES. PadLock SHA был представлен в 2.6.19. Они обрабатываются как «аппаратные криптоустройства». [4]
  • OpenBSD и FreeBSD поддерживают PadLock. [5]
  • OpenSSL поддерживает PadLock AES и SHA с 2004 года (0.9.7f / 0.9.8a). [6]
  • Ассемблер GNU поддерживает PadLock с 2004 года. [7]

См. Также [ править ]

  • Набор инструкций AES
  • Режим работы блочного шифра
  • Расширения Intel SHA
  • RDRAND

Ссылки [ править ]

  1. ^ a b c "Руководство по программированию VIA PadLock" . 4 августа 2005 г.
  2. ^ "VIA PadLock - Wicked Fast Encryption" . www.logix.cz .
  3. ^ "4-ядерный ЦП Kaixian ZX-C + Series" . Шанхай Zhaoxin Semiconductor Co., Ltd .
  4. ^ «Поддержка VIA PadLock для Linux» . www.logix.cz .
  5. ^ padlock(4)  -  Руководство по интерфейсам ядра FreeBSD
  6. ^ "openssl / motors / e_padlock.c" . GitHub .
  7. ^ "Добавлены новые инструкции для следующей версии ядра VIA PadLock. · Bminor / binutils-gdb @ 30d1c83" . GitHub .