AES算法相关数学知识 - 素域学习
在AES算法中的MixColumn层中会用到伽罗瓦域中的乘法运算,而伽罗瓦域的运算涉及一些数学知识如下;
素域
有限域有时也称伽罗瓦域,它指的是由有限个元素组成的集合,在这个集合内可以执行加、减、乘和逆运算。而在密码编码学中,我们只研究拥有有限个元素的域,也就是有限域。域中包含元素的个数称为域的阶。
只有当m是一个素数幂时,即m=pn(其中n为正整数是p的次数,p为素数),阶为m的域才存在。p称为这个有限域的特征。也就是说,有限域中元素的个数可以是11(p=11是一个素数,n=1)、可以是81(p=3是一个素数,n=4)、也可以是256(p=2是一个素数,n=8).....但有限域的中不可能拥有12个元素,因为12=2·2·3,因此12也不是一个素数幂。
有限域中最直观的例子就是阶为素数的域,即n=1的域。的元素可以用整数0、1、...、p-1l来表示。域的两种操作就是模整数加法和整数乘法模p。加上p是一个素数,整数环Z表示为GF(p),也成为拥有素数个元素的素数域或者伽罗瓦域。GF(p)中所有的非零元素都存在逆元,GF(p)内所有的运算都是模p实现的。
素域内的算数运算规则如下:
(1)加法和乘法都是通过模p实现的;
(2)任何一个元素a的加法逆元都是由a+(a的逆元)=0 mod p得到的;
(3)任何一个非零元素a的乘法逆元定义为a·a的逆元=1。
例:在素域GF(5)={0、1、2、3、4}中,2的加法逆元为3,这是因为2+(3)=5,5mod5=0,所以2+3=5mod5=0。2的乘法逆元为3,这是因为2·3=6,6mod5=1,所以2·3=6mod5=1。(在很多地方a的加法逆元用-a表示,a的乘法逆元用1/a表示)
注:GF(2)是一个非常重要的素域,也是存在的最小的有限域,由于GF(2)的加法,即模2加法与异或(XOR)门等价,GF(2)的乘法与逻辑与(AND)门等价,所以GF(2)对AES非常重要。
先了解一下;还不能编码;概念还未理解完;AES是DES的继任者;
AES算法相关数学知识 - 素域学习相关推荐
- FE之DR之线性降维:PCA/白化、LDA算法的数学知识(协方差矩阵)、相关论文、算法骤、代码实现、案例应用等相关配图之详细攻略
FE之DR之线性降维:PCA/白化.LDA算法的数学知识(协方差矩阵).相关论文.算法骤.代码实现.案例应用等相关配图之详细攻略 目录 PCA 1.PCA的数学知识 1.协方差矩阵计算 2.PCA算法 ...
- 前端面试:你应该了解的JS算法相关的知识
前端面试:你应该了解的JS算法相关的知识 时间复杂度 通常使用最差的时间复杂度来衡量一个算法的好坏. 常数时间 O(1) 代表这个操作和数据量没关系,是一个固定时间的操作,比如说四则运算. 对于一个算 ...
- 熬了几个通宵,终于把初中到大学的数学知识梳理完了(学习算法必备数学知识)
作者简介:阿里巴巴高级技术专家,一直关注前端和机器学习邻域相关技术,在知乎和微信公众号的"全栈深入"分享深度硬核技术文章. 下面的基础数学知识涉及很多数学公式,这些公式编辑起来累S ...
- 人工智能的学习,需要学习哪些算法和数学知识呢?需要什么学历?
https://www.toutiao.com/a6661754579887063566/ 根据<人工智能影响力报告>显示: 人工智能科学家主要毕业于清华大学.中国科学院.中国科技大学.麻 ...
- 算法基础课-数学知识
数学知识 第四章 数学知识 数论 质数 约数 欧拉函数 欧拉定理与费马小定理 拓展欧几里得定理 裴蜀定理 中国剩余定理 快速幂 高斯消元 求组合数 卡特兰数 容斥原理 博弈论 Nim游戏 SG函数 第 ...
- (图形学相关数学知识)-2.对基本概念的理解(一)
总览 总结一些在图形学中经常用到的线性代数基本概念. 主要涉及: 标量, 向量, 位置, 方向, 坐标, 矩阵, 线性变换, 线性相关, 平移, 旋转, 缩放, 仿射变换, 齐次坐标等. 标量(数字) ...
- 一元线性回归分析一和 相关数学知识的定义
一元线性回归定义 一元线性回归分析预测法,是根据自变量x和因变量Y的相关关系,建立X与Y的线性回归方程进行预测的方法.由于市场现象一般是受多种因素的影响,而并不是仅仅受一个因素的影响.所以应用一元线性 ...
- acwing算法基础课数学知识关于质数的笔记
质数 1.质数和合数是针对所有大于1的 "自然数" 来定义的(所有小于等于1的数都不是质数). 2.所有小于等于1的整数既不是质数也不是合数. 3.质数和素数都是同一种性质,只是叫 ...
- 【算法,数学知识】曼哈顿距离
关于曼哈顿距离,假设有两个点 那么曼哈顿距离就是: 这个曼哈顿距离是一个交叉信息项,也就是知道一个点,是无法求出这个值的.也就是需要 O(N ^ 2). 那么如何降低求的时间复杂度呢,曼哈顿距离有一个 ...
最新文章
- COGS 2769. mk去撸串
- java如何重写_java中如何重写一个方法
- Javascript日期时间总结
- mysql定位前后端问题_Web 前后端分离的意义大吗?
- Python 一路走来 Django
- 来领.NET Core学习资料,7天整理了30多个G(适合各阶段.Net开发者)
- python运行游戏是否需要pygame_用Python和Pygame写游戏-从入门到放弃(1)
- 独立站运营模式怎么选择?
- Mybatis注解的方式,如何实现MySQL ,update后,返回更新后的值
- 复购分析实践中,Pandas 遇到了大难题
- 库克谈“唱衰苹果”:一派胡言!
- Tag标签的增加和删除功能
- Java Applet及其应用
- 计算机常用单位的换算方法,常用单位的换算(含温度长度计算机单位面积以及数量含义).doc...
- 五、BD09(百度坐标系)
- 100个java项目_我如何在100天内建立​​100个项目
- 如何在C#中将 加载、编辑WPS表格?国产控件就能搞定
- 风影ASP.NET基础教学 10 DetilsView
- HBASE从入门到精通
- 周虽旧邦,其命维新(学习日志)