Phil Lucht Math & Physics Archive
Home / Math and Physics Files / Math / Scrambler / support

analysis of Galois iterator REVD

DOCX · 64.6 KB
Open DOCX file

Revised notes dated 8.29.13, written by Phil as support for his scrambler document. They trace the iterator from the circuit polynomial equation q'(x) = x q(x) - o h(x) + i, to the abstract form β' = αβ + i1, and to the matrix form q' = Bq + i1 with B as a primitive element. They discuss the mixed representation of field elements and how to map a remainder q(x) to a matrix power using the GF(2^3) enumeration table.

AI-written summary; may contain errors.

Extracted text (machine-read; may contain errors)
Analysis of the Galois Iterator PhL 8.29.13 I added the results of these notes as best I could to the Observations section of Section 3.2 item 6. The goal here is to interpret all stuff related to my "Galois iterator". From Section 2.2 we had these equations q'(x) = x q(x) - o h(x) + i . (2.2.4) {q'(x)} = {x}•{q(x)} - {o}• {h(x)} + {i} . {q'(x)} = {x}• {q(x)} + {i} . (2.2.13) α = {x} β = {q(x)} β' = {q'(x)} {i} = i{1} = i 1 . (2.2.14) β' = α • β + i1 = α β + i 1 . βs+1 = α βs + is 1 . (2.2.15) βs = αs β0 + [ αs-1 i0 + αs-2 i1 + .... + α is-2 + is-1 ] 1 (2.2.16) Discussion: The first equation comes right from the circuit where q(x) is a polynomial whose coefficients are the register values. Thus q(x) is a remainder polynomial and its coefficients are a k-tuple representation of a GF(pk) field element. I say β = {q(x)} in the sense of abstract β corresponds to this particular remainder under division by h(x). The association α = {x} makes α be a primitive element since h(x) is a prim poly and h({x}) = h(α) = 0 which I do state somewhere. The equals sign in β = {q(x)} represents an isomorphism of some sort as I show somewhere in GA, it is not a true equality. Here is a triple association which does not yet include my matrix thing: Then later I include the matrix Question: Given some q(x) remainder, what is the corresponding matrix Q ? Answer: This has to come from the enumeration table for GF(pk). The first powers are simple X0 {1} = 00001 X1 {x} = 00010 X2 {x2} = 00100 etc For example, for GF(23) I show that so in this case we can look up any q(x) in the m-tuple A2..A0 columns and see what Xn power it matches. For example, q(x) = 101 = x2 + 1 corresponds to X6. So at least I think I know how to go back and forth between power of the matrix X and the m-tuple representation So basically in Section 2.2 I start with a physical equation from the actual circuit which involves polys and I apply the special {...} operation to convert this to an abstract Galois field equation involving things like α and β and βs where s is just a time subscript (why didn't I use n for that? Well, I was using n as the order of α at that time. There are no bolded vectors in this section 2.2. There are only q(x) polynomials, but of course that does imply a vector. From Section 3.2 I again start with the physical circuit and I quickly come up with q'1 0 0 0 ... 0 -h0 q1 i q'2 1 0 0 ... 0 -h1 q2 0 q'3 0 1 0 ... 0 -h2 q3 0 q'4 = 0 0 1 ... 0 -h3 q4 + 0 ... .................................................................... ... .. q'k-1 0 0 0 ... 0 -hk-2 qk-1 0 q'k 0 0 0 ... 1 -hk-1 qk 0 (3.2.2) Now we can write this in compact vector/matrix notation as: q' = B q + i 1 (3.2.3) For the first time, I now have bolded vectors which represent GF(pk) elements in the k-tuple basis. And I also have the matrix B which is my primitive element. Compare q' = B q + i 1 matrix/vector form (3.2.3) q'(x) = x q(x) - o h(x) + i . physical equation in terms of polys (2.2.4) {q'(x)} = {x}• {q(x)} + i{1} remainder form (2.2.13) β' = α • β + i1 abstract form α = {x} β = {q(x)} β' = {q'(x)} {i} = i{1} = i 1 . (2.2.14) What is unusual here is that in the lower two forms, all Galois elements are of the same "type": they are all remainders, or they are all "abstract field elements". But in the first form, B is a matrix while q is a k-tuple so the field elements are on a different footing. This is just the way things come out and it is rather handy. I want to say that in this matrix/vector form we have B = a primitive element of GF(pk) in a matrix representation of GF(pk) q = an element of GF(pk) in a k-tuple representation of GF(pk) associated with poly coeffs Suppose q = (0,0...0,1,0) meaning q(x) = x. In this case we know that q = B in our equivalence equality and then we have q' = B q + i 1 = B B + i I = B2 + i I = some matrix element of GF(pk). OK, I think I need to modify the Observations following (3.2.5). AT least this is the section where I need to say whatever it is I want to say. OK, stop. I have done my best adding notes to the Observation section of scrambler doc Sec 3.2. It is just some weird mixed representation of the abstract Galois equation. I don't think there is more that one can say. At least I how have some "words" in there about this strange equation.