On Thu, 27 Mar 2003, Sarad AV wrote:
> let X be a 32 bit vector
> X={X_(w -1),x_(w-2),..x_0}
These are the coefficients of a polynomial, and all the values are in
the set {0,1}.
> A=
> |1 0 . . |
> |0 . |
> |. . |
> |. . |
> |a_(w-1) a_(w-2)....a_0 |
These are known coefficients. All the a_j are in the set {0,1}.
> i.e A is an identity matrix w ith last row entries
> a_(w-1) a_(w-2)....a_0 which is again a 32 bit vector
>
> We multiply 1*w matrix X with w*w matrix to get a 1*w
> matrix as follows
>
> X*A=[X_(w-1)+ X_0*a_*(w-1) , X_(w-2)+
> X_(w-2)*a_(w-2),..., X_1+ X_1*a_1 ,
> X_0*a_0];
That doesn't look right. It should be X*A =
X_(w-1) + X_(w-2) + ... X_1 + X0*[a_(w-1) + a_(w-2) + ... + a_0]
> it is said- X*A can be calculated using bit wise
> operations as follows
>
> X*A
> =
> XOR {0 if the least significant bit of
> y=0;(multiplying A)
> XOR (a if the least significant bit of
> y=1;(multiplying A)
>
> how does this hold?
I think you are forgetting the polynomials that go along with all the
coefficients. It's not just X_(w-1), it's X_(w-1)*x^(w-1). Then you
check the last bit of X - if it's 0 all the terms of the last row of
A go away. If it's 1 then you just XOR all the A coefficients of the
last row (which obviously must be the specific coefficients of the
same degree of the polynomial) with X.
So these are coefficients of polynomials. Otherwise you end up with 1 bit
total. I don't think that's the right result :-)
Patience, persistence, truth,
Dr. mike