Перайсці да змесціва

VAES

Архітэктурны даведнікFeex

VAES забяспечвае вектарна-кадаваныя раўндавыя аперацыі AES, дазваляючы апрацоўваць незалежныя блокі AES у больш шырокіх рэгістрах, калі гэта дазваляе падтрымліваемая форма. Гэтая функцыя ідэнтыфікуецца асобна ад састарэлай AES-NI.

Што вам трэба ведаць

VAES забяспечвае вектарна-кадаваныя раўндавыя аперацыі AES, дазваляючы апрацоўваць незалежныя блокі AES у больш шырокіх рэгістрах, калі гэта дазваляе падтрымліваемая форма. Гэтая функцыя ідэнтыфікуецца асобна ад састарэлай AES-NI.

Як гэта працуе

Больш шырокія аперацыі VAES ужываюць раўнды AES незалежна да 128-бітных блокаў у межах вектара. Яны не змяняюць памер блока AES і не аб'ядноўваюць гэтыя блокі ў новы шыфр. Формы VEX і EVEX маюць уласныя патрабаванні да функцый і стану, а бягучы рэжым вызначае, ці даступныя незалежныя блокі для сумеснай апрацоўкі.

Дзе гэта карысна

Рэжымы на аснове лічыльніка могуць прадастаўляць некалькі незалежных блокаў для вектарызаванай рэалізацыі. Паслядоўная залежнасць у рэжыме або вельмі малое паведамленне могуць абмежаваць гэтую магчымасць. Аўтэнтыфікацыя, разгортванне ключоў і праца з памяццю застаюцца асобнымі часткамі рэалізацыі.

Як праверыць падтрымку і актыўнасць

CPUID.07H.00H:ECX біт 9 пералічвае VAES. Таксама выконвайце перадумовы SDM для абранай формы VEX або EVEX, уключаючы адпаведныя магчымасці AES/вектараў і стан, уключаны АС. Выконвайце дыспетчарызацыю па дакладнай форме інструкцыі, а не толькі па агульнай назве функцыі.

Выкарыстоўвайце падтрымліваемую крыптаграфічную рэалізацыю, якая бярэ на сябе выбар функцый, апрацоўку збояў і выкананне поўнага алгарытму. Апаратнае паскарэнне дае прымітывы; кіраванне ключамі, аўтэнтыфікацыя, правілы выкарыстання nonce і выбар пратакола застаюцца задачамі праграмнага забеспячэння.

Чаго гэта функцыя не гарантуе

VAES не азначае, што AES мае большы памер блока, больш моцны ключ ці аўтаматычнае паскарэнне для кожнай зашыфраванай праграмы. Гэта не прадугледжвае наяўнасці VPCLMULQDQ або кожнага падмноства AVX-512, а таксама не забяспечвае кіраванне nonce або аўтэнтыфікацыю пратакола.

Сумяшчальнасць і прадукцыйнасць на практыцы

Поле функцыі не з'яўляецца сертыфікацыяй прадукту або доказам таго, што канкрэтная праграма бяспечная. Прадукцыйнасць залежыць ад памераў паведамленняў, рэжыму, пакетавання і астатняй часткі пратакола. Праверце фактычнага пастаўшчыка рашэння і рэгулярна абнаўляйце яго патчы бяспекі.

Практычны чэк-ліст для праверкі

  1. Зафіксуйце дакладную мадэль працэсара або платформы, а таксама задзейнічаныя версіі праграмы, АС і асяроддзя выканання. Захавайце дакладную фармулёўку памылкі або патрабавання.
  2. Звярніцеся да дакументацыі вытворцы для гэтай канкрэтнай мадэлі, затым праверце фактычныя магчымасці і ўключаны стан у асяроддзі, дзе выконваецца праграма.
  3. Супастаўце кожнае патрабаванне выбранага выканальнага файла або бэкэнда. Аналагічнай назвы функцыі, псеўданіма або агульнай назвы тэхналогіі недастаткова.
  4. Пацвердзіце, што праграма выбрала патрэбную рэалізацыю. Выкарыстоўвайце яе задакументаваныя сродкі дыягностыкі і падтрымліваемы запасны варыянт, калі патрабаванні не выконваюцца.
  5. Уносьце па адным падтрымліваемым змяненні за раз і паўтарайце тую ж нагрузку. Захоўвайце зыходную канфігурацыю і магчымасць адкату.

Калі функцыя пазначана, але праграмнае забеспячэнне не можа яе выкарыстоўваць

Пачніце з канкрэтнага кампанента, які выклікае збой. Апаратная база даных апісвае зафіксаваныя магчымасці; аперацыйная сістэма або гіпервізар могуць прадастаўляць іншае фактычнае асяроддзе. Памылка недапушчальнай інструкцыі (illegal instruction) таксама патрабуе даследавання канкрэтнай інструкцыі, якая выклікала збой, і зборкі бінарнага файла, паколькі пашкоджанне даных або іншая непадтрымліваемая інструкцыя могуць выклікаць аналагічны сімптом.

Усталюйце версію праграмы, драйвера або асяроддзя выканання, якая падтрымліваецца для дадзенай платформы, і пры неабходнасці выкарыстоўвайце задакументаваную вытворцам базавую або запасную зборку. Абнаўленне ПЗ не можа стварыць інструкцыю, якой няма ў працэсары. Змяненні ў мікрапраграме (firmware) і палітыках бяспекі павінны адпавядаць працэдурам вытворцы сістэмы і плану аднаўлення, а не агульным рэцэптам аптымізацыі.

Крыніцы і межы прымянення гэтага тлумачэння

Intel 64 and IA-32 Architectures Software Developer's Manual · Ядро Linux: выкарыстанне функцый XSTATE у прасторы карыстальніка

Гэтыя даведнікі вызначаюць архітэктурныя паводзіны і патрабаванні да праграмнага забеспячэння. Яны не пацвярджаюць незалежна кожнае значэнне функцыі на звязанай старонцы мадэлі абсталявання. Для праверкі падтрымкі мадэллю выкарыстоўвайце даныя вытворцы на адпаведнай старонцы і правярайце фактычную канфігурацыю сістэмы. Гэты артыкул не змяшчае вынікаў тэсціравання (benchmark), сертыфікацыі або даты незалежнага агляду.

Крыніцы і праверка

Рэдакцыйная прыналежнасць: Feex. Дата незалежнай праверкі не зафіксавана. Як мы даследуем.

  • Intel 64 and IA-32 Architectures Software Developer's Manual · Тамы 1 і 2 апісваюць названыя сямействы інструкцый і CPUID; Том 3 апісвае стан, старонкавую арганізацыю памяці, VMX і элементы кіравання абаронай. Архітэктурная дакументацыя не пацвярджае падтрымку канкрэтнай мадэлі.
  • Ядро Linux: выкарыстанне функцый XSTATE у прасторы карыстальніка · Уключаны аперацыйнай сістэмай вектарны стан, дынамічна ўключаны стан плітак, патрабаванні да стэка сігналаў і працэс атрымання дазволаў AMX. Спецыфічныя для Linux паводзіны не гарантуюць таго ж у іншай АС.

Ці быў гэты артыкул карысным?

Дастаткова адказаць "так" або "не". Выберыце прычыну, калі хочаце, або дадайце кароткую нататку.

Ці быў гэты артыкул карысным?