密码学 |
您所在的位置:网站首页 › 二进制模二乘法 › 密码学 |
一、前言
这是期末考试必考榜单的第五项 二、多项式模乘 例题:m(x) = x8+x4+x3+x+1 57*83 = ?(mod m(x)) 解: ①化二进制将57、83从16进制转化为2进制 f(x) = 57 = 01010111 g(x) = 83 = 10000011 由于有限域GF(2^8) 所以m(x) 可以写成 m(x) = x4+x3+x+1 = 00011011 ②计算f(x)*xn如何计算乘法呢?首先引入一个概念 x8 mod m(x) = [m(x) – x8] = m(x) 然后开始计算 f(x)*x1 = 01010111 * 00000010 = 10101110 由于 f(x)*x1 = 10101110 中 并没有超过2^7的值 所以不需要单独计算x^8 mod m(x)
f(x)*x2 = 10101110 * 00000010 = 101011100 计算完f(x) * x^2 后可以发现 有一个1顶到了 2*2^8的位置上 需要单独计算 f(x)*x2 在有限域GF(2^8)中的对应值 101011100 = 100000000 + 01011100 根据上面 引入的概念 可以推到: m(x) + 01011100 = 00011011 + 01011100 = 01000111 所以f(x)*x2 = 01000111 按照这个算法可以列出f(x)与xn相乘的结果表 算式二进制值f(x)*x^001010111f(x)*x^110101110f(x)*x^201000111f(x)*x^310001110f(x)*x^400000111f(x)*x^500001110f(x)*x^600011100f(x)*x^700111000 ③将g(x)分解已知g(x) = 83 = 10000011 相当于g(x) = x^7 + x^1 + 1 f(x) * g(x) = f(x) * (x^7 + x^1 + 1) =f(x) * x^7 + f(x) * x^1 + f(x) * 1 对照上一步写的表格填一下 00111000 + 10101110 + 01010111 然后就按 模二加 运算 最后的结果是 11000001 相当于 x^7 + x^6 + 1
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |