If we multiply (yi = p1ei1 p2ei2 ...) by (yj = p1ej1 p2ej2 ...) we get
(yiyj = p1ei1+ej1 p2ei2+ej2 ...)
If we gather the parities of the exponents of the successive primes into a bit string we get a vector in our vector space. Addition of these vectors corresponds to multiplication of the y’s. Each y yields such a vector. If we can find a subset of the vectors whose vector sum is zero, then the corresponding subset of y’s will multiply out to a product of primes where all of the prime exponents will be even. This allows us to learn the square root of this number. (Halve each exponent and multiply again.)
Finding this subset of vectors is like solving a set of linear equations. The field of rationals are where we solve linear equations with rational coefficients. GF(2) is where we solve above problem, substituting bits for rationals or floating point numbers
Solving linear equations is the same in any field. Actually it is easier here for there are no problems with illconditioned matrices.