Saf*_*Saf 4 cryptography galois-field
在我的加密课程中,我得到了两个紧凑形式的多项式和一个不可约多项式,并被要求在 GF(2^8) 中执行 4 个基本算术运算。完成了加法和乘法,我现在想知道如何处理减法和除法。为了方便起见,我们假设输入按位序列始终为 8 位
1st bit sequence: 11001100
2nd bit sequence: 11110000
irreducible polynomial(fixed): x^8 + x^4 + x^3 + x^1
Run Code Online (Sandbox Code Playgroud)
如何进行减法/除法?
多项式x^8 + x^4 + x^3 + x^1不是不可约的:x显然是一个因子!。我的赌注是与 混淆x^8 + x^4 + x^3 + x + 1,这是字典顺序上第一个 8 次不可约多项式。
当我们修正多项式后,GF(2 8 ) 是一个域,其中每个元素都是它自己的相反数。这意味着减法与加法相同。
该字段中的乘法 * 减去零形成一组 255 个元素。因此,对于任何非零B,它保持B 255 = 1。因此,该B的乘法逆元是B 254。
因此,当 B 不为零时,可以将 A / B 计算为 B 254 * A。如果除以零结果为零,则该公式在没有特殊情况的情况下有效。
B 254可以通过标准二进制求幂方法(平方和乘法)进行 13 次乘法计算,依次将 B 提高到 2、3、6、7、14、15、30、31、62、63、126、127、254权力。crypto.SE 上这个答案中的 C 代码。可以减少到 11 次乘法,并用 255 次乘法构建一个完整的逆表;在线尝试!。
其他获得(一个)模逆的速度稍快的方法包括扩展欧几里得 GCD 算法和对数/反对数表,请参阅crypto.SE 上的另一个答案。然而:
| 归档时间: |
|
| 查看次数: |
1848 次 |
| 最近记录: |