题目
AES中,两个字节的积 23•64=( ),其中23和64为16进制数。(注意:结果用16进制表示)
AES中,两个字节的积 23•64=( ),其中23和64为16进制数。(注意:结果用16进制表示)
题目解答
答案
98
解析
考查要点:本题主要考查AES算法中有限域GF(2⁸)上的字节乘法运算规则,而非普通的十六进制乘法。关键在于理解有限域乘法的实现步骤,包括多项式乘法、模运算以及GF(2⁸)的特性。
解题核心思路:
- 将十六进制数转换为二进制多项式,例如
23对应x⁵ + x + 1,64对应x⁶ + x⁵ + x²。 - 执行多项式乘法,展开并合并同类项。
- 对结果进行模运算,使用GF(2⁸)的模多项式
x⁸ + x⁴ + x³ + x + 1,将高次项降维。 - 将最终多项式转换为十六进制结果。
破题关键点:
- GF(2⁸)乘法的本质是多项式运算,系数为二进制(0或1),加法为模2加法。
- 模运算需逐项处理,用模多项式替换高次项。
步骤1:将十六进制转换为多项式
23(十六进制) → 二进制00100011→ 多项式:x⁵ + x + 164(十六进制) → 二进制01100100→ 多项式:x⁶ + x⁵ + x²
步骤2:执行多项式乘法
展开乘积:
$\begin{aligned}(x⁵ + x + 1)(x⁶ + x⁵ + x²) &= x^{11} + x^{10} + x^7 + x^7 + x^6 + x^3 + x^6 + x^5 + x^2 \\&= x^{11} + x^{10} + 0x^7 + 0x^6 + x^3 + x^5 + x^2\end{aligned}$
步骤3:模运算降维
用模多项式x⁸ = x⁴ + x³ + x + 1替换高次项:
x¹¹ = x³·x⁸ ≡ x³(x⁴ + x³ + x + 1) = x⁷ + x⁶ + x⁴ + x³x¹⁰ = x²·x⁸ ≡ x²(x⁴ + x³ + x + 1) = x⁶ + x⁵ + x³ + x²
代入后合并同类项:
$x⁷ + x⁶ + x⁴ + x³ + x⁶ + x⁵ + x³ + x² + x^3 + x^5 + x^2 \\
= x⁷ + x⁴ + x³$
步骤4:转换为十六进制
多项式x⁷ + x⁴ + x³对应二进制10011000,即十六进制98。