Itroductio to fiite fields II Fiite field of p elemets F Because we are iterested i doig computer thigs it would be useful for us to costruct fields havig elemets. Let s costruct a field of elemets; we will mimic the costructio of the itegers mod a prime p. We begi with the polyomials havig coefficiets from F ; i.e., each of the coefficiets of our polyomials is either 0 or 1. Select a polyomial of degree that is irreducible over F (i.e., it does ot factor ito polyomials of smaller degree havig coefficiets 0 ad 1). This irreducible polyomial correspods to the prime p. There are irreducibility tests for polyomials just as there are primality tests for itegers. For example, + + 1 is irreducible over F. By polyomial log divisio, divide each polyomial havig coefficiets 0 ad 1 by + + 1 ad take the remaider. What does the remaider look like? After divisio, the remaider is of degree less tha ; so, the remaider will look like x + where each coefficiet is either 0 or 1. So, there are possible remaiders: 0x + 0= 0, 0x + 1= 1, 1x + 0= x, ad 1x + 1= x + 1. These elemets form a field. Sometimes polyomials model real world situatios, ad is treated as a ukow for which we wat to solve. We wat to look at polyomials i a slightly differet way ow more of a abstract algebra way. We do ot care about solvig for the value of, we oly care about the polyomial itself. Thikig this way, a polyomial is determied by its coefficiets; the powers of are just used to separate the coefficiets. We could just as well thik of a polyomial as a vector where the compoets are the coefficiets; e.g., the four remaiders that we obtaied above could be writte as (0, 0), (0, 1), (1, 0), ad (1, 1). We will use these vectors as the elemets of our field of elemets rather tha the correspodig polyomials (but we will have to remember from time to time that they really are polyomials to make sese of multiplicatio). We could carry this oe more step. We are used to work with strigs of bits; so, we might replace the polyomials ad their correspodig vectors by the -bit strigs 00, 01, 10, 11.
So, we have the followig correspodeces: polyomial vector bit strig + 0 (0, 0) 00 + 1 (0, 1) 01 1 + 0 (1, 0) 10 1 + 1 (1, 1) 11 We will be thikig about bit strigs. We have always bee able to add (OR) strigs of bits, but we wat to come up with a way to multiply strigs of bits. The we ca apply some of the mathematical ideas that we used with the classical ciphers to strigs of bits. Additio of vectors To add (1, 0) ad (1, 1), we ca thik of addig the correspodig polyomials mod : + 0 + 1 + 1 Thikig of vectors, we just add the vectors mod : (1, 0) (1, 1) (0, 1) Or, i terms of -bit strigs: 10 11 01 which just correspods to ORig bits.
Here is the additio table for our field of elemets: + (0, 0) (0, 1) (1, 0) (1, 1) (0, 0) (0, 0) (0, 1) (1, 0) (1, 1) (0, 1) (0, 1) (0, 0) (1, 1) (1, 0) (1, 0) (1, 0) (1, 1) (0, 0) (0, 1) (1, 1) (1, 1) (1, 0) (0, 1) (0, 0) Multiplicatio of vectors To multiply, we must recall the polyomial origis of our operatios. To multiply ( 1, 0) (1, 1), we must multiply ( 1) + = + ad the go mod + + 1. By polyomial log divisio mod, we obtai ( ) + = 1 + + 1 + 1 Mod + + 1, this becomes (the remaider) 1. So, (1, 0) (1, 1) = (0, 1). Here is the multiplicatio table for our field of elemets. (0, 1) (1, 0) (1, 1) (0, 1) (0, 1) (1, 0) (1, 1) (1, 0) (1, 0) (1, 1) (0, 1) (1, 1) (1, 1) (0, 1) (1, 0)
F 8 3 To costruct a field of 8= elemets, we would eed to mod out by a irreducible polyomial of degree 3; the remaiders would look like + + where each coefficiet is either 0 or 1. To costruct a field of 16 = elemets, we would eed to mod out by a irreducible 3 polyomial of degree ; the remaiders would look like + + +. To costruct a field of bytes, we would eed to mod out by a irreducible polyomial of degree 8. Let s costruct a field of 8 elemets. We will use the polyomial + + 1, which is irreducible over. 3 3 The remaiders after divisio by 1 ax + bx + c : a, b, c F ; i.e., the remaiders look like 3-dimesioal vectors where each compoet is 0 or 1. Or, we could thik of the remaiders as beig 3-bit strigs. Additio is ORig bits. F + + look like { } Additio (0, 0, 0) (0, 0,1) (0,1, 0) (1, 0, 0) (1, 0,1) (1,1,1) (0,1,1) (1,1, 0) (0,0,0) (0,0,0) (0,0,1) (0,1,0) (1,0,0) (1,0,1) (1,1,1) (0,1,1) (1,1,0) (0, 0,1) (0, 0,1) (0, 0, 0) (0,1,1) (1, 0,1) (1, 0, 0) (1,1, 0) (0,1, 0) (1,1,1) (0,1, 0) (0,1, 0) (0,1,1) (0, 0, 0) (1,1, 0) (1,1,1) (1, 0,1) (0, 0,1) (1, 0, 0) (1, 0, 0) (1, 0, 0) (1, 0,1) (1,1, 0) (0, 0, 0) (0, 0,1) (0,1,1) (1,1,1) (0,1, 0) (1,0,1) (1,0,1) (1,0,0) (1,1,1) (0,0,1) (0,0,0) (0,1,0) (1,1,0) (0,1,1) (1,1,1) (1,1,1) (1,1,0) (1,0,1) (0,1,1) (0,1,0) (0,0,0) (1,0,0) (0,0,1) (0,1,1) (0,1,1) (0,1,0) (0,0,1) (1,1,1) (1,1,0) (1,0,0) (0,0,0) (1,0,1) (1,1,0) (1,1,0) (1,1,1) (1,0,0) (0,1,0) (0,1,1) (0,0,1) (1,0,1) (0,0,0)
Multiplicatio is polyomial multiplicatio modulo + + 1. 3 Multiplicatio (0,0,1) (0,1,0) (1,0,0) (1,0,1) (1,1,1) (0,1,1) (1,1,0) (0,0,1) (0,0,1) (0,1,0) (1,0,0) (1,0,1) (1,1,1) (0,1,1) (1,1,0) (0,1,0) (0,1,0) (1,0,0) (1,0,1) (1,1,1) (0,1,1) (1,1,0) (0,0,1) (1, 0, 0) (1, 0, 0) (1, 0,1) (1,1,1) (0,1,1) (1,1, 0) (0, 0,1) (0,1, 0) (1,0,1) (1,0,1) (1,1,1) (0,1,1) (1,1,0) (0,0,1) (0,1,0) (1,0,0) (1,1,1) (1,1,1) (0,1,1) (1,1,0) (0,0,1) (0,1,0) (1,0,0) (1,0,1) (0,1,1) (0,1,1) (1,1,0) (0,0,1) (0,1,0) (1,0,0) (1,0,1) (1,1,1) (1,1,0) (1,1,0) (0,0,1) (0,1,0) (1,0,0) (1,0,1) (1,1,1) (0,1,1) F 16 The simplified AES we cosidered uses a field of 16 elemets obtaied by goig modulo the irreducible polyomial + + 1. For example, (1, 0, 1, 1) + (0, 1, 1, 0) = (1, 1, 0, 1) ad (1, 0, 1, 1) (1, 1, 0, 1) = (0, 1, 1, 0) Although E.H. Moore proved that for each p, p prime, there is a uique fiite field of p elemets, the uiqueess is up to isomorphism a algebraic term. Additio is the same for all fiite fields of p elemets; it is just additio modulo p. But, multiplicatio of two elemets of the field depeds o the irreducible polyomial that is used as the modulus.