理论基础:

  • C(x)=A(x)*B(x) mod P(x)
  • 二进制数转换为多项式:A(a7,a6,a5,a4,a3,a2,a1,a0)==>A(X)=a7x7+a6x6+a5x5+a4x4+a3x3+a2x2+a1x+a0,GF(28)内的最大值为(11111111)2==> x7+x6+x5+x4+x3+x2+x+1,P(x)=x8+x4+x3+x2+x+1==>(100011011)2=0x11B
  • X8 mod P(x)= x4+x3+x2+x+1——————x8除以P(x)的余数
  • 异或运算:0⊕0=0,     0⊕1=1,  1⊕1=0
  • 有限域GF(2n)加法:C(x)=A(x)+B(x)=∑cixi(0≤i≤m-1),ci=ai+bi mod 2即ai⊕bi,A(x)=(am-1,…,a3,a2,a1,a0)2,B(x)=(bm-1,…,b3,b2,b1,b0)2
  • 定义xtime()运算:设A(x)∈GF(28),A(x)=a7x7+a6x6+a5x5+a4x4+a3x3+a2x2+a1x+a0对应的二进制数为(a7,a6,a5,a4,a3,a2,a1,a0)则xtime(A(x))=x*A(x)= a7x8+a6x7+a5x6+a4x5+a3x4+a2x3+a1x2+a0x对应的二进制数为(a7,a6,a5,a4,a3,a2,a1,a0,0)。将A(x)左移一位(最低位补0,原先的最高位删除)的结果为(a6,a5,a4,a3,a2,a1,a0,0),如果a7=0,则A(x)左移一位的结果就是xtime(A(x))的值;如果a7=1,则A(x)左移一位的结果与0x1B逐比特异或(异或运算符⊕)即为xtime(A(x))的值。(a7=1时,x*A(x)的值超出GF(28),需要 模P(x),结果为A(x) 左移一位的结果为(a6,a5,a4,a3,a2,a1,a0,0)与0x1B逐比特异或的值)

例题:

例题1:

设0x64∈GF(28),求xtime(0x64)的值?
0x64转换为二进制数为(0110 0100)2,最高位a7=0,所以0x64左移一位的结果就是所求值,(0110 0100)2左移一位后的值为(110 01000)2

例题2:

在GF(28)中计算0x57*0x13的结果?
先将166进制数转换为二进制数:0x57=(0101 0111)2,0x13=(0001 0011)2
将二进制数转换为多项式:0x13=x4+x+1
0x57*0x13=0x57*(x4+x+1)=0x57*x4+0x57*x+0x57
0x57*x就是xtime(0x57)=(1010 1110)2
0x57*x2就是xtime(0x57*x)=(0101 1100)+(0001 1011)=(0100 0111)2
同理0x57*x3=(10001110)2,,0x57*x4=(0000 0111)2
所以0x57*0x13=(00000111)2+(1010 1110)2+(0101 0111)2

