我正在上密码学的课程,我对笔记中的材料有一些困惑。假设我们有字段GF(2^8),我们创建了一个替换算法(AES中的S框),所以我们需要一个从GF(2^8)映射到自身的双射函数。
一对一函数的总数是256!因为| GF(2^8)| = 256和我们可以通过置换集合中的所有元素来找到映射。
我们使用映射函数S(y) = y^{2^8-2} = y^{254},它是GF(2^8)上的一个置换。
为什么这是一个排列?我们怎么展示这个?
在其他注释中也提到了这一点,如:AES密码的SubBytes变换电路(1.0版)
那
S(y) = y^{-1}适用于所有y \neq 0和
但是我不明白为什么。
总之,我不明白为什么S(y) = y^{2^8-2} = y^{254}是一对一的函数和GF(2^8)上的置换,以及为什么S(y) = y^{-1}是所有y \neq 0的。
有人能帮我解释一下背后的细节吗?谢谢!
发布于 2019-09-15 13:31:25
事实1:字段GF(2^8)的顺序是2^8,因此它的乘法群GF(2^8)^{\times} := GF(2^8) \setminus \{0\}的顺序是2^8-1 = 255。
事实2:对于G of order q,任何元素g \in G,当被提升到q的幂时,都等于1:数学上的put,g^q =1。
事实3:对于组中的任何元素,都存在唯一的逆。与g相反的是满足g \cdot g^{-1} = 1的元素(由g^{-1}表示)。换句话说,函数g \mapsto g^{-1}是一对一的.
在我们的例子中,任何元素g \in GF(2^8)^{\times}都满足g^{255} = 1。另一种有用的编写方法是,对于任何g,我们都有g \cdot g^{254} =1。因为g \cdot g^{254}= g^{255} = 1,所以g^{254}等于g^{-1}。
我们得出的结论是,函数g \mapsto g^{254}等于一一对应的函数g \mapsto g^{-1},因此它是群GF(2^8)^{\times}的置换。
我很乐意详细说明任何不清楚的部分。
https://crypto.stackexchange.com/questions/74320
复制相似问题