1 个不稳定版本
0.1.0 | 2022年12月27日 |
---|
#537 in 科学
33KB
736 行
galois_field_2pm
这是一个Rust库,用于表示和执行2^M大小的伽罗瓦域元素的算术。
此库支持GF(2^M)中的元素加法、减法、乘法、除法和求逆运算,其中2 ≤ M ≤ 127。支持两种实现。实现方式影响乘法、除法和求逆的计算方式。第一种实现使用查找表,而第二种实现使用扩展欧几里得算法。
表示伽罗瓦域
GF(2^M)同构于 ${GF(2)[x] \over p(x)}$,其中p(x)是GF(2)上的M次不可约多项式。因此,GF(2^M)的元素可以唯一地映射到小于M次的GF(2)多项式。为了表示所有小于M次的GF(2)多项式,需要M位。
实现
查找表实现仅适用于p(x)是度数小于或等于16的原始多项式时。另一种实现将支持任何度数不超过127的不可约多项式。