密码学,有限域GF(2^8)乘法计算,不可约多项式为P(x)=x^8+x^4+x^3+x+1相关推荐

  1. 计算不可约多项式的阶

    前言:仅个人小记.这里直接讨论不可约多项式,仅简要交代计算不可约多项式的阶基本方法.具体还是要枚举.计算不可约多项式的阶显然有很多用处,其中一个就是可以根据不可约多项式的阶来判定该多项式是否是一个本原 ...

  2. matlab判断矩阵不可约,用Matlab计算二元域GF(2)上的不可约多项式

    1 二元域 GF(2) 上的不可约多项式 二元域 GF(2)={0,1} 上的运算规则如下: 加法:+ 0 1 0 0 1 1 1 0 乘法:⋅ 0 1 0 0 0 1 0 1 二元域 GF(2) 上 ...

  3. 应用密码学数学基础习题之设有限域GF(28)的不可约多项式为p(x)=x8+x4+x3+x+1

    题目:设有限域GF(28)的不可约多项式为p(x)=x8+x4+x3+x+1,写出多项式A(x)=x7+x4+x3+x2+x+1,B(x)=x6+x4+x2+x+1的二进制表示, 并求GF(28)的多 ...

  4. 密码学数论基础部分总结之 有限域GF(p) Galois Fields

    今天花了一下午的时间学习密码学的数论部分,下面将学到的内容进行一下总结,也算是加深记忆.我本身对密码学这方面比较感兴趣,而且本节出现了许多数学公式,使用刚刚学习的LaTex公式来呈现出来,练习练习,何 ...

  5. GF(2^8)的加法与乘法计算

    准备密码学考试的时候,看AES有GF(2^8)上面的计算,刚开始书上的计算方法,没太看懂,又看了看信息安全数学基础的课本,总结了一下在GF(2^8)域上的加法与乘法计算.我们以既约多项式(不可以分解为 ...

  6. matlab有限域多项式除法_有限域GF(2^8)的四则运算及拉格朗日插值

    域的性质: 群和域在数学上的概念就不解释,可以参考维基百科.当然也可以参考<密码编码学与网络安全>这书的有限域一章.形象地说,域有这样一个性质:在加法和乘法上具有封闭性.也就是说对域中的元 ...

  7. 有限域上的所有不可约多项式

    之前写过如何判断多项式是否不可约,已知分圆多项式都是有理数域上的不可约的整系数多项式.根据剩余类判别法,存在一些素域,使得分圆多项式在其上也是不可约的.那么,给定一个有限域,哪些分圆多项式是不可约的? ...

  8. 矩阵乘法计算速度再次突破极限,我炼丹能更快了吗?| 哈佛、MIT

    梦晨 发自 凹非寺 量子位 报道 | 公众号 QbitAI n阶矩阵乘法最优解的时间复杂度再次被突破,达到了. 按定义直接算的话,时间复杂度是O(n³). 光这么说可能不太直观,从图上可以看出,n足够 ...

  9. [转]高精度乘法计算

    转载自: Daywei 高精度乘法计算 高精度乘法计算基础 1.高精度浮点运算方法 高精度浮点(Floating Point,FP)运算可以转换成整数型运算.由于高精度浮点数可以看成是由整数部分(In ...

  10. 利用对位相乘法计算线性卷积-附Matlab代码

    目录 1.线性卷积原理 2.利用对位相乘法计算线性卷积 3.Matlab实操 3.1源代码 3.2仿真结果 线性卷积原理 公示(1)为两个离散非周期序列进行线性卷积 一般我们计算线性卷积时使用图解法最 ...

最新文章

  1. Android Studio(IDEA)太占系统盘?帮你移动下
  2. java怎么表示10 2_java -Xmx1G是否表示10 ^ 9或2 ^ 30字节?
  3. 【Qt】Qt之进程间通信(Windows消息)【转】
  4. java 取Blob转为String
  5. arch linux添加用户,Users and groups (简体中文)
  6. spark streaming python实例_kafka+spark streaming代码实例(pyspark+python)
  7. RuntimeError: all elements of input should be between 0 and 1
  8. DNS服务器配置图解过程(1)
  9. 开发人员最常用的 10 大容器安全工具
  10. Google Chrome OS
  11. PS照片换背景,证件照更换背景色
  12. C语言实现求两个数的和
  13. python实现最大公约数最小公倍数求法
  14. 【公开课】国内外公开课网址
  15. Kent Beck揭秘Facebook开发部署流程
  16. 如何确保网站的安全性
  17. 年轻人的第一次破产,从二次元开始
  18. 全国物流企业有哪些 物流企业详细信息怎么查询
  19. php二手房系统,phpwind房产新版上线 抢先体验二手房新功能
  20. 井字棋TicTacToe_01

热门文章

  1. 语音信号处理——视频转换音频(FFmpeg)mp4转wav
  2. IP地址 网关是什么?网络概念
  3. Representation Learning with Contrastive Predictive Coding 论文阅读笔记
  4. 学习QT一周做的小游戏-钢琴块
  5. UE4/UE5 python打包Pak和Runtime加载Pak
  6. 12款常用的Web服务器软件整理(windows+Linux)
  7. 5.GitHub pytorch sentiment analysis(Transformer版)
  8. Android WebView 图片加载不出来
  9. SysKey 和 SAM
  10. java modifier access_Java Modifier.getAccessSpecifier方法代码示例