Содержащем 256 элементов.
Элементы поля представлены многочленами
Function SlowMulGF256(a,b,f: byte): byte; // Для // Вспомогательная процедура умножения в // NB. Var t,mask: byte; i:integer; Begin t:= 0; mask:= 1; for i:= 0 to 7 do Begin if (b and mask)<>0 then t:=t xor a; if (a and 128)= 0 then a:=a shl 1 else a:=(a shl 1) xor f; mask:= mask shl 1; end; SlowMulGF256:= t; End;
Function SlowPowerGF256 (a,b,f: byte): byte; // Возведение в степень: возвращает // Возведение в степень в поле F256=F2[x]/f(x). Var c: byte; Begin c:= 1;
|