ЧЕРЕЗ PadLock

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

Инструкции

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

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

Возможность блокировки указывается с помощью CPUIDинструкции с EAX = 0xC0000000. Если полученный результат EAX >= 0xC0000001, то ЦП знает о возможностях 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]
  • FreeBSD , NetBSD и OpenBSD поддерживают PadLock. [5]
  • OpenSSL поддерживает PadLock AES и SHA с 2004 года (0.9.7f/0.9.8a). [6]
  • Ассемблер GNU поддерживает PadLock с 2004 года. [7]

Смотрите также

Ссылки

  1. ^ abc "VIA PadLock Programming Guide". 4 августа 2005 г. Архивировано из оригинала 26 мая 2010 г.
  2. ^ "VIA PadLock - невероятно быстрое шифрование". www.logix.cz .
  3. ^ «4-ядерный процессор Kaixian серии ZX-C+» . Шанхайская компания Zhaoxin Semiconductor Co., Ltd.
  4. ^ "Поддержка VIA PadLock для Linux". www.logix.cz .
  5. ^ padlock(4)  –  Руководство по интерфейсам ядра FreeBSD
  6. ^ "openssl/engines/e_padlock.c". GitHub . 26 ноября 2022 г.
  7. ^ "Добавлены новые инструкции для следующей версии ядра VIA PadLock. · bminor/binutils-gdb@30d1c83". GitHub .
Взято с "https://en.wikipedia.org/w/index.php?title=VIA_PadLock&oldid=1229401380"