1 using System.Runtime.CompilerServices;
2 using System.Runtime.Intrinsics;
4 namespace System.Runtime.Intrinsics.Arm.Arm64
7 /// This class provides access to the Arm64 AES Crypto intrinsics
9 /// Arm64 CPU indicate support for this feature by setting
10 /// ID_AA64ISAR0_EL1.AES is 1 or better
13 public static class Aes
15 public static bool IsSupported { get { return false; } }
17 /// Performs AES single round decryption
18 /// vaesdq_u8 (uint8x16_t data, uint8x16_t key)
20 public static Vector128<byte> Decrypt(Vector128<byte> value, Vector128<byte> roundKey) { throw new PlatformNotSupportedException(); }
23 /// Performs AES single round encryption
24 /// vaeseq_u8 (uint8x16_t data, uint8x16_t key)
26 public static Vector128<byte> Encrypt(Vector128<byte> value, Vector128<byte> roundKey) { throw new PlatformNotSupportedException(); }
29 /// Performs AES Mix Columns
30 /// vaesmcq_u8 (uint8x16_t data)
32 public static Vector128<byte> MixColumns(Vector128<byte> value) { throw new PlatformNotSupportedException(); }
35 /// Performs AES inverse mix columns
36 /// vaesimcq_u8 (uint8x16_t data)
38 public static Vector128<byte> InverseMixColumns(Vector128<byte> value) { throw new PlatformNotSupportedException(); }