CINTA_EXT_01
CINTA拓展作业一
GF乘法逆元及求逆元操作
定义集合\(GF=\{0,1\}^8\),即所有8比特长的二进制串集合。定义集合\(GF\)上的加法、乘法如下:
— 加法等同于异或,即任取\(a,b\in GF,a+b\doteq a\oplus b\)。
— 乘法置定义乘2 的运算。任取\(a\in GF\),如果\(a\)的最高比特为0,则\(a*2\doteq a<<1\)(左移一个比特)。如果\(a\)的最高比特为1,则\(a*2\doteq (a<<1)\oplus0x1B\),也就是说,左移一个比特之后再异或一个八比特的十六进制值\(0x1B\)。当然,\(a*0\doteqa*2+a\),由此可以得到\(GF\)中任意值的乘法,回顾一下\(Simple-Mul\)的过程。
1、编写程序完成任意\(GF\)中元素的乘法。
# 实现GF中元素乘2的函数 |
2、请写一个程序GF_inverse完成求逆任务。
def |