_mm_aesdeclast_si128
[Cette documentation constitue un aperçu et peut faire l'objet de modifications avec les versions ultérieures. Blank topics are included as placeholders.]
Spécifique à Microsoft
Émet l'instruction avancée (AES) aesdeclastencryption standard. Cette instruction effectue rond de finale du déchiffrement AES.
__m128i _mm_aesdeclast_si128 (
__m128i v,
__m128i rkey
);
Paramètres
Paramètre |
Description |
[in] v |
Le paramètre d'état qui contient les données pour l'instruction déchiffre. |
[in] rkey |
La clé ronde que cette instruction utilise pour déchiffrer les données d' v. |
Valeur de retour
les données déchiffrées pour v.
Configuration requise
Intrinsèque |
Architecture |
_mm_aesdeclast_si128 |
x86, x64 |
fichier d'en-tête <wmmintrin.h>
Notes
Cette instruction déchiffre des données à l'aide d'un chiffrement inverse équivalent avec une clé de 128 bits. Le déchiffrement AES requiert 10 itérations de déchiffrement et utilise une clé de chiffrement qui se compose de 128 bits. L'itération dernière doit être exécutée par cette instruction. les neuf itérations précédentes utilisent _mm_aesdec_si128.
Pour exécuter rond de bout de chiffrement et être conforme à l'AES, utilisez _mm_aesenclast_si128.
Exemple
#include <wmmintrin.h>
#include <stdio.h>
int main()
{
__m128i a;
__m128i res;
__m128i key;
a.m128i_u64[1] = 0x8899AABBCCDDEEFF;
a.m128i_u64[0] = 0x0123456789ABCDEF;
key.m128i_u64[1] = 0x0022446688AACCEE;
key.m128i_u64[0] = 0x1133557799BBDDFF;
res = _mm_aesdeclast_si128( a, key );
printf_s("Original data: 0x%016I64x%016I64x\n",
a.m128i_u64[1], a.m128i_u64[0]);
printf_s("Decoded data: 0x%016I64x%016I64x\n",
res.m128i_u64[1], res.m128i_u64[0]);
return 0;
}