{VERSION 5 0 "IBM INTEL NT" "5.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 1 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 1 }{CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 1 } {PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Warning" -1 7 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 2 2 2 2 2 1 1 1 3 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Error" -1 8 1 {CSTYLE "" -1 -1 "Courie r" 1 10 255 0 255 1 2 2 2 2 2 1 1 1 3 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 } {PSTYLE "Maple Output" -1 11 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 3 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Maple Outpu t" -1 12 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 } 1 3 0 0 0 0 1 0 1 0 2 2 0 1 }} {SECT 0 {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 241 "num2poly := proc(n)\nlocal i,a,p,t emp, carry, test;\n\na := 0;\n\ntemp := n;\ni:=1;\nwhile temp<>0 do\n p := irem(temp,2);\n if (p <> 0 ) then\n a := a + t^(i- 1);\n fi; \n temp := iquo(temp,2);\n i := i+1;\nod;\nretu rn(a); \nend;" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%)num2polyGf*6#%\"nG 6(%\"iG%\"aG%\"pG%%tempG%&carryG%%testG6\"F/C'>8%\"\"!>8'9$>8$\"\"\"?( F/F9F9F/0F5F3C&>8&-%%iremG6$F5\"\"#@$0F>F3>F2,&F2F9)%\"tG,&F8F9F9!\"\" F9>F5-%%iquoGFA>F8,&F8F9F9F9OF2F/F/F/" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 279 "bin2poly := proc(word, wsize)\nlocal temp,i;\n\ntemp := 0;\nfor i to wsize do\n temp := temp + word[i]*t^(i-1);\nod;\n return temp;\nend;\n\npoly2bin := proc(poly, pdeg)\nlocal temp,i;\n\nt emp := array(1..pdeg+1);\nfor i to pdeg+1 do\n temp[i] := coeff(po ly,t,i-1);\nod;\nreturn temp;\nend;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #>%)bin2polyGf*6$%%wordG%&wsizeG6$%%tempG%\"iG6\"F,C%>8$\"\"!?(8%\"\" \"F39%%%trueG>F/,&F/F3*&&9$6#F2F3)%\"tG,&F2F3F3!\"\"F3F3OF/F,F,F," }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%)poly2binGf*6$%%polyG%%pdegG6$%%temp G%\"iG6\"F,C%>8$-%&arrayG6#;\"\"\",&9%F4F4F4?(8%F4F4F5%%trueG>&F/6#F8- %&coeffG6%9$%\"tG,&F8F4F4!\"\"OF/F,F,F," }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 649 "vec2num := proc(n_vec, n_sz)\nlocal i,a,size_n,p,tem p, carry, test; \n\na := array(1..n_sz);\n\ntemp := 0;\ni:=1;\nfor i t o n_sz do\n temp := temp + n_vec[i]*2^(i-1);\nod;\n#print(temp);\n# print(convert(temp,binary)); \nreturn(temp); \nend;\n\nnum2vec := proc (n, n_sz)\nlocal i,a,size_n,p,temp, carry, test;\n\na := array(1..n_sz );\n\ntemp := n;\ni:=1;\nfor i to n_sz do\n p := irem(temp,2);\n \+ a[i] := p;\n temp := iquo(temp,2);\nod;\nreturn(a); \nend;\n\nnum2 vec_5 := proc(n, n_sz)\nlocal i,a,size_n,p,temp, carry, test;\n\na := \+ array(1..n_sz);\n\ntemp := n-1;\ni:=1;\nfor i to n_sz do\n p := ire m(temp,5);\n a[i] := p+1;\n temp := iquo(temp,5);\nod;\nreturn(a ); \nend;\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%(vec2numGf*6$%&n_vecG %%n_szG6)%\"iG%\"aG%'size_nG%\"pG%%tempG%&carryG%%testG6\"F1C'>8%-%&ar rayG6#;\"\"\"9%>8(\"\"!>8$F9?(F?F9F9F:%%trueG>F<,&F%(num2 vecGf*6$%\"nG%%n_szG6)%\"iG%\"aG%'size_nG%\"pG%%tempG%&carryG%%testG6 \"F1C'>8%-%&arrayG6#;\"\"\"9%>8(9$>8$F9?(F?F9F9F:%%trueGC%>8'-%%iremG6 $F<\"\"#>&F46#F?FD>F<-%%iquoGFGOF4F1F1F1" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%*num2vec_5Gf*6$%\"nG%%n_szG6)%\"iG%\"aG%'size_nG%\"pG%%tempG%& carryG%%testG6\"F1C'>8%-%&arrayG6#;\"\"\"9%>8(,&9$F9F9!\"\">8$F9?(FAF9 F9F:%%trueGC%>8'-%%iremG6$F<\"\"&>&F46#FA,&FFF9F9F9>F<-%%iquoGFIOF4F1F 1F1" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 219 "setzero := proc()\n local i,j,k,f_coef;\n\nf_coef := array(1..N,1..N,1..Ni);\n\nfor i from 1 to N do\n for j from 1 to N do\n for k from 1 to Ni do\n \+ f_coef[i,j,k] := 0;\n od; \n od;\nod;\nreturn (f_coef);\ne nd;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%(setzeroGf*6\"6&%\"iG%\"jG%\" kG%'f_coefGF&F&C%>8'-%&arrayG6%;\"\"\"%\"NGF2;F3%#NiG?(8$F3F3F4%%trueG ?(8%F3F3F4F9?(8&F3F3F6F9>&F.6%F8F;F=\"\"!OF.F&F&F&" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 174 "setzero2 := proc()\nlocal i,j,k,f_coef;\n \nf_coef := array(1..N,1..N);\n\nfor i from 1 to N do\n for j from 1 to N do\n f_coef[i,j] := 0; \n od;\nod;\nreturn (f_coef);\n end;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%)setzero2Gf*6\"6&%\"iG%\"jG% \"kG%'f_coefGF&F&C%>8'-%&arrayG6$;\"\"\"%\"NGF2?(8$F3F3F4%%trueG?(8%F3 F3F4F7>&F.6$F6F9\"\"!OF.F&F&F&" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 466 "map_prism := proc(n)\nlocal i,j,k,a,p,temp, carry, test, Base ;\n\na := array(1..N,1..N,1..Ni);\n\nBase := 2^4;\ntemp := n;\ncarry : = 0;\n\nfor i to N do\n for j to N do\n for k to Ni do\n \+ a[i,j,k] := 0;\n od;\n od;\nod;\n\nfor i to N do\n for j to N do\n for k to Ni do\n p := irem(temp,Base); \n \+ #print(convert(p,binary));\n temp := iquo(temp,Base);\n \+ a[i,j,k] := num2poly(p,4);\n od;\n od;\nod;\n#print(a);\nret urn(a); \nend;" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%*map_prismGf*6#%\" nG6+%\"iG%\"jG%\"kG%\"aG%\"pG%%tempG%&carryG%%testG%%BaseG6\"F2C)>8'-% &arrayG6%;\"\"\"%\"NGF9;F:%#NiG>8,\"#;>8)9$>8*\"\"!?(8$F:F:F;%%trueG?( 8%F:F:F;FI?(8&F:F:F=FI>&F56%FHFKFMFF?(FHF:F:F;FI?(FKF:F:F;FI?(FMF:F:F= FIC%>8(-%%iremG6$FBF?>FB-%%iquoGFY>FO-%)num2polyG6$FV\"\"%OF5F2F2F2" } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 244 "map_num := proc(n_cube)\n local i,j,k,sum, Base;\n\nBase := 2^4;\n\nsum := 0;\nfor i to N do\n \+ for j to N do\n for k to Ni do\n sum := sum + 16^((i-1)* Ni*N + (j-1)*Ni + k-1)*subs(t=2,n_cube[i,j,k]); \n od;\n od;\no d;\nreturn(sum); \nend;" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%(map_numG f*6#%'n_cubeG6'%\"iG%\"jG%\"kG%$sumG%%BaseG6\"F.C&>8(\"#;>8'\"\"!?(8$ \"\"\"F8%\"NG%%trueG?(8%F8F8F9F:?(8&F8F8%#NiGF:>F4,&F4F8*&)F2,**(,&F7F 8F8!\"\"F8F?F8F9F8F8*&,&FF8F8FGF8-%%subsG6$/%\"tG\"\" #&9$6%F7FF8F8OF4F.F.F." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 590 "perm_initial := proc(m_prism)\nlocal i,j,k,ti,tj,p_prism,tmp;\n\n p_prism := array(1..N, 1..N, 1..Ni);\n\n# set the random permutation\n for i from 1 to N do\n for j from 1 to N do\n for k from 1 to N i do\n p_prism[i,j,k] := Ni*N*(i-1) + Ni*(j-1) + k;\n od; \n od;\nod;\nprint(p_prism);\n\nfor i from 1 to N do\n for j from 1 to N do\n for k from 1 to Ni do\n tmp := subs(t=2, m_prism[i,j,k ]);\n ti := irem(tmp,4) + 1;\n tj := iquo(tmp,4) + 1; \n \+ tmp := p_prism[i,j,k];\n p_prism[i,j,k] := p_prism[ti,tj,k];\n \+ p_prism[ti,tj,k] := tmp;\nod;od;od;\n\nreturn p_prism;\n\nend;" }} {PARA 12 "" 1 "" {XPPMATH 20 "6#>%-perm_initialGf*6#%(m_prismG6)%\"iG% \"jG%\"kG%#tiG%#tjG%(p_prismG%$tmpG6\"F0C'>8)-%&arrayG6%;\"\"\"%\"NGF7 ;F8%#NiG?(8$F8F8F9%%trueG?(8%F8F8F9F>?(8&F8F8F;F>>&F36%F=F@FB,(*(,&F=F 8F8!\"\"F8F;F8F9F8F8*&,&F@F8F8FIF8F;F8F8FBF8-%&printG6#F3?(F=F8F8F9F>? (F@F8F8F9F>?(FBF8F8F;F>C(>8*-%%subsG6$/%\"tG\"\"#&9$FE>8',&-%%iremG6$F T\"\"%F8F8F8>8(,&-%%iquoGF\\oF8F8F8>FTFD>FD&F36%FhnF_oFB>FeoFTOF3F0F0F 0" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8146 "dim3_fft := proc(tim e_coef, p_prism)\nlocal f_coef,temp,i,j,k,l,tmp_coef, idx, sc_plane, n xt_sc_plane, sc_plane_L, sc_plane_H;\nglobal N, Modulus;\n\nf_coef := \+ array(1..N, 1..N, 1..Ni); \n\nsc_plane := array(1..N,1..Ni);\nsc_pla ne2_L := array(1..N,1..N);\nsc_plane2_H := array(1..N,1..N);\nsc_plane 1 := array(1..N,1..N);\n\nf_coef := setzero();\n\n\n# choose and set t he swap control plane through k-axis\nplane_idx := 1;\nplane_idx1 := 5 ;\n\nfor i from 1 to N do\n for j from 1 to N do\n sc_plane1[i, j] := time_coef[i,j,plane_idx] + time_coef[i,j,plane_idx1] mod 2; \n \+ sc_plane2_L[i,j] := time_coef[i,j,plane_idx+1]; \n sc_pl ane2_H[i,j] := time_coef[i,j,plane_idx1+1];\n od; \nod;\n\nprint(\"s c_plane1\",sc_plane1);\nprint(\"sc_plane2_L\",sc_plane2_L);\nprint(\"s c_plane2_H\",sc_plane2_H);\n\n#print(plane_idx,\"1\",p_prism);\n\nfor \+ i from 1 to N do\n for j from 1 to N do\n # sc1 (swap-1) \n if \+ (coeff(sc_plane1[i,j],t,0) = 0) then\n tmp := p_prism[i,j,1]; \n p_prism[i,j,1] := p_prism[i,j,8];\n p_prism[i,j,8] \+ := tmp;\n fi;\n # sc1 (swap-2) \n if (coeff(sc_plane1[i,j] ,t,1) = 0) then\n tmp := p_prism[i,j,2];\n p_prism[i,j ,2] := p_prism[i,j,7];\n p_prism[i,j,7] := tmp;\n fi;\n \+ # sc1 (swap-3) \n if (coeff(sc_plane1[i,j],t,2) = 0) then\n \+ tmp := p_prism[i,j,3];\n p_prism[i,j,3] := p_prism[i,j,6]; \n p_prism[i,j,6] := tmp;\n fi;\n # sc1 (swap-4) \n \+ if (coeff(sc_plane1[i,j],t,3) = 0) then\n tmp := p_prism[i,j ,4];\n p_prism[i,j,4] := p_prism[i,j,5];\n p_prism[i,j ,5] := tmp;\n fi;\n\n # sc2_L (swap-1) \n if (coeff(sc_pl ane2_L[i,j],t,0) = 0) then\n tmp := p_prism[i,j,1];\n \+ p_prism[i,j,1] := p_prism[i,j,2];\n p_prism[i,j,2] := tmp;\n \+ fi;\n # sc2_L (swap-2) \n if (coeff(sc_plane2_L[i,j],t,1) = 0) then\n tmp := p_prism[i,j,3];\n p_prism[i,j,3] := \+ p_prism[i,j,4];\n p_prism[i,j,4] := tmp;\n fi;\n # sc2 _H (swap-1) \n if (coeff(sc_plane2_H[i,j],t,0) = 0) then\n \+ tmp := p_prism[i,j,5];\n p_prism[i,j,5] := p_prism[i,j,6];\n \+ p_prism[i,j,6] := tmp;\n fi;\n # sc2_H (swap-2) \n \+ if (coeff(sc_plane2_H[i,j],t,1) = 0) then\n tmp := p_prism[i, j,7];\n p_prism[i,j,7] := p_prism[i,j,8];\n p_prism[i, j,8] := tmp;\n fi;\n # sc2_L (swap-3) \n if (coeff(sc_plan e2_L[i,j],t,2) = 0) then\n tmp := p_prism[i,j,2];\n p_ prism[i,j,2] := p_prism[i,j,3];\n p_prism[i,j,3] := tmp;\n \+ fi;\n # sc2_L (swap-4) \n if (coeff(sc_plane2_L[i,j],t,3) = 0 ) then\n tmp := p_prism[i,j,1];\n p_prism[i,j,1] := p_ prism[i,j,4];\n p_prism[i,j,4] := tmp;\n fi; \n # sc2_ H (swap-3) \n if (coeff(sc_plane2_H[i,j],t,2) = 0) then\n \+ tmp := p_prism[i,j,6];\n p_prism[i,j,6] := p_prism[i,j,7];\n \+ p_prism[i,j,7] := tmp;\n fi;\n # sc2_H (swap-4) \n \+ if (coeff(sc_plane2_H[i,j],t,3) = 0) then\n tmp := p_prism[i,j ,5];\n p_prism[i,j,5] := p_prism[i,j,8];\n p_prism[i,j ,8] := tmp;\n fi;\n \nod;od;\n\n#print(plane_idx,\"1\",p_prism);\n \n########################\n\n# compute transform - first iteration th rough k-axis\n for i from 1 to N do\n for j from 1 to N do\n \+ for k from 1 to Ni do \n for l from 1 to N do\n \+ f_coef[i, j, k] := f_coef[i, j, k] + Fi_matrix[k,l]*subs(t=2, time_coe f[i, j, l]) mod Modulus; \n #f_coef[i, j, k] := rem(f_co ef[i, j, k] + rem( F_matrix[k,l]*time_coef[i, j, l], defPoly,t), defPo ly,t) mod 2; \n od;\n #f_coef[i, j, k] := num2poly(f_c oef[i, j, k],5); \n od;\n od;\nod;\n\nprint(\"1\",f_coef);\ntm p_coef := f_coef;\n#print(\"n1\",tmp_coef);\nf_coef := setzero();\n#pr int(\"n2\",tmp_coef);\n\n#break;\n\n########################\n# rotate the plane and set the swap table (p_prism_plane) j-axis\nplane_idx := 3;\nfor i from 1 to N do\n for k from 1 to Ni do\n idx := num2 poly((k-1)+ Ni*(i-1),4);# add idx for balance \n sc_plane[i,k] := num2poly(tmp_coef[i, plane_idx,k],4) + idx mod 2; \n od; \nod;\n#pr int(\"2\",sc_plane);\n\nfor i from 1 to N do\n for k from 1 to Ni do \n # sc3 (swap-1) \n if (coeff(sc_plane[i,k],t,0) = 0) then\n \+ tmp := p_prism[i,plane_idx-1 mod N + 1,k];\n p_prism[ i,plane_idx-1 mod N + 1,k] := p_prism[i,plane_idx mod N + 1,k];\n \+ p_prism[i,plane_idx mod N + 1,k] := tmp;\n fi;\n # sc3 (sw ap-2) \n if (coeff(sc_plane[i,k],t,1) = 0) then\n tmp := p _prism[i,plane_idx+1 mod N + 1,k];\n p_prism[i,plane_idx+1 mo d N + 1,k] := p_prism[i,plane_idx+2 mod N + 1,k];\n p_prism[ i,plane_idx+2 mod N + 1,k] := tmp;\n fi;\n # sc3 (swap-3) \n \+ if (coeff(sc_plane[i,k],t,2) = 0) then\n tmp := p_prism[i, plane_idx mod N + 1,k];\n p_prism[i,plane_idx mod N + 1,k] : = p_prism[i,plane_idx+1 mod N + 1,k];\n p_prism[i,plane_idx+1 mod N + 1,k] := tmp;\n fi;\n # sc3 (swap-4) \n if (coeff (sc_plane[i,k],t,3) = 0) then\n tmp := p_prism[i,plane_idx-1 m od N + 1,k];\n p_prism[i,plane_idx-1 mod N + 1,k] := p_prism [i,plane_idx+2 mod N + 1,k];\n p_prism[i,plane_idx+2 mod N + 1,k] := tmp;\n fi;\nod;od;\n\n#print(plane_idx,\"1\",p_prism);\n \n########################\n\n# compute transform - second iteration t hrough j-axis\nfor i from 1 to N do\n for k from 1 to Ni do\n f or j from 1 to N do \n for l from 1 to N do \n #f_c oef[i, j, k] := rem(f_coef[i, j, k] + rem( F_matrix[j,l]*tmp_coef[i, l , k], defPoly,t), defPoly,t) mod 2; \n f_coef[i, j, k] := f _coef[i, j, k] + F_matrix[j,l]*tmp_coef[i, l, k] mod Modulus; \n \+ od;\n #f_coef[i, j, k] := num2poly(f_coef[i, j, k],5); \n \+ od;\n od;\nod;\n\ntmp_coef := f_coef;\nprint(\"1n\",tmp_coef);\n f_coef := setzero();\n#print(\"2n\",tmp_coef);\n\n#break;\n\n######### ###############\nplane_idx := 4;\n# choose and set the swap control pl ane through i-axis\nfor j from 1 to N do\n for k from 1 to Ni do\n \+ idx := num2poly((k-1)+ Ni*(j-1),4);# add idx for balance \n s c_plane[j,k] := num2poly(tmp_coef[plane_idx,j,k],4)+idx mod 2; \n od ; \nod;\nprint(\"2\",sc_plane);\n\n#start swaping p_prism\nfor j from \+ 1 to N do\n for k from 1 to Ni do\n # swap-1 \n if (coeff(sc_ plane[j,k],t,0) = 0) then\n tmp := p_prism[plane_idx-1 mod N \+ + 1,j,k];\n p_prism[plane_idx-1 mod N + 1,j,k] := p_prism[plan e_idx mod N + 1,j,k];\n p_prism[plane_idx mod N + 1,j,k] := tm p;\n fi;\n # swap-2 \n if (coeff(sc_plane[j,k],t,1) = 0) t hen\n tmp := p_prism[plane_idx+1 mod N + 1,j,k];\n p_ prism[plane_idx+1 mod N + 1,j,k] := p_prism[plane_idx+2 mod N + 1,j, k];\n p_prism[plane_idx+2 mod N + 1,j,k] := tmp;\n fi;\n \+ # swap-3 \n if (coeff(sc_plane[j,k],t,2) = 0) then\n t mp := p_prism[plane_idx mod N + 1,j,k];\n p_prism[plane_idx m od N + 1,j,k] := p_prism[plane_idx+1 mod N + 1,j,k];\n p_pri sm[plane_idx+1 mod N + 1,j,k] := tmp;\n fi;\n # swap-4 \n \+ if (coeff(sc_plane[j,k],t,3) = 0) then\n tmp := p_prism[plane _idx-1 mod N + 1,j,k];\n p_prism[plane_idx-1 mod N + 1,j,k] \+ := p_prism[plane_idx+2 mod N + 1,j,k];\n p_prism[plane_idx+2 \+ mod N + 1,j,k] := tmp;\n fi;\nod;od;\n\nprint(plane_idx,\"1\",p_p rism);\n\n#break;\n########################\n\n# compute transform - t hird iteration i-axis\nfor j from 1 to N do\n for k from 1 to Ni do \n for i from 1 to N do \n for l from 1 to N do \n \+ #f_coef[i, j, k] := rem(f_coef[i, j, k] + rem( F_matrix[i,l]*tmp_ coef[l, j, k], defPoly,t), defPoly,t) mod 2; \n f_coef[i, j , k] := f_coef[i, j, k] + F_matrix[i,l]*tmp_coef[l, j, k] mod Modulus; \n od;\n idx := iquo((k-1)+ Ni*(j-1)+Ni*N*(i-1),16);# \+ add idx for balance \n p_prism_L[i, j, k] := rem(t^7*(iquo(f_co ef[i, j, k],16)+idx mod 2) + num2poly(p_prism[i, j, k],7),t^4,t) mod 2 ;\n p_prism_H[i, j, k] := quo(t^7*(iquo(f_coef[i, j, k],16)+idx mod 2) + num2poly(p_prism[i, j, k],7),t^4,t) mod 2; \n f_coef[ i, j, k] := num2poly(f_coef[i, j, k],4);\n od;\n od;\nod;\n\n#b reak;\n\n\n#print(\"trans\",f_coef);\nRETURN (f_coef, p_prism, p_prism _H, p_prism_L); \nend;" }}{PARA 7 "" 1 "" {TEXT -1 76 "Warning, `sc_ plane2_L` is implicitly declared local to procedure `dim3_fft`\n" }} {PARA 7 "" 1 "" {TEXT -1 76 "Warning, `sc_plane2_H` is implicitly decl ared local to procedure `dim3_fft`\n" }}{PARA 7 "" 1 "" {TEXT -1 74 "W arning, `sc_plane1` is implicitly declared local to procedure `dim3_ff t`\n" }}{PARA 7 "" 1 "" {TEXT -1 74 "Warning, `plane_idx` is implicitl y declared local to procedure `dim3_fft`\n" }}{PARA 7 "" 1 "" {TEXT -1 75 "Warning, `plane_idx1` is implicitly declared local to procedure `dim3_fft`\n" }}{PARA 7 "" 1 "" {TEXT -1 68 "Warning, `tmp` is implic itly declared local to procedure `dim3_fft`\n" }}{PARA 7 "" 1 "" {TEXT -1 74 "Warning, `p_prism_L` is implicitly declared local to proc edure `dim3_fft`\n" }}{PARA 7 "" 1 "" {TEXT -1 74 "Warning, `p_prism_H ` is implicitly declared local to procedure `dim3_fft`\n" }}{PARA 12 " " 1 "" {XPPMATH 20 "6#>%)dim3_fftGf*6$%*time_coefG%(p_prismG66%'f_coef G%%tempG%\"iG%\"jG%\"kG%\"lG%)tmp_coefG%$idxG%)sc_planeG%-nxt_sc_plane G%+sc_plane_LG%+sc_plane_HG%,sc_plane2_LG%,sc_plane2_HG%*sc_plane1G%*p lane_idxG%+plane_idx1G%$tmpG%*p_prism_LG%*p_prism_HG6\"F>CA>8$-%&array G6%;\"\"\"%\"NGFE;FF%#NiG>8,-FC6$FEFH>80-FC6$FEFE>81FP>82FP>FA-%(setze roGF>>83FF>84\"\"&?(8&FFFFFG%%trueG?(8'FFFFFGFjnC%>&FU6$FinF\\o-%$modG 6$,&&9$6%FinF\\oFZFF&Ffo6%FinF\\oFfnFF\"\"#>&FOF`o&Ffo6%FinF\\o,&FZFFF FFF>&FSF`o&Ffo6%FinF\\o,&FfnFFFFFF-%&printG6$Q*sc_plane1F>FU-Ffp6$Q,sc _plane2_LF>FO-Ffp6$Q,sc_plane2_HF>FS?(FinFFFFFGFjn?(F\\oFFFFFGFjnC.@$/ -%&coeffG6%F_o%\"tG\"\"!FhqC%>85&9%6%FinF\\oFF>F\\r&F]r6%FinF\\o\"\")> F`rF[r@$/-Feq6%F_oFgqFFFhqC%>F[r&F]r6%FinF\\oFjo>Fjr&F]r6%FinF\\o\"\"( >F]sF[r@$/-Feq6%F_oFgqFjoFhqC%>F[r&F]r6%FinF\\o\"\"$>Fgs&F]r6%FinF\\o \"\"'>F[tF[r@$/-Feq6%F_oFgqFisFhqC%>F[r&F]r6%FinF\\o\"\"%>Fet&F]r6%Fin F\\oFgn>FitF[r@$/-Feq6%F\\pFgqFhqFhqC%>F[rF\\r>F\\rFjr>FjrF[r@$/-Feq6% F\\pFgqFFFhqC%>F[rFgs>FgsFet>FetF[r@$/-Feq6%FapFgqFhqFhqC%>F[rFit>FitF [t>F[tF[r@$/-Feq6%FapFgqFFFhqC%>F[rF]s>F]sF`r>F`rF[r@$/-Feq6%F\\pFgqFj oFhqC%>F[rFjr>FjrFgs>FgsF[r@$/-Feq6%F\\pFgqFisFhqC%>F[rF\\r>F\\rFet>Fe tF[r@$/-Feq6%FapFgqFjoFhqC%>F[rF[t>F[tF]s>F]sF[r@$/-Feq6%FapFgqFisFhqC %>F[rFit>FitF`r>F`rF[r?(FinFFFFFGFjn?(F\\oFFFFFGFjn?(8(FFFFFIFjn?(8)FF FFFGFjn>&FA6%FinF\\oF_y-Fbo6$,&FcyFF*&&%*Fi_matrixG6$F_yFayFF-%%subsG6 $/FgqFjo&Ffo6%FinF\\oFayFFFF%(ModulusG-Ffp6$Q\"1F>FA>8*FA>FAFW>FZFis?( FinFFFFFGFjn?(F_yFFFFFIFjnC$>8+-%)num2polyG6$,(F_yFFFF!\"\"*&FIFF,&Fin FFFFFc[lFFFFFgt>&FK6$FinF_y-Fbo6$,&-F`[l6$&Fgz6%FinFZF_yFgtFFF^[lFFFjo ?(FinFFFFFGFjn?(F_yFFFFFIFjnC&@$/-Feq6%Fg[lFgqFhqFhqC%>F[r&F]r6%Fin,&- Fbo6$,&FZFFFFFc[lFGFFFFFFF_y>Fi\\l&F]r6%Fin,&-Fbo6$FZFGFFFFFFF_y>F`]lF [r@$/-Feq6%Fg[lFgqFFFhqC%>F[r&F]r6%Fin,&-Fbo6$F_pFGFFFFFFF_y>F\\^l&F]r 6%Fin,&-Fbo6$,&FZFFFjoFFFGFFFFFFF_y>Fb^lF[r@$/-Feq6%Fg[lFgqFjoFhqC%>F[ rF`]l>F`]lF\\^l>F\\^lF[r@$/-Feq6%Fg[lFgqFisFhqC%>F[rFi\\l>Fi\\lFb^l>Fb ^lF[r?(FinFFFFFGFjn?(F_yFFFFFIFjn?(F\\oFFFFFGFjn?(FayFFFFFGFjn>Fcy-Fbo 6$,&FcyFF*&&%)F_matrixG6$F\\oFayFF&Fgz6%FinFayF_yFFFFFbz>FgzFA-Ffp6$Q# 1nF>Fgz>FAFW>FZFgt?(F\\oFFFFFGFjn?(F_yFFFFFIFjnC$>F^[l-F`[l6$,(F_yFFFF Fc[l*&FIFF,&F\\oFFFFFc[lFFFFFgt>&FK6$F\\oF_y-Fbo6$,&-F`[l6$&Fgz6%FZF\\ oF_yFgtFFF^[lFFFjo-Ffp6$Q\"2F>FK?(F\\oFFFFFGFjn?(F_yFFFFFIFjnC&@$/-Feq 6%FgalFgqFhqFhqC%>F[r&F]r6%F[]lF\\oF_y>F\\cl&F]r6%Fb]lF\\oF_y>F_clF[r@ $/-Feq6%FgalFgqFFFhqC%>F[r&F]r6%F^^lF\\oF_y>Fhcl&F]r6%Fd^lF\\oF_y>F[dl F[r@$/-Feq6%FgalFgqFjoFhqC%>F[rF_cl>F_clFhcl>FhclF[r@$/-Feq6%FgalFgqFi sFhqC%>F[rF\\cl>F\\clF[dl>F[dlF[r-Ffp6%FZFezF]r?(F\\oFFFFFGFjn?(F_yFFF FFIFjn?(FinFFFFFGFjnC'?(FayFFFFFGFjn>Fcy-Fbo6$,&FcyFF*&&Fc`l6$FinFayFF &Fgz6%FayF\\oF_yFFFFFbz>F^[l-%%iquoG6$,*F_yFFFFFc[lFdalFF*(FIFFFGFFFe[ lFFFF\"#;>&86Fdy-Fbo6$-%$remG6%,&*&)FgqF_sFF-Fbo6$,&-F`fl6$FcyFdflFFF^ [lFFFjoFFFF-F`[l6$&F]rFdyF_sFF*$)FgqFgtFFFgqFjo>&87Fdy-Fbo6$-%$quoGF\\ glFjo>Fcy-F`[l6$FcyFgt-%'RETURNG6&FAF]rF\\hlFgflF>6$FGFbzF>" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1811 "dim3_fft_inv := proc(f_coe f, F_inv_matrix)\nlocal temp1,i, j, k,l, time_coef, sum,temp,index,tm p_coef;\nglobal N, Modulus;\n\ntime_coef := array(1..N,1..N,1..N);\nin dex := simplify(log[2](Base)); \n#print(f_coef);\n\ntime_coef := set zero();\n\n# compute transform - third iteration \nfor k from 1 to N d o\n for j from 1 to N do\n for i from 1 to N do \n for \+ l from 1 to N do \n time_coef[i, j, k] := rem(time_coef[i, \+ j, k] + rem(F_inv_matrix[i,l]*f_coef[l, j, k], defPoly,t), defPoly,t) \+ mod 2; \n od;\n od;\n od;\nod;\n\ntmp_coef := time_coef ;\ntime_coef := setzero();\n\n# compute transform - second iteration \+ \nfor i from 1 to N do\n for k from 1 to N do\n for j from 1 to N do \n for l from 1 to N do \n time_coef[i, j, k] := rem(time_coef[i, j, k] + rem( F_inv_matrix[j,l]*tmp_coef[i, l, k], defPoly,t), defPoly,t) mod 2; \n od;\n od;\n od;\nod; \n\ntmp_coef := time_coef;\ntime_coef := setzero();\n\n# compute trans form - first iteration \nfor i from 1 to N do\n for j from 1 to N do \n for k from 1 to N do \n for l from 1 to N do \n \+ time_coef[i, j, k] := rem(time_coef[i, j, k] + rem(F_inv_matrix[k ,l]*tmp_coef[i, j, l], defPoly,t), defPoly,t) mod 2; \n od;\n \+ od;\n od;\nod;\n\n\n#for j from 1 to N do\n# for k from 1 to \+ N do\n# time_coef[j] := rem(time_coef[j] + rem( F_inv_matrix[j,k] *f_coef[k]*L_INV, defPoly,t), defPoly,t) mod 2; \n# od;\n#od;\n \n#s um := 0;\n#for i from 1 to N do\n# #temp := time_coef[i];\n# if (q uo(time_coef[i],t^(N-2),t) = 1) then\n# time_coef[i] := (defPoly+ time_coef[i]) mod 2;\n# fi; \n# sum := expand(sum + time_coef[i]* t^(index*(i-1))) mod 2;\n# #print(sort(sum));\n#od;\n#print(sort(sum ));\n#temp := subs(t=2,sum);\n#print(time_coef);\n#print(\"Integer => \+ \",temp);\n\nRETURN(time_coef);\n \nend;" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%-dim3_fft_invGf*6$%'f_coefG%-F_inv_matrixG6,%&temp1G% \"iG%\"jG%\"kG%\"lG%*time_coefG%$sumG%%tempG%&indexG%)tmp_coefG6\"F4C- >8)-%&arrayG6%;\"\"\"%\"NGF;F;>8,-%)simplifyG6#-&%$logG6#\"\"#6#%%Base G>F7-%(setzeroGF4?(8'F&F76%FSFQFN-%$modG6$-%$remG6%,&FWF<-Fgn6%*&&9%6$FSFUF<&9$6%FUFQFNF<%( defPolyG%\"tGF8-F7>F7FK?(FSFFW-FZ6$-Fgn6%,&FWF<-Fgn6%*&&F^o6$FQFUF<&Ffo6%FSFUFNFFfoF7>F7FK?(FSFFW-FZ6$-Fgn6%,&FWF<-Fgn6%*&&F^o6$FNFUF<&Ffo6%FSFQFUF " 0 "" {MPLTEXT 1 0 410 "affine_trans_entry := proc(poly)\n#local alfa, gama, deg,tmp,i,j,out;\n\nalfa := array(1..4,1..4,[[1,0,1,1],[1,1,0,1],[1,1, 1,0],[0,1,1,1]]);\ngama := [1,1,1,0];\n\ndeg := 3; \nout := array(1..d eg+1,[0,0,0,0]);\n\ntmp := poly2bin(poly, deg);#print(tmp);\n\nfor i t o deg+1 do\n for j to deg+1 do\n out[i] := out[i] + tmp[j]*alfa [i,j] mod 2; \n od;\n out[i] := out[i] + gama[i] mod 2;\nod;\nretu rn(bin2poly(out,4));\nend;" }}{PARA 7 "" 1 "" {TEXT -1 79 "Warning, `a lfa` is implicitly declared local to procedure `affine_trans_entry`\n " }}{PARA 7 "" 1 "" {TEXT -1 79 "Warning, `gama` is implicitly declare d local to procedure `affine_trans_entry`\n" }}{PARA 7 "" 1 "" {TEXT -1 78 "Warning, `deg` is implicitly declared local to procedure `affin e_trans_entry`\n" }}{PARA 7 "" 1 "" {TEXT -1 78 "Warning, `out` is imp licitly declared local to procedure `affine_trans_entry`\n" }}{PARA 7 "" 1 "" {TEXT -1 78 "Warning, `tmp` is implicitly declared local to pr ocedure `affine_trans_entry`\n" }}{PARA 7 "" 1 "" {TEXT -1 76 "Warning , `i` is implicitly declared local to procedure `affine_trans_entry`\n " }}{PARA 7 "" 1 "" {TEXT -1 76 "Warning, `j` is implicitly declared l ocal to procedure `affine_trans_entry`\n" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%3affine_trans_entryGf*6#%%polyG6)%%alfaG%%gamaG%$degG%$outG%$t mpG%\"iG%\"jG6\"F0C)>8$-%&arrayG6%;\"\"\"\"\"%F77&7&F8\"\"!F8F87&F8F8F 8%F>>8&\"\"$>8'-F56$;F8,&FCF8F8F87&F8( -%)poly2binG6$9$FC?(8)F8F8FJ%%trueGC$?(8*F8F8FJFT>&FF6#FS-%$modG6$,&FY F8*&&FM6#FWF8&F36$FSFWF8F8\"\"#>FY-Ffn6$,&FYF8&FAFZF8F^oO-%)bin2polyG6 $FFF9F0F0F0" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 502 "#test affin e for fixed points\ntmp := 0;\nfor j from 1 to 1 do \ngama := num2vec( 7,4);\nprint(\"j\",j,gama);\nfor i from 0 to 15 do \n #res := affine _trans_entry(rem(num2poly(i)^14, defPoly,t) mod 2, gama);\n #if (num 2poly(i)= res) then\n # print(\"fix\",j,i,num2poly(i), res);\n # end;\n #if (num2poly(i)= res+t^4+defPoly mod 2) then\n # print( \"oix\",j,i,num2poly(i), res+t^4+defPoly mod 2 );\n #end;\n\n tmp \+ := affine_trans_entry(rem(tmp^14, defPoly,t) mod 2, gama);\n print(i ,subs(t=2,tmp));\nod;od;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$tmpG\" \"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%gamaG%\"aG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%Q\"j6\"\"\"\"-%'vectorG6#7&F%F%F%\"\"!" }}{PARA 11 " " 1 "" {XPPMATH 20 "6$\"\"!\"\"(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\" \"\"\"\"(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"\"#\"\"(" }}{PARA 11 " " 1 "" {XPPMATH 20 "6$\"\"$\"\"(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\" \"%\"\"(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"\"&\"\"(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"\"'\"\"(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"\" (F#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"\")\"\"(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"\"*\"\"(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"#5\"\"( " }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"#6\"\"(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"#7\"\"(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"#8\"\"( " }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"#9\"\"(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"#:\"\"(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 301 "affine_trans := proc(a)\nlocal i,j,k, c_coef;\nglobal N, Modulus; \n\nc_coef := array(1..N, 1..N, 1..Ni);\n\nfor i from 1 to N do\n fo r j from 1 to N do\n for k from 1 to Ni do \n c_coef[i, j , k] := affine_trans_entry(rem(a[i, j, k], defPoly,t) mod 2) ;\n \+ od;\n od;\nod;\n\nRETURN(c_coef);\nend;" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%-affine_transGf*6#%\"aG6&%\"iG%\"jG%\"kG%'c_coefG6\"F -C%>8'-%&arrayG6%;\"\"\"%\"NGF4;F5%#NiG?(8$F5F5F6%%trueG?(8%F5F5F6F;?( 8&F5F5F8F;>&F06%F:F=F?-%3affine_trans_entryG6#-%$modG6$-%$remG6%&9$FB% (defPolyG%\"tG\"\"#-%'RETURNG6#F0F-6$F6%(ModulusGF-" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 280 "xinv_func := proc(a)\nlocal i,j,k, c_coe f;\nglobal N, Modulus;\n\nc_coef := array(1..N, 1..N, 1..Ni);\n\nfor i from 1 to N do\n for j from 1 to N do\n for k from 1 to Ni do \+ \n c_coef[i, j, k] := rem(a[i, j, k]^14, defPoly,t) mod 2;\n \+ od;\n od;\nod;\n\nRETURN(c_coef);\nend;" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%*xinv_funcGf*6#%\"aG6&%\"iG%\"jG%\"kG%'c_coefG6\"F-C% >8'-%&arrayG6%;\"\"\"%\"NGF4;F5%#NiG?(8$F5F5F6%%trueG?(8%F5F5F6F;?(8&F 5F5F8F;>&F06%F:F=F?-%$modG6$-%$remG6%*$)&9$FB\"#9F5%(defPolyG%\"tG\"\" #-%'RETURNG6#F0F-6$F6%(ModulusGF-" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 290 "cube_add := proc(a,b)\nlocal i,j,k, c_coef;\nglobal \+ N, Modulus;\n\nc_coef := array(1..N, 1..N, 1..Ni);\n\nfor i from 1 to \+ N do\n for j from 1 to N do\n for k from 1 to Ni do \n \+ c_coef[i, j, k] := rem(a[i, j, k]+b[i, j, k], defPoly,t) mod 2 ;\n \+ od;\n od;\nod;\n\nRETURN(c_coef);\nend;" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%)cube_addGf*6$%\"aG%\"bG6&%\"iG%\"jG%\"kG%'c_coefG6\" F.C%>8'-%&arrayG6%;\"\"\"%\"NGF5;F6%#NiG?(8$F6F6F7%%trueG?(8%F6F6F7F&F16%F;F>F@-%$modG6$-%$remG6%,&&9$FCF6&9%FCF6%(defPolyG%\" tG\"\"#-%'RETURNG6#F1F.6$F7%(ModulusGF." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 319 "PR := proc(a, rperm)\nlocal i,j,k, c_coef,p;\nglobal N, Modulus;\n\nc_coef := setzero();\n\nfor i from 1 to N do\n for j from 1 to N do\n for k from 1 to Ni do \n p := rperm[i,j ,k];\n c_coef[i, j, k] := a[iquo(p-1,32) mod 4 +1, iquo(p-1,4) mod 4 +1, p-1 mod 8+1];\n od;\n od;\nod;\n\nRETURN(c_coef);\ne nd;" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%#PRGf*6$%\"aG%&rpermG6'%\"iG% \"jG%\"kG%'c_coefG%\"pG6\"F/C%>8'-%(setzeroGF/?(8$\"\"\"F7%\"NG%%trueG ?(8%F7F7F8F9?(8&F7F7%#NiGF9C$>8(&9%6%F6F;F=>&F2FD&9$6%,&-%$modG6$-%%iq uoG6$,&FAF7F7!\"\"\"#K\"\"%F7F7F7,&-FL6$-FO6$FQFTFTF7F7F7,&-FL6$FQ\"\" )F7F7F7-%'RETURNG6#F2F/6$F8%(ModulusGF/" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 2374 "s_hash := proc(message)\nlocal h0, h1, h2, h3, h4, \+ mLen, ext_mVec, ext_mLen, hash, temp, temp1, num_chnk, a,b,c,d,e,f,i,j ,k,w,rperm,X_i;\n\np_prism := array(1..N, 1..N, 1..Ni);\ns_prism := ar ray(1..N, 1..N, 1..Ni);\n\n#Initialize variables:\nh := setzero();\nha sh := 0;\n\n## Pre-processing:\n# - append the bit '1' to the message \n# - append k bits '0', where k is the minimum number OF 0 such that \+ the resulting message\n# length (in bits) is congruent to 448 (mod \+ 512)\n# - append length of message (before pre-processing), in bits, a s 64-bit big-endian integer\n\nmLen := floor(log[2.](message))+1;\n#pr int(%);\next_mLen := mLen + (512 - irem(mLen,512));\n#print(\"xlen\", \+ ext_mLen, mLen);\n\n# convert(message, decimal, hex)\next_mVec := num2 vec(message, ext_mLen);\next_mVec[mLen+1] := 1;# set to 1 \n#print(ext _mVec);\n\ntemp := num2vec(mLen, 64);\nfor i to 64 do ext_mVec[ext_mLe n-64+i] := temp[i]; od;\n#print(ext_mVec);\n\n\n# Process the message \+ in successive 512-bit chunks:\nnum_chnk := iquo(ext_mLen, 512);\n#prin t(%);\n\n\n#w := setzero(80);\nfor i to num_chnk do\n # map the chun k into the cube\n\n for j to 512 do\n temp1[j] := ext_mVec[(i- 1)*512 + j];\n od;\n\n #print(vec2num(temp1,500));\n m_prism := \+ map_prism(vec2num(temp1,512));\n #print(\"1n\",m_prism);\n\n if (i = 1) then\n p_prism := perm_initial(m_prism);\n print(\"2n \",p_prism);\n fi;\n\n\n m_prism := xinv_func(m_prism);\n #print (\"2\",m_prism);\n m_prism := affine_trans(m_prism);\n print(\"3\" ,m_prism);\n\n\n (X_i, p_prism, p_prism_H, p_prism_L) := dim3_fft(m_ prism, p_prism);\n #printf(\"\\n\");\n #print(\"the message after \+ transformed to the fourier domain\");\n #printf(\"\\n\");\n #print (X_i,rperm,rperm_poly_H,rperm_poly_L);\n\n # test dft\n #m_coef := dim3_fft_inv(X_i,F_inv_matrix);\n #printf(\"\\n\");\n #print(\"th e message after transformed to the time domain\");\n #print(m_coef); \n\n # non-linear system transform\n m_prism := xinv_func(cube_add (X_i, p_prism_H));\n print(m_prism); \n m_prism := cube_add(m_pri sm, xinv_func(cube_add(PR(X_i,p_prism), p_prism_L)));\n print(m_pris m);\n h := cube_add(m_prism, h);\n #print(m_prism);\n\n\n # Add this chunk's hash to result so far:\n # for convertion of prism to number \n hash := map_num(h) + hash mod (2^512 + 1); #print(\"3\", hash);\nod;\n # Produce the final hash value (big-endian):\n # has h := (h0, h1, h2, h3, h4); \n print(\"hash\", hash);\nend;" }}{PARA 7 "" 1 "" {TEXT -1 70 "Warning, `p_prism` is implicitly declared local to procedure `s_hash`\n" }}{PARA 7 "" 1 "" {TEXT -1 70 "Warning, `s_p rism` is implicitly declared local to procedure `s_hash`\n" }}{PARA 7 "" 1 "" {TEXT -1 64 "Warning, `h` is implicitly declared local to proc edure `s_hash`\n" }}{PARA 7 "" 1 "" {TEXT -1 70 "Warning, `m_prism` is implicitly declared local to procedure `s_hash`\n" }}{PARA 7 "" 1 "" {TEXT -1 72 "Warning, `p_prism_H` is implicitly declared local to proc edure `s_hash`\n" }}{PARA 7 "" 1 "" {TEXT -1 72 "Warning, `p_prism_L` \+ is implicitly declared local to procedure `s_hash`\n" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%'s_hashGf*6#%(messageG6@%#h0G%#h1G%#h2G%#h3G%#h4G% %mLenG%)ext_mVecG%)ext_mLenG%%hashG%%tempG%&temp1G%)num_chnkG%\"aG%\"b G%\"cG%\"dG%\"eG%\"fG%\"iG%\"jG%\"kG%\"wG%&rpermG%$X_iG%(p_prismG%(s_p rismG%\"hG%(m_prismG%*p_prism_HG%*p_prism_LG6\"FGC/>8<-%&arrayG6%;\"\" \"%\"NGFN;FO%#NiG>8=FK>8>-%(setzeroGFG>8,\"\"!>8),&-%&floorG6#-&%$logG 6#$\"\"#Fen6#9$FOFOFO>8+,(FgnFO\"$7&FO-%%iremG6$FgnFgo!\"\">8*-%(num2v ecG6$FcoFeo>&F]p6#,&FgnFOFOFOFO>8--F_p6$Fgn\"#k?(86FOFOFip%%trueG>&F]p 6#,(FeoFOFipF[pF[qFO&Ffp6#F[q>8/-%%iquoG6$FeoFgo?(F[qFOFOFdqF\\qC/?(87 FOFOFgoF\\q>&8.6#F[r&F]p6#,(*&FgoFOF[qFOFOFgoF[pF[rFO>8?-%*map_prismG6 #-%(vec2numG6$F^rFgo@$/F[qFOC$>FJ-%-perm_initialG6#Fer-%&printG6$Q#2nF GFJ>Fer-%*xinv_funcGFbs>Fer-%-affine_transGFbs-Fds6$Q\"3FGFer>6&8;FJ8@ 8A-%)dim3_fftG6$FerFJ>Fer-Fis6#-%)cube_addG6$FbtFct-FdsFbs>Fer-F\\u6$F er-Fis6#-F\\u6$-%#PRG6$FbtFJFdtF^u>FV-F\\u6$FerFV>FZ-%$modG6$,&-%(map_ numG6#FVFOFZFO\"ft(4%31!\\OVY*pl%>\"G)Qv`30'['=e=.!pFM!p;)Hu=!o(pat+.k " 0 "" {MPLTEXT 1 0 935 "#dft params\nprintlevel :=0 ;\nN := 4;Ni := 8;\nModulus := 2^4+1;\ndefPoly := num2poly(2^5-1);Fact or(%) mod 2;\n#subs(t=2,defPoly);\nunity := 4; # l'th the root of un ity\nunity1 := 2; # l'th the root of unity\nL_INV := 1;#N^(-1) mod M odulus;\nBase := 2^4;\n\nF_matrix := array(1..N,1..N);\nF_inv_matrix : = array(1..N,1..N);\nfor j to N do \n F_matrix[1,j] := 1;\n F_in v_matrix[1,j] := 1;\nod;\n\nfor i from 2 to N do\n for j to N do\n \+ F_matrix[i,j] := (unity)^((i-1)*(j-1)) mod Modulus;\n F_inv_m atrix[N-i+2,j] := F_matrix[i,j]; \n od;\nod;\n#print(F_matrix);\n #print(F_inv_matrix);\n\nFi_matrix := array(1..Ni,1..Ni);\nFi_inv_matr ix := array(1..Ni,1..Ni);\nfor j to Ni do \n Fi_matrix[1,j] := 1; \n Fi_inv_matrix[1,j] := 1;\nod;\n\nfor i from 2 to Ni do\n for j \+ to Ni do\n Fi_matrix[i,j] := (unity1)^((i-1)*(j-1)) mod Modulus; \n Fi_inv_matrix[Ni-i+2,j] := Fi_matrix[i,j]; \n od;\nod;\n# print(Fi_matrix);\n#print(Fi_inv_matrix);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%+printlevelG\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# >%\"NG\"\"%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#NiG\"\")" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%(ModulusG\"#<" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%(defPolyG,,\"\"\"F&%\"tGF&*$)F'\"\"#F&F&*$)F'\"\"$F&F &*$)F'\"\"%F&F&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,,\"\"\"F$%\"tGF$*$ )F%\"\"#F$F$*$)F%\"\"$F$F$*$)F%\"\"%F$F$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&unityG\"\"%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%'unity1G\"\" #" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&L_INVG\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%BaseG\"#;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%)F _matrixG-%&arrayG6%;\"\"\"\"\"%F(7\"" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#>%-F_inv_matrixG-%&arrayG6%;\"\"\"\"\"%F(7\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%*Fi_matrixG-%&arrayG6%;\"\"\"\"\")F(7\"" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#>%.Fi_inv_matrixG-%&arrayG6%;\"\"\"\"\")F(7\"" } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 51 "message := ((2^15+1)*(3^23 -1)+1)^3;\n#message := 9;\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%(mess ageG\"Pv)*e*z*QBtm\"=eQzaJ\")4=01+OH" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "s_hash(message);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#- %&ARRAYG6$7%;\"\"\"\"\"%F';F(\"\")7\\s/6%F(F(F(F(/6%F(F(\"\"#F1/6%F(F( \"\"$F4/6%F(F(F)F)/6%F(F(\"\"&F9/6%F(F(\"\"'F/6%F(F4F)\"#?/6%F(F4F9\"#@/6%F(F4F<\"#A/6%F(F4F?\"#B/6%F(F4F+\"#C /6%F(F)F(\"#D/6%F(F)F1\"#E/6%F(F)F4\"#F/6%F(F)F)\"#G/6%F(F)F9\"#H/6%F( F)F<\"#I/6%F(F)F?\"#J/6%F(F)F+\"#K/6%F1F(F(\"#L/6%F1F(F1\"#M/6%F1F(F4 \"#N/6%F1F(F)\"#O/6%F1F(F9\"#P/6%F1F(F<\"#Q/6%F1F(F?\"#R/6%F1F(F+\"#S/ 6%F1F1F(\"#T/6%F1F1F1\"#U/6%F1F1F4\"#V/6%F1F1F)\"#W/6%F1F1F9\"#X/6%F1F 1F<\"#Y/6%F1F1F?\"#Z/6%F1F1F+\"#[/6%F1F4F(\"#\\/6%F1F4F1\"#]/6%F1F4F4 \"#^/6%F1F4F)\"#_/6%F1F4F9\"#`/6%F1F4F<\"#a/6%F1F4F?\"#b/6%F1F4F+\"#c/ 6%F1F)F(\"#d/6%F1F)F1\"#e/6%F1F)F4\"#f/6%F1F)F)\"#g/6%F1F)F9\"#h/6%F1F )F<\"#i/6%F1F)F?\"#j/6%F1F)F+\"#k/6%F4F(F(\"#l/6%F4F(F1\"#m/6%F4F(F4\" #n/6%F4F(F)\"#o/6%F4F(F9\"#p/6%F4F(F<\"#q/6%F4F(F?\"#r/6%F4F(F+\"#s/6% F4F1F(\"#t/6%F4F1F1\"#u/6%F4F1F4\"#v/6%F4F1F)\"#w/6%F4F1F9\"#x/6%F4F1F <\"#y/6%F4F1F?\"#z/6%F4F1F+\"#!)/6%F4F4F(\"#\")/6%F4F4F1\"##)/6%F4F4F4 \"#$)/6%F4F4F)\"#%)/6%F4F4F9\"#&)/6%F4F4F<\"#')/6%F4F4F?\"#()/6%F4F4F+ \"#))/6%F4F)F(\"#*)/6%F4F)F1\"#!*/6%F4F)F4\"#\"*/6%F4F)F)\"##*/6%F4F)F 9\"#$*/6%F4F)F<\"#%*/6%F4F)F?\"#&*/6%F4F)F+\"#'*/6%F)F(F(\"#(*/6%F)F(F 1\"#)*/6%F)F(F4\"#**/6%F)F(F)\"$+\"/6%F)F(F9\"$,\"/6%F)F(F<\"$-\"/6%F) F(F?\"$.\"/6%F)F(F+\"$/\"/6%F)F1F(\"$0\"/6%F)F1F1\"$1\"/6%F)F1F4\"$2\" /6%F)F1F)\"$3\"/6%F)F1F9\"$4\"/6%F)F1F<\"$5\"/6%F)F1F?\"$6\"/6%F)F1F+ \"$7\"/6%F)F4F(\"$8\"/6%F)F4F1\"$9\"/6%F)F4F4\"$:\"/6%F)F4F)\"$;\"/6%F )F4F9\"$<\"/6%F)F4F<\"$=\"/6%F)F4F?\"$>\"/6%F)F4F+\"$?\"/6%F)F)F(\"$@ \"/6%F)F)F1\"$A\"/6%F)F)F4\"$B\"/6%F)F)F)\"$C\"/6%F)F)F9\"$D\"/6%F)F)F <\"$E\"/6%F)F)F?\"$F\"/6%F)F)F+\"$G\"" }}{PARA 12 "" 1 "" {XPPMATH 20 "6$Q#2n6\"-%&ARRAYG6$7%;\"\"\"\"\"%F);F*\"\")7\\s/6%F*F*F*\"$@\"/6%F*F *\"\"#F4/6%F*F*\"\"$\"$B\"/6%F*F*F+\"$C\"/6%F*F*\"\"&\"$D\"/6%F*F*\"\" '\"$E\"/6%F*F*\"\"(\"$F\"/6%F*F*F-\"$G\"/6%F*F4F*\"#\")/6%F*F4F4\"$9\" /6%F*F4F7\"$2\"/6%F*F4F+\"#O/6%F*F4F>\"#H/6%F*F4FBFB/6%F*F4FF\"#:/6%F* F4F-\"#s/6%F*F7F*\"#d/6%F*F7F4\"#)*/6%F*F7F7F7/6%F*F7F+\"#G/6%F*F7F>\" #$*/6%F*F7FB\"#%*/6%F*F7FF\"#b/6%F*F7F-\"#c/6%F*F+F*\"#(*/6%F*F+F4\"#m /6%F*F+F7\"#N/6%F*F+F+\"#7/6%F*F+F>\"#P/6%F*F+FB\"#a/6%F*F+FF\"#r/6%F* F+F-\"#;/6%F4F*F*\"$0\"/6%F4F*F4\"#U/6%F4F*F7\"#^/6%F4F*F+\"##*/6%F4F* F>\"#8/6%F4F*FB\"#q/6%F4F*FF\"#j/6%F4F*F-\"#!)/6%F4F4F*\"#D/6%F4F4F4\" $A\"/6%F4F4F7\"#6/6%F4F4F+\"#w/6%F4F4F>F>/6%F4F4FB\"#9/6%F4F4FF\"#z/6% F4F4F-\"#S/6%F4F7F*\"#T/6%F4F7F4\"#5/6%F4F7F7\"#V/6%F4F7F+\"#W/6%F4F7F >\"#X/6%F4F7FB\"#Y/6%F4F7FF\"#Z/6%F4F7F-\"#[/6%F4F+F*\"#\\/6%F4F+F4\"# ]/6%F4F+F7\"#F/6%F4F+F+\"#_/6%F4F+F>\"#`/6%F4F+FB\"#I/6%F4F+FF\"#B/6%F 4F+F-\"#C/6%F7F*F*\"# \"#h/6%F7F*FB\"#i/6%F7F*FF\"#R/6%F7F*F-\"#k/6%F7F4F*\"#l/6%F7F4F4\"#E/ 6%F7F4F7\"#n/6%F7F4F+\"#o/6%F7F4F>\"#p/6%F7F4FB\"#Q/6%F7F4FF\"#J/6%F7F 4F-\"#K/6%F7F7F*\"#t/6%F7F7F4\"#u/6%F7F7F7\"#v/6%F7F7F+F+/6%F7F7F>\"#x /6%F7F7FB\"#y/6%F7F7FFFF/6%F7F7F-F-/6%F7F+F*\"\"*/6%F7F+F4\"##)/6%F7F+ F7\"#$)/6%F7F+F+\"#%)/6%F7F+F>\"#&)/6%F7F+FB\"#')/6%F7F+FF\"#()/6%F7F+ F-\"#))/6%F+F*F*\"#*)/6%F+F*F4\"#!*/6%F+F*F7\"#\"*/6%F+F*F+\"#?/6%F+F* F>\"#@/6%F+F*FB\"#A/6%F+F*FF\"#&*/6%F+F*F-\"#'*/6%F+F4F*F*/6%F+F4F4\"# =/6%F+F4F7\"#**/6%F+F4F+\"$+\"/6%F+F4F>\"$,\"/6%F+F4FB\"$-\"/6%F+F4FF \"$.\"/6%F+F4F-\"$/\"/6%F+F7F*\"$8\"/6%F+F7F4\"#M/6%F+F7F7\"#>/6%F+F7F +\"$3\"/6%F+F7F>\"$4\"/6%F+F7FB\"$5\"/6%F+F7FF\"$6\"/6%F+F7F-\"$7\"/6% F+F+F*\"#L/6%F+F+F4\"$1\"/6%F+F+F7\"$:\"/6%F+F+F+\"$;\"/6%F+F+F>\"$<\" /6%F+F+FB\"$=\"/6%F+F+FF\"$>\"/6%F+F+F-\"$?\"" }}{PARA 12 "" 1 "" {XPPMATH 20 "6$Q\"36\"-%&ARRAYG6$7%;\"\"\"\"\"%F);F*\"\")7\\s/6%F*F*F* %\"tG/6%F*F*\"\"#,&F*F**$)F1\"\"$F*F*/6%F*F*F8,(F*F*F1F*F6F*/6%F*F*F+, (F*F**$)F1F4F*F*F6F*/6%F*F*\"\"&,&F?F*F6F*/6%F*F*\"\"'FD/6%F*F*\"\"(F> /6%F*F*F-F>/6%F*F4F*,(F1F*F?F*F6F*/6%F*F4F4,*F*F*F1F*F?F*F6F*/6%F*F4F8 ,(F*F*F1F*F?F*/6%F*F4F+\"\"!/6%F*F4FCFU/6%F*F4FGFD/6%F*F4FJFD/6%F*F4F- F6/6%F*F8F*F*/6%F*F8F4F1/6%F*F8F8F;/6%F*F8F+,&F*F*F?F*/6%F*F8FCFco/6%F *F8FGFco/6%F*F8FJ,&F*F*F1F*/6%F*F8F-Fjo/6%F*F+F*FU/6%F*F+F4F6/6%F*F+F8 Fjo/6%F*F+F+FX/6%F*F+FCFX/6%F*F+FGFjo/6%F*F+FJF6/6%F*F+F-F6/6%F4F*F*F; /6%F4F*F4F?/6%F4F*F8,&F1F*F?F*/6%F4F*F+,&F1F*F6F*/6%F4F*FCFD/6%F4F*FGF 6/6%F4F*FJF*/6%F4F*F-FU/6%F4F4F*FU/6%F4F4F4FU/6%F4F4F8FU/6%F4F4F+FU/6% F4F4FCFU/6%F4F4FGFU/6%F4F4FJFU/6%F4F4F-FU/6%F4F8F*FU/6%F4F8F4FU/6%F4F8 F8FU/6%F4F8F+FU/6%F4F8FCFU/6%F4F8FGFU/6%F4F8FJFU/6%F4F8F-FU/6%F4F+F*FU /6%F4F+F4FU/6%F4F+F8FU/6%F4F+F+FU/6%F4F+FCFU/6%F4F+FGFU/6%F4F+FJFU/6%F 4F+F-FU/6%F8F*F*FU/6%F8F*F4FU/6%F8F*F8FU/6%F8F*F+FU/6%F8F*FCFU/6%F8F*F GFU/6%F8F*FJFU/6%F8F*F-FU/6%F8F4F*FU/6%F8F4F4FU/6%F8F4F8FU/6%F8F4F+FU/ 6%F8F4FCFU/6%F8F4FGFU/6%F8F4FJFU/6%F8F4F-FU/6%F8F8F*FU/6%F8F8F4FU/6%F8 F8F8FU/6%F8F8F+FU/6%F8F8FCFU/6%F8F8FGFU/6%F8F8FJFU/6%F8F8F-FU/6%F8F+F* FU/6%F8F+F4FU/6%F8F+F8FU/6%F8F+F+FU/6%F8F+FCFU/6%F8F+FGFU/6%F8F+FJFU/6 %F8F+F-FU/6%F+F*F*FU/6%F+F*F4FU/6%F+F*F8FU/6%F+F*F+FU/6%F+F*FCFU/6%F+F *FGFU/6%F+F*FJFU/6%F+F*F-FU/6%F+F4F*FU/6%F+F4F4FU/6%F+F4F8FU/6%F+F4F+F U/6%F+F4FCFU/6%F+F4FGFU/6%F+F4FJFU/6%F+F4F-FU/6%F+F8F*FR/6%F+F8F4Fjo/6 %F+F8F8FU/6%F+F8F+FU/6%F+F8FCFU/6%F+F8FGFU/6%F+F8FJFU/6%F+F8F-FU/6%F+F +F*FU/6%F+F+F4FU/6%F+F+F8FU/6%F+F+F+FU/6%F+F+FCFU/6%F+F+FGFU/6%F+F+FJF U/6%F+F+F-FU" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$Q*sc_plane16\"-%'matri xG6#7&7&,(%\"tG\"\"\"*$)F+\"\"#F,F,*$)F+\"\"$F,F,,&F,F,F0F,F-,(F,F,F+F ,F-F,7&F4\"\"!F6F67&F6F6F6F67&F6F6F0F6" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$Q,sc_plane2_L6\"-%'matrixG6#7&7&,&\"\"\"F+*$)%\"tG\"\"$F+F+,*F+F +F.F+*$)F.\"\"#F+F+F,F+F.F,7&F1,(F+F+F.F+F1F+F5F57&F5F5F5F57&F5F5,&F+F +F.F+F5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$Q,sc_plane2_H6\"-%'matrixG6 #7&7&,&*$)%\"tG\"\"#\"\"\"F/*$)F-\"\"$F/F/F*,&F/F/F+F/,&F/F/F-F/7&F0,( F/F/F-F/F+F/F6F67&F6F6F6F6F7" }}{PARA 12 "" 1 "" {XPPMATH 20 "6$Q\"16 \"-%&ARRAYG6$7%;\"\"\"\"\"%F);F*\"\")7\\s/6%F*F*F*F*/6%F*F*\"\"#\"#:/6 %F*F*\"\"$\"\"*/6%F*F*F+\"\"&/6%F*F*F;F-/6%F*F*\"\"'F8/6%F*F*\"\"(FC/6 %F*F*F-\"#8/6%F*F3F*F3/6%F*F3F3F+/6%F*F3F7\"#;/6%F*F3F+F+/6%F*F3F;F@/6 %F*F3F@\"#7/6%F*F3FCF4/6%F*F3F-F3/6%F*F7F*F3/6%F*F7F3F+/6%F*F7F7FT/6%F *F7F+\"\"!/6%F*F7F;F;/6%F*F7F@F*/6%F*F7FCF3/6%F*F7F-FM/6%F*F+F*F*/6%F* F+F3F*/6%F*F+F7F3/6%F*F+F+F-/6%F*F+F;F3/6%F*F+F@F7/6%F*F+FCF@/6%F*F+F- FM/6%F3F*F*\"#9/6%F3F*F3F+/6%F3F*F7F4/6%F3F*F+F;/6%F3F*F;F7/6%F3F*F@F4 /6%F3F*FCFT/6%F3F*F-F7/6%F3F3F*\"#6/6%F3F3F3F7/6%F3F3F7F[o/6%F3F3F+F4/ 6%F3F3F;F[o/6%F3F3F@FM/6%F3F3FCF[o/6%F3F3F-Fgq/6%F3F7F*Fgq/6%F3F7F3F7/ 6%F3F7F7F[o/6%F3F7F+F4/6%F3F7F;F[o/6%F3F7F@FM/6%F3F7FCF[o/6%F3F7F-Fgq/ 6%F3F+F*Fgq/6%F3F+F3F7/6%F3F+F7F[o/6%F3F+F+F4/6%F3F+F;F[o/6%F3F+F@FM/6 %F3F+FCF[o/6%F3F+F-Fgq/6%F7F*F*Fgq/6%F7F*F3F7/6%F7F*F7F[o/6%F7F*F+F4/6 %F7F*F;F[o/6%F7F*F@FM/6%F7F*FCF[o/6%F7F*F-Fgq/6%F7F3F*Fgq/6%F7F3F3F7/6 %F7F3F7F[o/6%F7F3F+F4/6%F7F3F;F[o/6%F7F3F@FM/6%F7F3FCF[o/6%F7F3F-Fgq/6 %F7F7F*Fgq/6%F7F7F3F7/6%F7F7F7F[o/6%F7F7F+F4/6%F7F7F;F[o/6%F7F7F@FM/6% F7F7FCF[o/6%F7F7F-Fgq/6%F7F+F*Fgq/6%F7F+F3F7/6%F7F+F7F[o/6%F7F+F+F4/6% F7F+F;F[o/6%F7F+F@FM/6%F7F+FCF[o/6%F7F+F-Fgq/6%F+F*F*Fgq/6%F+F*F3F7/6% F+F*F7F[o/6%F+F*F+F4/6%F+F*F;F[o/6%F+F*F@FM/6%F+F*FCF[o/6%F+F*F-Fgq/6% F+F3F*Fgq/6%F+F3F3F7/6%F+F3F7F[o/6%F+F3F+F4/6%F+F3F;F[o/6%F+F3F@FM/6%F +F3FCF[o/6%F+F3F-Fgq/6%F+F7F*F4/6%F+F7F3F7/6%F+F7F7F8/6%F+F7F+F-/6%F+F 7F;FT/6%F+F7F@F4/6%F+F7FCFC/6%F+F7F-F[o/6%F+F+F*Fgq/6%F+F+F3F7/6%F+F+F 7F[o/6%F+F+F+F4/6%F+F+F;F[o/6%F+F+F@FM/6%F+F+FCF[o/6%F+F+F-Fgq" }} {PARA 12 "" 1 "" {XPPMATH 20 "6$Q#1n6\"-%&ARRAYG6$7%;\"\"\"\"\"%F);F* \"\")7\\s/6%F*F*F*\"\"'/6%F*F*\"\"#\"\"(/6%F*F*\"\"$\"\"&/6%F*F*F+\"\" !/6%F*F*F9F+/6%F*F*F1F-/6%F*F*F5\"#8/6%F*F*F-FC/6%F*F4F*F8/6%F*F4F4F1/ 6%F*F4F8F4/6%F*F4F+F1/6%F*F4F9F4/6%F*F4F1\"#5/6%F*F4F5F5/6%F*F4F-\"\"* /6%F*F8F*FF>" }}{PARA 12 "" 1 "" {XPPMATH 20 "6%\"\"%Q\"16\"-%&ARRAYG6$7%;\"\"\"F#F*;F+\"\")7\\s/6 %F+F+F+\"#@/6%F+F+\"\"#\"#:/6%F+F+\"\"$\"#Y/6%F+F+F#\"#K/6%F+F+\"\"&\" #l/6%F+F+\"\"'\"#n/6%F+F+\"\"(\"#e/6%F+F+F-\"$F\"/6%F+F4F+\"#m/6%F+F4F 4\"#()/6%F+F4F8\"#9/6%F+F4F#\"$7\"/6%F+F4F?\"\"*/6%F+F4FC\"$:\"/6%F+F4 FG\"#!*/6%F+F4F-\"$+\"/6%F+F8F+\"$,\"/6%F+F8F4\"#J/6%F+F8F8\"#I/6%F+F8 F#\"#))/6%F+F8F?\"#\"/6%F8F8F8\"#Q/6%F8F8F#\"#U/6%F8F8F?\"#\\/6%F8F8FC\"#**/6%F8F8FG\"# M/6%F8F8F-\"$4\"/6%F8F#F+\"$<\"/6%F8F#F4\"$0\"/6%F8F#F8\"#c/6%F8F#F#\" #[/6%F8F#F?\"#T/6%F8F#FC\"#F/6%F8F#FG\"#d/6%F8F#F-\"#7/6%F#F+F+\"#$*/6 %F#F+F4\"$5\"/6%F#F+F8\"$=\"/6%F#F+F#\"#S/6%F#F+F?\"#;/6%F#F+FC\"#>/6% F#F+FG\"##*/6%F#F+F-\"#o/6%F#F4F+\"#X/6%F#F4F4\"$.\"/6%F#F4F8\"#')/6%F #F4F#\"#b/6%F#F4F?\"#L/6%F#F4FC\"#r/6%F#F4FG\"$A\"/6%F#F4F-\"#_/6%F#F8 F+F?/6%F#F8F4\"#B/6%F#F8F8\"$-\"/6%F#F8F#\"$/\"/6%F#F8F?\"$E\"/6%F#F8F C\"#V/6%F#F8FG\"#]/6%F#F8F-\"#j/6%F#F#F+\"#^/6%F#F#F4\"#&*/6%F#F#F8\"# i/6%F#F#F#\"$B\"/6%F#F#F?F+/6%F#F#FC\"#%*/6%F#F#FG\"#5/6%F#F#F-\"#W" } }{PARA 12 "" 1 "" {XPPMATH 20 "6#-%&ARRAYG6$7%;\"\"\"\"\"%F';F(\"\")7 \\s/6%F(F(F(*$)%\"tG\"\"#F(/6%F(F(F2,&F(F(F1F(/6%F(F(\"\"$,(F(F(F1F(*$ )F1F8F(F(/6%F(F(F)F//6%F(F(\"\"&,&F(F(F/F(/6%F(F(\"\"'F1/6%F(F(\"\"(,( F(F(F/F(F:F(/6%F(F(F+\"\"!/6%F(F2F(FA/6%F(F2F2,*F(F(F1F(F/F(F:F(/6%F(F 2F8F//6%F(F2F)F:/6%F(F2F@F5/6%F(F2FD,&F/F(F:F(/6%F(F2FG,(F(F(F1F(F/F(/ 6%F(F2F+F5/6%F(F8F(Ffn/6%F(F8F2FA/6%F(F8F8,&F1F(F:F(/6%F(F8F),&F(F(F:F (/6%F(F8F@F5/6%F(F8FD,&F1F(F/F(/6%F(F8FGF9/6%F(F8F+F:/6%F(F)F(,(F1F(F/ F(F:F(/6%F(F)F2F5/6%F(F)F8Fbo/6%F(F)F)F1/6%F(F)F@FK/6%F(F)FDF^p/6%F(F) FGF(/6%F(F)F+F5/6%F2F(F(F5/6%F2F(F2Fbo/6%F2F(F8FH/6%F2F(F)F1/6%F2F(F@F go/6%F2F(FDFY/6%F2F(FGF_o/6%F2F(F+F^p/6%F2F2F(F5/6%F2F2F2F5/6%F2F2F8F^ p/6%F2F2F)FP/6%F2F2F@FY/6%F2F2FDFA/6%F2F2FGF5/6%F2F2F+FP/6%F2F8F(F(/6% F2F8F2F9/6%F2F8F8F:/6%F2F8F)Fgo/6%F2F8F@F9/6%F2F8FDFbo/6%F2F8FGFbo/6%F 2F8F+Ffn/6%F2F)F(FY/6%F2F)F2Ffn/6%F2F)F8F5/6%F2F)F)FH/6%F2F)F@F_o/6%F2 F)FDFP/6%F2F)FGFbo/6%F2F)F+F_o/6%F8F(F(F_o/6%F8F(F2Ffn/6%F8F(F8F^p/6%F 8F(F)F1/6%F8F(F@Fbo/6%F8F(FDF9/6%F8F(FGFY/6%F8F(F+F:/6%F8F2F(FP/6%F8F2 F2F(/6%F8F2F8FY/6%F8F2F)F//6%F8F2F@F1/6%F8F2FDF1/6%F8F2FGF(/6%F8F2F+Fb o/6%F8F8F(Fbo/6%F8F8F2FP/6%F8F8F8Fbo/6%F8F8F)FK/6%F8F8F@FH/6%F8F8FDFK/ 6%F8F8FGFfn/6%F8F8F+F_o/6%F8F)F(FP/6%F8F)F2F(/6%F8F)F8F//6%F8F)F)FH/6% F8F)F@Fbo/6%F8F)FDF1/6%F8F)FGF:/6%F8F)F+F1/6%F)F(F(Fgo/6%F)F(F2F9/6%F) F(F8F//6%F)F(F)F(/6%F)F(F@Fbo/6%F)F(FDFY/6%F)F(FGF1/6%F)F(F+FH/6%F)F2F (F^p/6%F)F2F2F:/6%F)F2F8FY/6%F)F2F)Fgo/6%F)F2F@F//6%F)F2FDFgo/6%F)F2FG FK/6%F)F2F+F_o/6%F)F8F(FH/6%F)F8F2F_o/6%F)F8F8F_o/6%F)F8F)F^p/6%F)F8F@ F//6%F)F8FDFA/6%F)F8FGFfn/6%F)F8F+FH/6%F)F)F(F5/6%F)F)F2F(/6%F)F)F8F:/ 6%F)F)F)F^p/6%F)F)F@F:/6%F)F)FDF_o/6%F)F)FGF:/6%F)F)F+FK" }}{PARA 12 " " 1 "" {XPPMATH 20 "6#-%&ARRAYG6$7%;\"\"\"\"\"%F';F(\"\")7\\s/6%F(F(F( ,&%\"tGF(*$)F0\"\"#F(F(/6%F(F(F3,&F0F(*$)F0\"\"$F(F(/6%F(F(F9F6/6%F(F( F)F0/6%F(F(\"\"&,&F1F(F7F(/6%F(F(\"\"',*F(F(F0F(F1F(F7F(/6%F(F(\"\"(,& F(F(F0F(/6%F(F(F+F6/6%F(F3F(F0/6%F(F3F3,&F(F(F7F(/6%F(F3F9\"\"!/6%F(F3 F),(F(F(F0F(F7F(/6%F(F3F@F7/6%F(F3FDF(/6%F(F3FH,(F0F(F1F(F7F(/6%F(F3F+ F6/6%F(F9F(,&F(F(F1F(/6%F(F9F3FA/6%F(F9F9Fgn/6%F(F9F)F0/6%F(F9F@,(F(F( F0F(F1F(/6%F(F9FDFeo/6%F(F9FH,(F(F(F1F(F7F(/6%F(F9F+F\\o/6%F(F)F(Fjo/6 %F(F)F3Feo/6%F(F)F9F7/6%F(F)F)FS/6%F(F)F@F6/6%F(F)FDFV/6%F(F)FHF\\o/6% F(F)F+F6/6%F3F(F(F7/6%F3F(F3Feo/6%F3F(F9FP/6%F3F(F)FS/6%F3F(F@Feo/6%F3 F(FDFjo/6%F3F(FHF(/6%F3F(F+FV/6%F3F3F(F7/6%F3F3F3F(/6%F3F3F9F1/6%F3F3F )F(/6%F3F3F@FE/6%F3F3FDFS/6%F3F3FHF1/6%F3F3F+F\\o/6%F3F9F(F(/6%F3F9F3F A/6%F3F9F9FP/6%F3F9F)F(/6%F3F9F@F(/6%F3F9FDF7/6%F3F9FHF\\o/6%F3F9F+F1/ 6%F3F)F(FA/6%F3F)F3FA/6%F3F)F9Fgn/6%F3F)F)F\\o/6%F3F)F@FE/6%F3F)FDF0/6 %F3F)FHFS/6%F3F)F+F(/6%F9F(F(F(/6%F9F(F3FE/6%F9F(F9F6/6%F9F(F)F//6%F9F (F@F0/6%F9F(FDF6/6%F9F(FHFA/6%F9F(F+FI/6%F9F3F(F7/6%F9F3F3F(/6%F9F3F9F (/6%F9F3F)FA/6%F9F3F@FE/6%F9F3FDFS/6%F9F3FHFP/6%F9F3F+FA/6%F9F9F(FS/6% F9F9F3FV/6%F9F9F9F(/6%F9F9F)Fgn/6%F9F9F@FP/6%F9F9FDFjo/6%F9F9FHFV/6%F9 F9F+FV/6%F9F)F(Fjo/6%F9F)F3Fjo/6%F9F)F9FI/6%F9F)F)FI/6%F9F)F@F(/6%F9F) FDFI/6%F9F)FHFS/6%F9F)F+Feo/6%F)F(F(F//6%F)F(F3FV/6%F)F(F9Fjo/6%F)F(F) F//6%F)F(F@FE/6%F)F(FDFgn/6%F)F(FHFeo/6%F)F(F+FS/6%F)F3F(Fgn/6%F)F3F3F A/6%F)F3F9F(/6%F)F3F)F0/6%F)F3F@FS/6%F)F3FDFS/6%F)F3FHFS/6%F)F3F+Fjo/6 %F)F9F(FE/6%F)F9F3F1/6%F)F9F9FI/6%F)F9F)F6/6%F)F9F@F1/6%F)F9FDF1/6%F)F 9FHFV/6%F)F9F+F\\o/6%F)F)F(F(/6%F)F)F3F(/6%F)F)F9FP/6%F)F)F)FV/6%F)F)F @FA/6%F)F)FDFgn/6%F)F)FHFgn/6%F)F)F+F6" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$Q%hash6\"\"etI=olPN#\\2)3\\z'p!G%Rt^n**>**QLG8Y/Ce\"op=G^Jb5Kf[2 v#z]+(\\?;yt0+9L`G)*e_hcH\"[(4%*[L/k)\\:;*" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 192 "#odTable := array(1..2);\n#M_1_inv := poly_ExtEuc lid(encoding(n,1)[1],t^15) mod 2;\n#tmp0 := expand(M_1_inv*M) mod 2;\n #tmp := encoding(subs(t=2,tmp0),1);\n#ModTable[1] := poly_fft(tmp,F_ma trix);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 224 "a := 45295508376138691014589675118627268 336173679081877356228648649745302455369432184236313659245679739641215; \nn := 452955083761386910145896751186272683361736790818773562286486497 4530245536943218423631365924567973964121511;\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"aG\"cq:7kR(zcCfOJOU=K%p`X-`u\\'['GiNx=3zO%\"nG\"eq6:7kR(zcCfOJO U=K%p`X-`u\\'['GiNx=3zO " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 116 "a _coef := encoding(a,1);\n#num2poly(Modulus);\na_coef := poly_fft(a_coe f,F_matrix);\npoly_fft_inv(a_coef,F_inv_matrix);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%'a_coefG-%)encodingG6$\"cq:7kR(zcCfOJOU=K%p`X-`u\\'[' GiNx=3zO%'a_coefG%'f_coefG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%'f_coefG" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 76 "printlevel := 0;\nfor i from 2 to 72 do\n ifactor(2^i-1);\n print(i,%);\nod;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%+printlevelG\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"\"#-%!G6#\"\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"\"$-%!G6#\"\" (" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"\"%*&-%!G6#\"\"$\"\"\"-F&6#\"\" &F)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"\"&-%!G6#\"#J" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"\"'*&)-%!G6#\"\"$\"\"#\"\"\"-F'6#\"\"(F+" }} {PARA 11 "" 1 "" {XPPMATH 20 "6$\"\"(-%!G6#\"$F\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"\")*(-%!G6#\"\"$\"\"\"-F&6#\"\"&F)-F&6#\"#)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"#9*(-%!G6 #\"\"$\"\"\"-F&6#\"#VF)-F&6#\"$F\"F)" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6$\"#:*(-%!G6#\"\"(\"\"\"-F&6#\"#JF)-F&6#\"$^\"F)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"#;**-%!G6#\"\"$\"\"\"-F&6#\"\"&F)-F&6#\"#F *-F'6#\"#tF*" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"#>-%!G6#\"'(GC&" }} {PARA 11 "" 1 "" {XPPMATH 20 "6$\"#?*,-%!G6#\"\"$\"\"\")-F&6#\"\"&\"\" #F)-F&6#\"#6F)-F&6#\"#JF)-F&6#\"#TF)" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6$\"#@*()-%!G6#\"\"(\"\"#\"\"\"-F'6#\"$F\"F+-F'6#\"$P$F+" }}{PARA 11 " " 1 "" {XPPMATH 20 "6$\"#A**-%!G6#\"\"$\"\"\"-F&6#\"#BF)-F&6#\"#*)F)-F &6#\"$$oF)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"#B*&-%!G6#\"#Z\"\"\"-F &6#\"'\"[y\"F)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"#C*.)-%!G6#\"\"$\" \"#\"\"\"-F'6#\"\"&F+-F'6#\"\"(F+-F'6#\"#8F+-F'6#\"#)F)-F&6#\"%JFF)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"#F*(-%!G 6#\"\"(\"\"\"-F&6#\"#tF)-F&6#\"'dEEF)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"#G*.-%!G6#\"\"$\"\"\"-F&6#\"\"&F)-F&6#\"#HF)-F&6#\"#VF)-F&6#\"$8 \"F)-F&6#\"$F\"F)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"#H*(-%!G6#\"$L# \"\"\"-F&6#\"%.6F)-F&6#\"%*3#F)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"# I*.)-%!G6#\"\"$\"\"#\"\"\"-F'6#\"\"(F+-F'6#\"#6F+-F'6#\"#JF+-F'6#\"$^ \"F+-F'6#\"$J$F+" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"#J-%!G6#\"+ZO[Z@ " }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"#K*,-%!G6#\"\"$\"\"\"-F&6#\"\"&F )-F&6#\"#F*-F'6#\"#PF*-F'6#\"#tF*-F'6#\"$4\"F*" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"#P*&-%!G6#\"$B#\"\"\"-F&6#\"*x\"=jhF)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"#Q*(-%!G6#\"\"$\"\"\"-F&6#\"'jZ)F)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"#S*0- %!G6#\"\"$\"\"\")-F&6#\"\"&\"\"#F)-F&6#\"#6F)-F&6#\"#aF+" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"#V*(-%!G6#\"$J% \"\"\"-F&6#\"(j)*4#F)-F&6#\"%>(*F)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$ \"#W*0-%!G6#\"\"$\"\"\"-F&6#\"\"&F)-F&6#\"#BF)-F&6#\"#*)F)-F&6#\"$(RF) -F&6#\"$$oF)-F&6#\"%8@F)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"#X*.-%!G 6#\"\"(\"\"\"-F&6#\"#JF)-F&6#\"#tF)-F&6#\"$^\"F)-F&6#\"$J'F)-F&6#\"&6L #F)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"#Y**-%!G6#\"\"$\"\"\"-F&6#\"# ZF)-F&6#\"(.iz#F)-F&6#\"'\"[y\"F)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$ \"#Z*(-%!G6#\")HXE8\"\"\"-F&6#\"%^BF)-F&6#\"%8XF)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"#[*4)-%!G6#\"\"$\"\"#\"\"\"-F'6#\"\"&F+-F'6#\"\"(F+-F '6#\"#8F+-F'6#\"#6\"F)-F&6#\"%V@F)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"#_*0-%!G6#\"\"$\"\"\"-F&6#\"\"&F)-F&6#\"#`F)-F&6#\"$d\"F)-F&6#\"% 8;F)-F&6#\"%\">)F)-F&6#\"%JFF)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"#` *(-%!G6#\"&J%p\"\"\"-F&6#\"),WR?F)-F&6#\"%hjF)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"#a*.)-%!G6#\"\"$\"\"%\"\"\"-F'6#\"\"(F+-F'6#\"#>F+-F' 6#\"#tF+-F'6#\"&6s)F+-F'6#\"'dEEF+" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$ \"#b*.-%!G6#\"#B\"\"\"-F&6#\"#JF)-F&6#\"#*)F)-F&6#\"$\"))F)-F&6#\"%\"> $F)-F&6#\"'h>?F)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"#c*2-%!G6#\"\"$ \"\"\"-F&6#\"\"&F)-F&6#\"#)F)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"#m*2)-%!G6#\"\"$\"\"#\"\"\"-F'6#\"\"(F+-F'6#\"#BF+-F' 6#\"#nF+-F'6#\"#*)F+-F'6#\"$$oF+-F'6#\"'z%*fF+-F'6#\"&d3#F+" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"#n*&-%!G6#\"-(Gd#Q=w\"\"\"-F&6#\"*@xq$>F) " }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"#o*0-%!G6#\"\"$\"\"\"-F&6#\"\"&F )-F&6#\"$P\"F)-F&6#\"$`*F)-F&6#\"'r58F)-F&6#\"&\"pVF)-F&6#\"&F*-F'6#\"#PF*-F'6#\"#t F*-F'6#\"$4\"F*-F'6#\"$T#F*-F'6#\"$L%F*-F'6#\"&P(QF*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 324 "find_field_rep := proc (N)\nlocal defPol y,t,sd;\n\nsd := 0;\n\nwhile (sd <> 1) do \n\n defPoly := Randprime( N,t) mod 2;\n if(Primitive(defPoly) mod 2) then\n print(rem(t^( N+1), defPoly,t) mod 2,defPoly);\n if ((rem(t^(N+1), defPoly,t) m od 2) = 1) then\n print(defPoly);\n sd := 1;\n fi ;\n fi;\nod;\nend;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 12 "" 1 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 " #find_field_rep(4);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 99 "prin tlevel:= 0;\nfor i to 16 do\nRandprime(28,x) mod 2;\nif(Primitive(%) m od 2) then\nprint(%%);fi;\nod;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%+p rintlevelG\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"!" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#,H*$)%\"xG\"#G\"\"\"F(*$)F&\"#FF(F(*$)F&\"#EF(F( *$)F&\"#BF(F(*$)F&\"#AF(F(*$)F&\"#@F(F(*$)F&\"#>F(F(*$)F&\"#=F(F(*$)F& \"#F(F(*$)F&\"#7F(F(*$)F&\"#6F(F(*$)F&\"\"*F(F(*$)F&\" \"(F(F(*$)F&\"\"%F(F(*$)F&\"\"$F(F(*$)F&\"\"#F(F(F&F(F(F(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,H*$)%\"xG\"#G\"\"\"F(*$)F&\"#EF(F(*$)F&\"#CF(F (*$)F&\"#AF(F(*$)F&\"#>F(F(*$)F&\"#=F(F(*$)F&\"#F(F(*$)F&\"#:F(F(*$)F&\"#8F(F(*$)F& \"\"*F(F(*$)F&\"\")F(F(*$)F&\"\"'F(F(*$)F&\"\"%F(F(*$)F&\"\"$F(F(*$)F& \"\"#F(F(F(F(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,<*$)%\"xG\"#G\"\"\"F (*$)F&\"#EF(F(*$)F&\"#DF(F(*$)F&\"#BF(F(*$)F&\"#>F(F(*$)F&\"# " 0 "" {MPLTEXT 1 0 257 "f := t^28+t^27+t^26 +t^25+t^24+t^23+t^22+t^21+t^20+t^19+t^18+t^17+t^16+t^15+t^14+t^13+t^12 +t^11+t^10+t^9+t^8+t^7+t^6+t^5+t^4+t^3+t^2+t+1;\nPrimitive(%) mod 2;\n Irreduc(%%) mod 2;\nfactor(f) ;\n#f := t^4+t^3+1;\nfor i to 29 do\n \+ #print(rem((t)^i, f,t) mod 2);\nod;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #>%\"fG,fn\"\"\"F&*$)%\"tG\"#EF&F&*$)F)\"#DF&F&*$)F)\"#CF&F&*$)F)\"#AF &F&*$)F)\"#=F&F&*$)F)\"#F&F&*$)F)\"#?F&F&*$)F)\"#@F&F&*$)F) \"#BF&F&*$)F)\"#FF&F&*$)F)\"#GF&F&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# %&falseG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%%trueG" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#,fn\"\"\"F$*$)%\"tG\"#EF$F$*$)F'\"#DF$F$*$)F'\"#CF$F$ *$)F'\"#AF$F$*$)F'\"#=F$F$*$)F'\"#F$F$*$)F'\"#?F$F$*$)F'\"# @F$F$*$)F'\"#BF$F$*$)F'\"#FF$F$*$)F'\"#GF$F$" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 161 "f := t^29+t^28+t^27+t^26+t^25+t^24+t^23+t^22+t^ 21+t^20+t^19+t^18+t^17+t^16+t^15+t^14+t^13+t^12+t^11+t^10+t^9+t^8+t^7+ t^6+t^5+t^4+t^3+t^2+t+1;\nIrreduc(%%) mod 2;\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"fG,hn\"\"\"F&*$)%\"tG\"#EF&F&*$)F)\"#DF&F&*$)F)\"#C F&F&*$)F)\"#AF&F&*$)F)\"#=F&F&*$)F)\"#F&F&*$)F )\"#?F&F&*$)F)\"#@F&F&*$)F)\"#BF&F&*$)F)\"#FF&F&*$)F)\"#GF&F&" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%%trueG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 90 "f := t^4+t^3+t^2+t+1;\n#f := t^4+t^3+1;\nfor i to 5 d o\n print(rem((t)^i, f,t) mod 2);\nod; " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"fG,,\"\"\"F&%\"tGF&*$)F'\"\"#F&F&*$)F'\"\"$F&F&*$)F '\"\"%F&F&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%\"tG" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#*$)%\"tG\"\"#\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#*$)%\"tG\"\"$\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,*\"\"\"F$%\" tGF$*$)F%\"\"#F$F$*$)F%\"\"$F$F$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\" \"\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 435 "defPoly := t^4+t^3 +t^2+t+1;#t^4+t^3+1;\nprintlevel := 0;\nL_INV := 1;#N^(-1) mod Modulus ;\nBase := 4;\n\nF_matrix := array(1..N,1..N);\nF_inv_matrix := array( 1..N,1..N);\nfor j to 5 do \n F_matrix[1,j] := 1;\n F_inv_matrix [1,j] := 1;\nod;\n\nfor i from 2 to N do\n for j to N do\n F_ma trix[i,j] := rem((t)^((i-1)*(j-1)),defPoly,t) mod 2;\n F_inv_matr ix[N-i+2,j] := F_matrix[i,j]; \n od;\nod;\nprint(F_matrix);\nprin t(F_inv_matrix);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%(defPolyG,,\"\" \"F&%\"tGF&*$)F'\"\"#F&F&*$)F'\"\"$F&F&*$)F'\"\"%F&F&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%+printlevelG\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&L_INVG\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%BaseG\"\"% " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%)F_matrixG-%&arrayG6%;\"\"\"\"\" &F(7\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%-F_inv_matrixG-%&arrayG6%; \"\"\"\"\"&F(7\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7'7'\" \"\"F(F(F(F(7'F(%\"tG*$)F*\"\"#F(*$)F*\"\"$F(,*F(F(F*F(F+F(F.F(7'F(F+F 1F*F.7'F(F.F*F1F+7'F(F1F.F+F*" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'ma trixG6#7'7'\"\"\"F(F(F(F(7'F(,*F(F(%\"tGF(*$)F+\"\"#F(F(*$)F+\"\"$F(F( F/F,F+7'F(F/F+F*F,7'F(F,F*F+F/7'F(F+F,F/F*" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 39 "rem((1+t^2)*(t+t^2),t^4+t^3+1,t) mod 2;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,(%\"tG\"\"\"*$)F$\"\"#F%F%F%F%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 106 "b := vector([t,t^3,t+1,t,0]);\nb_c oef := poly_fft(b,F_matrix);\nb_coef := poly_fft_inv(b_coef,F_inv_matr ix);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"bG-%'vectorG6#7'%\"tG*$)F) \"\"$\"\"\",&F)F-F-F-F)\"\"!" }}{PARA 8 "" 1 "" {TEXT -1 71 "Error, (i n poly_fft) array defined with 1 indices, used with 3 indices\n" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%'b_coefG%'f_coefG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 54 "for i to 32 do \n print(i,Factor(t^i +1 ) mod 2);\nod; " }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"\"\",&F#F#%\"tGF# " }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"\"#*$),&\"\"\"F'%\"tGF'F#F'" }} {PARA 11 "" 1 "" {XPPMATH 20 "6$\"\"$*&,&\"\"\"F&%\"tGF&F&,(F&F&F'F&*$ )F'\"\"#F&F&F&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"\"%*$),&\"\"\"F'% \"tGF'F#F'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"\"&*&,,\"\"\"F&%\"tGF& *$)F'\"\"#F&F&*$)F'\"\"$F&F&*$)F'\"\"%F&F&F&,&F&F&F'F&F&" }}{PARA 11 " " 1 "" {XPPMATH 20 "6$\"\"'*&),&\"\"\"F'%\"tGF'\"\"#F'),(F'F'F(F'*$)F( F)F'F'F)F'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"\"(*(,(\"\"\"F&*$)%\"t G\"\"#F&F&*$)F)\"\"$F&F&F&,&F&F&F)F&F&,(F&F&F)F&F+F&F&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"\")*$),&\"\"\"F'%\"tGF'F#F'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"\"**(,(*$)%\"tG\"\"'\"\"\"F**$)F(\"\"$F*F*F*F*F*,&F*F *F(F*F*,(F*F*F(F**$)F(\"\"#F*F*F*" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$ \"#5*&),,\"\"\"F'%\"tGF'*$)F(\"\"#F'F'*$)F(\"\"$F'F'*$)F(\"\"%F'F'F+F' ),&F'F'F(F'F+F'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"#6*&,&\"\"\"F&%\" tGF&F&,8*$)F'\"#5F&F&*$)F'\"\"*F&F&*$)F'\"\")F&F&*$)F'\"\"(F&F&*$)F'\" \"'F&F&*$)F'\"\"&F&F&*$)F'\"\"%F&F&*$)F'\"\"$F&F&*$)F'\"\"#F&F&F'F&F&F &F&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"#7*&),&\"\"\"F'%\"tGF'\"\"%F' ),(F'F'F(F'*$)F(\"\"#F'F'F)F'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"#8* &,&\"\"\"F&%\"tGF&F&,<*$)F'\"#7F&F&*$)F'\"#6F&F&*$)F'\"#5F&F&*$)F'\"\" *F&F&*$)F'\"\")F&F&*$)F'\"\"(F&F&*$)F'\"\"'F&F&*$)F'\"\"&F&F&*$)F'\"\" %F&F&*$)F'\"\"$F&F&*$)F'\"\"#F&F&F'F&F&F&F&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"#9*(),(\"\"\"F'*$)%\"tG\"\"#F'F'*$)F*\"\"$F'F'F+F'),& F'F'F*F'F+F'),(F'F'F*F'F,F'F+F'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"# :*,,,\"\"\"F&%\"tGF&*$)F'\"\"#F&F&*$)F'\"\"$F&F&*$)F'\"\"%F&F&F&,(F.F& F+F&F&F&F&,&F&F&F'F&F&,(F.F&F'F&F&F&F&,(F&F&F'F&F(F&F&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"#;*$),&\"\"\"F'%\"tGF'F#F'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"#<*(,&\"\"\"F&%\"tGF&F&,0*$)F'\"\")F&F&*$)F'\"\"(F&F& *$)F'\"\"'F&F&*$)F'\"\"%F&F&*$)F'\"\"#F&F&F'F&F&F&F&,,F)F&*$)F'\"\"&F& F&F2F&*$)F'\"\"$F&F&F&F&F&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"#=*(), (*$)%\"tG\"\"'\"\"\"F+*$)F)\"\"$F+F+F+F+\"\"#F+),&F+F+F)F+F/F+),(F+F+F )F+*$)F)F/F+F+F/F+" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"#>*&,H*$)%\"tG \"#=\"\"\"F**$)F(\"#F&F&*$)F)\"\"%F&F&*$)F)\"#FF&F&*$)F )\"#GF&F&F)F&*$)F)\"#=F&F&*$)F)\"# " 0 "" {MPLTEXT 1 0 60 "for i to 29 do\n rem((t^4)^i,t^29-1, t) mod 2;pr int(%);\nod;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*$)%\"tG\"\"%\"\"\"" } }{PARA 11 "" 1 "" {XPPMATH 20 "6#*$)%\"tG\"\")\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*$)%\"tG\"#7\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#*$)%\"tG\"#;\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*$)%\"tG\"#?\" \"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*$)%\"tG\"#C\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*$)%\"tG\"#G\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*$)%\"tG\"\"$\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# *$)%\"tG\"\"(\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*$)%\"tG\"#6\" \"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*$)%\"tG\"#:\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*$)%\"tG\"#>\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*$)%\"tG\"#B\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#* $)%\"tG\"#F\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*$)%\"tG\"\"#\"\" \"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*$)%\"tG\"\"'\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*$)%\"tG\"#5\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*$)%\"tG\"#9\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#* $)%\"tG\"#=\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*$)%\"tG\"#A\"\" \"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*$)%\"tG\"#E\"\"\"" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#%\"tG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*$)%\"t G\"\"&\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*$)%\"tG\"\"*\"\"\"" } }{PARA 11 "" 1 "" {XPPMATH 20 "6#*$)%\"tG\"#8\"\"\"" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#*$)%\"tG\"#<\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #*$)%\"tG\"#@\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*$)%\"tG\"#D\" \"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"\"" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 22 "13^3;11^3;29^2;\n18*19;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"%(>#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"%J8" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#\"$T)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"$U$" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "a := 2;\n%^2;%^ 2;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"aG\"\"#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"#;" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 151 "defpoly := t^4+t^3+t^2+t+1; \nfor i to 16 do\n for j to 4 do\n rem(num2poly(i)*t^j, t^4+t^3 +t^2+t+1,t) mod 2;\n print(num2poly(i),%);\n od;\nod;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%(defpolyG,,\"\"\"F&%\"tGF&*$)F'\"\"#F&F&*$ )F'\"\"$F&F&*$)F'\"\"%F&F&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"\"\"% \"tG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"\"\"*$)%\"tG\"\"#F#" }} {PARA 11 "" 1 "" {XPPMATH 20 "6$\"\"\"*$)%\"tG\"\"$F#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"\"\",*F#F#%\"tGF#*$)F%\"\"#F#F#*$)F%\"\"$F#F#" } }{PARA 11 "" 1 "" {XPPMATH 20 "6$%\"tG*$)F#\"\"#\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%\"tG*$)F#\"\"$\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%\"tG,*\"\"\"F%F#F%*$)F#\"\"#F%F%*$)F#\"\"$F%F%" }} {PARA 11 "" 1 "" {XPPMATH 20 "6$%\"tG\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$,&\"\"\"F$%\"tGF$,&F%F$*$)F%\"\"#F$F$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$,&\"\"\"F$%\"tGF$,&*$)F%\"\"#F$F$*$)F%\"\"$F$F$" }} {PARA 11 "" 1 "" {XPPMATH 20 "6$,&\"\"\"F$%\"tGF$,(F$F$F%F$*$)F%\"\"#F $F$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$,&\"\"\"F$%\"tGF$,(F%F$*$)F%\" \"#F$F$*$)F%\"\"$F$F$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$*$)%\"tG\"\"# \"\"\"*$)F%\"\"$F'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$*$)%\"tG\"\"#\" \"\",*F'F'F%F'F#F'*$)F%\"\"$F'F'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$*$ )%\"tG\"\"#\"\"\"F'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$*$)%\"tG\"\"#\" \"\"F%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$,&\"\"\"F$*$)%\"tG\"\"#F$F$, &F'F$*$)F'\"\"$F$F$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$,&\"\"\"F$*$)% \"tG\"\"#F$F$,(F$F$F'F$*$)F'\"\"$F$F$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$,&\"\"\"F$*$)%\"tG\"\"#F$F$,&F$F$*$)F'\"\"$F$F$" }}{PARA 11 "" 1 " " {XPPMATH 20 "6$,&\"\"\"F$*$)%\"tG\"\"#F$F$,(F$F$F%F$*$)F'\"\"$F$F$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$,&%\"tG\"\"\"*$)F$\"\"#F%F%,&F&F%*$) F$\"\"$F%F%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$,&%\"tG\"\"\"*$)F$\"\"# F%F%,(F%F%F$F%F&F%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$,&%\"tG\"\"\"*$) F$\"\"#F%F%,(F$F%F&F%*$)F$\"\"$F%F%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 $,&%\"tG\"\"\"*$)F$\"\"#F%F%,&F%F%F$F%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$,(\"\"\"F$%\"tGF$*$)F%\"\"#F$F$,(F%F$F&F$*$)F%\"\"$F$F$" }} {PARA 11 "" 1 "" {XPPMATH 20 "6$,(\"\"\"F$%\"tGF$*$)F%\"\"#F$F$,&F$F$F %F$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$,(\"\"\"F$%\"tGF$*$)F%\"\"#F$F$ ,&F%F$F&F$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$,(\"\"\"F$%\"tGF$*$)F%\" \"#F$F$,&F&F$*$)F%\"\"$F$F$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$*$)%\"t G\"\"$\"\"\",*F'F'F%F'*$)F%\"\"#F'F'F#F'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$*$)%\"tG\"\"$\"\"\"F'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$*$)%\"t G\"\"$\"\"\"F%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$*$)%\"tG\"\"$\"\"\"* $)F%\"\"#F'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$,&\"\"\"F$*$)%\"tG\"\"$ F$F$,(F$F$*$)F'\"\"#F$F$F%F$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$,&\"\" \"F$*$)%\"tG\"\"$F$F$,&F$F$*$)F'\"\"#F$F$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$,&\"\"\"F$*$)%\"tG\"\"$F$F$,&F'F$F%F$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$,&\"\"\"F$*$)%\"tG\"\"$F$F$,(F$F$F'F$F%F$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$,&%\"tG\"\"\"*$)F$\"\"$F%F%,(F%F%F$F%F&F%" } }{PARA 11 "" 1 "" {XPPMATH 20 "6$,&%\"tG\"\"\"*$)F$\"\"$F%F%,&F%F%F&F% " }}{PARA 11 "" 1 "" {XPPMATH 20 "6$,&%\"tG\"\"\"*$)F$\"\"$F%F%,(F%F%* $)F$\"\"#F%F%F&F%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$,&%\"tG\"\"\"*$)F $\"\"$F%F%,&F%F%*$)F$\"\"#F%F%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$,(\" \"\"F$%\"tGF$*$)F%\"\"$F$F$,&F$F$F&F$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$,(\"\"\"F$%\"tGF$*$)F%\"\"$F$F$,(F$F$*$)F%\"\"#F$F$F&F$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$,(\"\"\"F$%\"tGF$*$)F%\"\"$F$F$,&F$F$*$)F%\" \"#F$F$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$,(\"\"\"F$%\"tGF$*$)F%\"\"$ F$F$,&F%F$F&F$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$,&*$)%\"tG\"\"#\"\" \"F(*$)F&\"\"$F(F(,(F(F(F&F(F$F(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$,& *$)%\"tG\"\"#\"\"\"F(*$)F&\"\"$F(F(,(F&F(F$F(F)F(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$,&*$)%\"tG\"\"#\"\"\"F(*$)F&\"\"$F(F(,&F(F(F&F(" }} {PARA 11 "" 1 "" {XPPMATH 20 "6$,&*$)%\"tG\"\"#\"\"\"F(*$)F&\"\"$F(F(, &F&F(F$F(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$,(\"\"\"F$*$)%\"tG\"\"#F$ F$*$)F'\"\"$F$F$,&F$F$F%F$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$,(\"\"\" F$*$)%\"tG\"\"#F$F$*$)F'\"\"$F$F$,&F'F$F)F$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$,(\"\"\"F$*$)%\"tG\"\"#F$F$*$)F'\"\"$F$F$,(F$F$F'F$F)F$ " }}{PARA 11 "" 1 "" {XPPMATH 20 "6$,(\"\"\"F$*$)%\"tG\"\"#F$F$*$)F'\" \"$F$F$,&F$F$F)F$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$,(%\"tG\"\"\"*$)F $\"\"#F%F%*$)F$\"\"$F%F%,&F%F%F$F%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$ ,(%\"tG\"\"\"*$)F$\"\"#F%F%*$)F$\"\"$F%F%,&F$F%F&F%" }}{PARA 11 "" 1 " " {XPPMATH 20 "6$,(%\"tG\"\"\"*$)F$\"\"#F%F%*$)F$\"\"$F%F%,&F&F%F)F%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$,(%\"tG\"\"\"*$)F$\"\"#F%F%*$)F$\"\" $F%F%,(F%F%F$F%F&F%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$,*\"\"\"F$%\"tG F$*$)F%\"\"#F$F$*$)F%\"\"$F$F$F$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$,* \"\"\"F$%\"tGF$*$)F%\"\"#F$F$*$)F%\"\"$F$F$F%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$,*\"\"\"F$%\"tGF$*$)F%\"\"#F$F$*$)F%\"\"$F$F$F&" }} {PARA 11 "" 1 "" {XPPMATH 20 "6$,*\"\"\"F$%\"tGF$*$)F%\"\"#F$F$*$)F%\" \"$F$F$F)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$*$)%\"tG\"\"%\"\"\"F'" }} {PARA 11 "" 1 "" {XPPMATH 20 "6$*$)%\"tG\"\"%\"\"\"F%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$*$)%\"tG\"\"%\"\"\"*$)F%\"\"#F'" }}{PARA 11 "" 1 " " {XPPMATH 20 "6$*$)%\"tG\"\"%\"\"\"*$)F%\"\"$F'" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "log[2.](64!);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+R9&*fH!\"(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "1+t +t^2+t^3+t^4;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,,\"\"\"F$%\"tGF$*$)F %\"\"#F$F$*$)F%\"\"$F$F$*$)F%\"\"%F$F$" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 58 "for i to 5 do\n rem(t^(2^i),1+t+t^2+t^3+t^4,t) mod \+ 2;\nod;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*$)%\"tG\"\"#\"\"\"" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#,*\"\"\"F$%\"tGF$*$)F%\"\"#F$F$*$)F%\" \"$F$F$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*$)%\"tG\"\"$\"\"\"" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%\"tG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*$)%\"tG\"\"#\"\"\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{MARK "21 0 0" 117 }{VIEWOPTS 1 1 0 3 4 1802 1 1 1 1 } {PAGENUMBERS 0 1 2 33 1 1 }