AES-Rijndael有限域(Galois Field)GF(2^8)运算的介绍与实现(PHP版)

1.前言

最近做微信小程序开发,小程序里面对敏感数据的加密采用了 AES -128-CBC的对称加密方式。所以想写一篇介绍AES-Rijndael算法的文章,此篇文章为AES作铺垫,因为它的列混淆算法的运算操作用到了有限域的概念。

成都创新互联公司是一家集网站建设,梅里斯企业网站建设,梅里斯品牌网站建设,网站定制,梅里斯网站建设报价,网络营销,网络优化,梅里斯网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

2.有限域的介绍

Galois Field 在国内有两个翻译别名:伽罗华域、伽罗瓦域(我也不知道为什么没能统一一个翻译)。在数学中,有限域是一个包含有限元素的域。通过GF(2^M)来表示域中含有2^M个元素。每一个域中有多个本原多项式,当M=8时,常见的本原多项式为P(x)=x^8+x^4+x^3+x^2+1,AES中的本原多项式为不可约多项式(irreducible polynomial):P(x)=x^8+x^4+x^3+x^1+1。

3. 有限域的加法与乘法运算

有限域中的运算方式需要先把数值转化成多项式的形式,然后再进行相关运算。其中加法操作可以直接进行运算。
当前题目:AES-Rijndael有限域(Galois Field)GF(2^8)运算的介绍与实现(PHP版)
文章起源:http://azwzsj.com/article/dsogohd.html