ВИА PadLock
VIA PadLock — это центрального процессора (ЦП) расширение набора команд для (ISA) x86 микропроцессора архитектуры набора команд , используемой в процессорах производства VIA Technologies и Zhaoxin . представленные в 2003 году вместе с процессорами VIA Centaur Дополнительные инструкции, , обеспечивают аппаратно-ускоренную генерацию случайных чисел (RNG), расширенный стандарт шифрования (AES), SHA-1 , SHA256 и модульное умножение Монтгомери . [1] [2]
Инструкции
[ редактировать ]Набор команд PadLock можно разделить на четыре подмножества: [1]
- Генерация случайных чисел (ГСЧ)
XSTORE
: Сохранение доступных случайных байтов (также известных какXSTORERNG
)REP XSTORE
: Сохранение случайных байтов ECX
- Расширенный механизм шифрования (ACE) — для шифрования AES; две версии
REP XCRYPTECB
: Электронная кодовая книгаREP XCRYPTCBC
: Цепочка блоков шифрованияREP XCRYPTCTR
: Режим счетчика (ACE2)REP XCRYPTCFB
: Режим обратной связи по шифруREP XCRYPTOFB
: Режим обратной связи по выходу
- Хеш-машина SHA (PHE)
REP XSHA1
: Хэш-функция SHA-1REP XSHA256
: Хэш-функция SHA-256
- Множитель Монтгомери (PMM)
REP MONTMUL
Возможность навесного замка указывается с помощью CPUID
инструкция с EAX = 0xC0000000
. Если результирующий EAX >= 0xC0000001
, процессор знает о функциях Centaur. Дополнительный запрос с EAX = 0xC0000001
затем возвращает поддержку 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]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Jump up to: а б с «Руководство по программированию VIA PadLock» . 4 августа 2005 г. Архивировано из оригинала 26 мая 2010 г.
- ^ «VIA PadLock — ужасное быстрое шифрование» . www.logix.cz .
- ^ «4-ядерный процессор серии Kaixian ZX-C+» . Шанхайская компания Zhaoxin Semiconductor Co., Ltd.
- ^ «Поддержка VIA PadLock для Linux» . www.logix.cz .
- ^ FreeBSD по интерфейсам ядра Руководство –
- ^ «openssl/engines/e_padlock.c» . Гитхаб . 26 ноября 2022 г.
- ^ «Добавлены новые инструкции для следующей версии ядра VIA PadLock. · bminor/binutils-gdb@30d1c83» . Гитхаб .