_mm_aesdec_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) aesdecencryption standard. Cette instruction exécute une série de déchiffrement AES.
__m128i _mm_aesdec_si128 (
__m128i v,
__m128i rkey
);
Paramètres
Paramètre |
Description |
[in] v |
Le paramètre d'état qui contient les données pour cette 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.
Configuration requise
Intrinsèque |
Architecture |
_mm_aesdec_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 à l'aide d'une clé de chiffrement qui est 128 bits. Chaque itération utilise cette instruction, sauf pour la dernière itération. la dernière itération doit être exécutée par _mm_aesdeclast_si128.
Pour chiffrer les données et être conforme à l'AES, utilisez _mm_aesenc_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_aesdec_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;
}