|
@@ -119,6 +119,27 @@ static inline void aesdec_ISB_ISR_AK(AESState *r, const AESState *st,
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+/*
|
|
|
|
+ * Perform InvSubBytes + InvShiftRows + AddRoundKey + InvMixColumns.
|
|
|
|
+ */
|
|
|
|
+
|
|
|
|
+void aesdec_ISB_ISR_AK_IMC_gen(AESState *ret, const AESState *st,
|
|
|
|
+ const AESState *rk);
|
|
|
|
+void aesdec_ISB_ISR_AK_IMC_genrev(AESState *ret, const AESState *st,
|
|
|
|
+ const AESState *rk);
|
|
|
|
+
|
|
|
|
+static inline void aesdec_ISB_ISR_AK_IMC(AESState *r, const AESState *st,
|
|
|
|
+ const AESState *rk, bool be)
|
|
|
|
+{
|
|
|
|
+ if (HAVE_AES_ACCEL) {
|
|
|
|
+ aesdec_ISB_ISR_AK_IMC_accel(r, st, rk, be);
|
|
|
|
+ } else if (HOST_BIG_ENDIAN == be) {
|
|
|
|
+ aesdec_ISB_ISR_AK_IMC_gen(r, st, rk);
|
|
|
|
+ } else {
|
|
|
|
+ aesdec_ISB_ISR_AK_IMC_genrev(r, st, rk);
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
/*
|
|
/*
|
|
* Perform InvSubBytes + InvShiftRows + InvMixColumns + AddRoundKey.
|
|
* Perform InvSubBytes + InvShiftRows + InvMixColumns + AddRoundKey.
|
|
*/
|
|
*/
|