有限域上运算的实现(2)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
m( x ) = x + x + x + x + 1
上面定义的乘法在GF (28 )上满足结合律,且有一个本原元 上满足结合律, (‘02’)。 )。
8) GF(2
不可约多项式
f(x)=x8+x6+x5+x+1
本原元
“02”,即“x” 02”
指数对数表的建立
利用多项式基表示,计算出所有的“02”的 利用多项式基表示,计算出所有的“02” 方幂,得到指数表, 方幂,得到指数表,然后再反排序得到对 数表 计算乘法时,先利用对数表查出两个元素 计算乘法时, 对应的对数,然后将对数相加, 对应的对数,然后将对数相加,再查指数 表得出结果 求逆为255求逆为255-i
耗时较大,无需额外的存储,求逆需要采用扩 耗时较大,无需额外的存储, 展的欧几里得算法
乘法表
效率高, 效率高,需要储存乘法表
指数对数表
效率高,但比乘法表所需查表次数多两次, 效率高,但比乘法表所需查表次数多两次,表 的大小比乘法表小很多, 的大小比乘法表小很多,求逆很方便
GF(28)
定义一个由 组成的字节b可表示为系数为 可表示为系数为{0, 定义一个由b7b6b5b4b3b2b1b0 组成的字节 可表示为系数为 , 1}的二进制多项式: 的二进制多项式: 的二进制多项式
有限域上的运算实现
有限域上元素的表示形式
有限域GF(p 有限域GF(pn) 多项式基 α 是n次不可约多项式f(x)在域GF(pn)中的一个根, 次不可约多项式f(x)在域 在域GF(p 中的一个根, 则GF(pn)中的元素可表示为
GF ( p n ) = {an −1α n −1 + an − 2α n − 2 + L + a1α + a0 | ai ∈ GF ( p ), f (α ) = 0}
思考
GF(216)乘法如何实现? 乘法如何实现?
模16次不可约多项式? 16次不可约多项式 次不可约多项式? 乘法表? 乘法表? 指数对数表? 指数对数表?
利用上面的方法,可利用GF(28)域上的指数 利用上面的方法,可利用GF(2 对数表来实现GF(2 中元素的乘法。 对数表来实现GF(216)中元素的乘法。
b7 x 7 + b6 x 6 + b5 x 5 + b4 x 4 + b3 x 3 + b2 x 2 + b1 x + b0
还可以将每个字节表示为一个16进制数,即每4比特表示 还可以将每个字节表示为一个 进制数,即每 比特表示 进制数 为一个16进制数 代表较高位的4比特的符号仍在左 进制数, 为一个 进制数,代表较高位的 比特的符号仍在左 例如,01101011可表示为 可表示为6B。 边。例如,01101011可表示为6B。它们之间的运算为 中的运算。 GF (28 ) 中的运算。 8 定义在 上的加法定义为二进制多项式的加法, 定义在 GF (2 )上的加法定义为二进制多项式的加法,且其 系数模2。 系数模 。 GF (28 上的乘法(用符号 表示)定义为二进制多 ) 上的乘法(用符号·表示 表示) 定义 在 项式的乘积模一个次数为8的不可约二进制多项式 的不可约二进制多项式, 项式的乘积模一个次数为 的不可约二进制多项式,此 不可约多项式为(十六进制为‘ 不可约多项式为8 十六进制为‘163’) ( 6 5 )
有限域上元素的表示形式( 有限域上元素的表示形式(续)
指数表示法 α 是GF(pn)中的一个本原元(乘法群的生成 中的一个本原元( ),则 元),则GF(pn)中的元素可以表示为
GF ( p ) = {0, α = 1, α , α ,K , α
n 0 1 2
pn −2
百度文库
}
有限域上乘法的实现
模不可约多项式法
上面定义的乘法在GF (28 )上满足结合律,且有一个本原元 上满足结合律, (‘02’)。 )。
8) GF(2
不可约多项式
f(x)=x8+x6+x5+x+1
本原元
“02”,即“x” 02”
指数对数表的建立
利用多项式基表示,计算出所有的“02”的 利用多项式基表示,计算出所有的“02” 方幂,得到指数表, 方幂,得到指数表,然后再反排序得到对 数表 计算乘法时,先利用对数表查出两个元素 计算乘法时, 对应的对数,然后将对数相加, 对应的对数,然后将对数相加,再查指数 表得出结果 求逆为255求逆为255-i
耗时较大,无需额外的存储,求逆需要采用扩 耗时较大,无需额外的存储, 展的欧几里得算法
乘法表
效率高, 效率高,需要储存乘法表
指数对数表
效率高,但比乘法表所需查表次数多两次, 效率高,但比乘法表所需查表次数多两次,表 的大小比乘法表小很多, 的大小比乘法表小很多,求逆很方便
GF(28)
定义一个由 组成的字节b可表示为系数为 可表示为系数为{0, 定义一个由b7b6b5b4b3b2b1b0 组成的字节 可表示为系数为 , 1}的二进制多项式: 的二进制多项式: 的二进制多项式
有限域上的运算实现
有限域上元素的表示形式
有限域GF(p 有限域GF(pn) 多项式基 α 是n次不可约多项式f(x)在域GF(pn)中的一个根, 次不可约多项式f(x)在域 在域GF(p 中的一个根, 则GF(pn)中的元素可表示为
GF ( p n ) = {an −1α n −1 + an − 2α n − 2 + L + a1α + a0 | ai ∈ GF ( p ), f (α ) = 0}
思考
GF(216)乘法如何实现? 乘法如何实现?
模16次不可约多项式? 16次不可约多项式 次不可约多项式? 乘法表? 乘法表? 指数对数表? 指数对数表?
利用上面的方法,可利用GF(28)域上的指数 利用上面的方法,可利用GF(2 对数表来实现GF(2 中元素的乘法。 对数表来实现GF(216)中元素的乘法。
b7 x 7 + b6 x 6 + b5 x 5 + b4 x 4 + b3 x 3 + b2 x 2 + b1 x + b0
还可以将每个字节表示为一个16进制数,即每4比特表示 还可以将每个字节表示为一个 进制数,即每 比特表示 进制数 为一个16进制数 代表较高位的4比特的符号仍在左 进制数, 为一个 进制数,代表较高位的 比特的符号仍在左 例如,01101011可表示为 可表示为6B。 边。例如,01101011可表示为6B。它们之间的运算为 中的运算。 GF (28 ) 中的运算。 8 定义在 上的加法定义为二进制多项式的加法, 定义在 GF (2 )上的加法定义为二进制多项式的加法,且其 系数模2。 系数模 。 GF (28 上的乘法(用符号 表示)定义为二进制多 ) 上的乘法(用符号·表示 表示) 定义 在 项式的乘积模一个次数为8的不可约二进制多项式 的不可约二进制多项式, 项式的乘积模一个次数为 的不可约二进制多项式,此 不可约多项式为(十六进制为‘ 不可约多项式为8 十六进制为‘163’) ( 6 5 )
有限域上元素的表示形式( 有限域上元素的表示形式(续)
指数表示法 α 是GF(pn)中的一个本原元(乘法群的生成 中的一个本原元( ),则 元),则GF(pn)中的元素可以表示为
GF ( p ) = {0, α = 1, α , α ,K , α
n 0 1 2
pn −2
百度文库
}
有限域上乘法的实现
模不可约多项式法