Partager via


_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;
}
          
        

Voir aussi

Référence

intrinsèques du compilateur

_mm_aesdec_si128

_mm_aesenclast_si128

Intrinsèques AES