At we see, the matrices A and B are 33−SLT and matrix C is 33−Diag. Also AzoBz=Cz.
We consider multiplicative subgroup H of order n=ng+ni+1=37 with generator
ω=1137p−1≡1101389(modp). Therefore, H={1,ω,ω2,ω3,ω4,...,ω36}={1,1101389,876941,1253722,373750,668759,747302,1444226,727349,1364683,1298322,1224122,644775,127745,1610054,257937,1257144,1496263,722913,1195510,1536124,1669124,870923,784349,1262357,1500979,469942,1466322,1364193,358753,1173208,586481,1605555,1190739,1632256,159545,899305}
Note that based on construction for matrices A, B and C, we can conclude that the most number nonzero entries in A and C is ng and in B is 2ng, therefore we can consider m=2ng.
Therefore, consider multiplicative subgroup K of order m=2ng=8 with generator γ=118p−1≡216(modp). Therefore, K={1,γ,γ2,...,γ7}={1,216,46656,7770,1678320,1678105,1631665,1670551}.
AHP Commitment
Commit(ck,mf=(A,B,C),s∈R):
1 - The Prover Selects s=(s1,...,ssAHP(0)) of random space R.
2- The Prover calculates OAHP=Enc(mf=(A,B,C)) as encoded index as following:
The polynomial AHProwA:K→H with AHProwA(k=γi)=ωri for 1≤i≤∣∣A∣∣ , and otherwise AHProwA(k) returns an arbitrary element in H.
So AHProwA(k) on K is a polynomial so that AHProwA(1)=ω33 , AHProwA(γ)=ω34, AHProwA(γ2)=ω35 , AHProwA(γ3)=ω36 and otherwise AHProwA(k) returns arbitrary elements of H, for example AHProwA(γi)=ωi for 4≤i≤7. Therefore,
Also, AHPcolA:K→H with AHPcolA(k=γi)=ωci for 1≤i≤∣∣A∣∣ and otherwise AHPcolA(k) returns an arbitrary element in H.
So, AHPcolA(k) on K is a polynomial so that AHPcolA(1)=1 , AHPcolA(γ)=ω2, AHPcolA(γ2)=1 , AHPcolA(γ3)=ω33 and otherwise AHPcolA(k) returns arbitrary elements of H, for example AHPcolA(γi)=ωi for 4≤i≤7. Therefore, AHPcolA(x)=∑i=18yiLi(x)=344425x7+1483132x6+490249x5+246919x4+662128x3+101801x2+833805x+872505
and , AHPvalA:K→H with AHPvalA(k=γi)=uH(AHProwA(k),AHProwA(k))uH(AHPcolA(k),AHPcolA(k))vi for 1≤i≤∣∣A∣∣=4 where vi is value of ith nonzero entry and otherwise AHPvalA(k) returns zero. Note that based on definition of uH(x,y), for each x∈H, uH(x,x)=∣H∣x∣H∣−1=37x36. So AHPvalA(1)=(37AHProwA36(1))(37AHPcolA36(1))1=37×(ω33)36×37×11, AHPvalA(γ)=(37AHProwA36(γ))(37AHPcolA36(γ))2=37×(ω34)36×37×(ω2)362 , AHPvalA(γ2)=(37AHProwA36(γ2))(37AHPcolA36(γ2))1=37×(ω35)36×37×11, AHPvalA(γ3)=(37AHProwA36(γ3))(37AHPcolA36(γ3))7=37×(ω36)36×37×(ω33)367 ,
and AHPvalA(k)=0 for k∈K−{1,γ,γ2,γ3}. Therefore AHPvalA(x)=∑i=18yiLi(x)=1349736x7+870027x6+189189x5+1024786x4+201373x3+194896x2+1568354x+1218943
Now, AHProwA^, AHPcolA^ and AHPvalA^ are extensions of AHProwA, AHPcolA and AHPvalA so that are agree on K.
Similarly, AHProwB:K→H so that AHProwB(1)=ω33, AHProwB(γ)=ω33, AHProwB(γ2)=ω34 , AHProwB(γ3)=ω35, AHProwB(γ4)=ω35, AHProwB(γ5)=ω36 and for the rest values of K, AHProwB(k) returns arbitrary elements of H, for example AHProwB(γi)=ωi for 6≤i≤7. Therefore AHProwB(x)=∑i=18yiLi(x)=745068x7+1550888x6+311204x5+1053454x4+781197x3+709275x2+356449x+718167
Also, AHPcolB:K→H so that AHPcolB(1)=1 , AHPcolB(γ)=ω, AHPcolB(γ2)=ω10, AHPcolB(γ3)=1 , AHPcolB(γ4)=ω34, AHPcolB(γ5)=1 and for the rest values of K , AHPcolB(k) returns arbitrary elements of H, for example, AHPcolB(γi)=ωi for 6≤i≤7. Therefore AHPcolB(x)=∑i=18yiLi(x)=757883x7+1334841x6+941775x5+1041045x4+898965x3+1498879x2+781052x+1137166
and , AHPvalB:K→H so that AHPvalB(1)=(37AHProwB36(1))(37AHPcolB36(1))5=37×(ω33)36×37×15=, AHPvalB(γ)=(37AHProwB36(γ))(37AHPcolB36(γ))1=37×(ω33)36×37×(ω)361 ,
AHPvalB(γ2)=(37AHProwB36(γ2))(37AHPcolB36(γ2))1=37×(ω34)36×37×11 , AHPvalB(γ3)=(37AHProwA36(γ3))(37AHPcolA36(γ3))10=37×(ω35)36×37×110, AHPvalB(γ4)=(37AHProwA36(γ4))(37AHPcolA36(γ4))1=37×(ω35)36×37×(ω34)361 , AHPvalB(γ5)=(37AHProwA36(γ5))(37AHPcolA36(γ5))1=37×(ω36)36×37×11 ,
and AHPvalB(k)=0 for k∈K−{1,γ,γ2,γ3,γ4,γ5}. Therefore AHPvalB(x)=∑i=18yiLi(x)=1592245x7+169676x6+1573426x5+1612428x4+256156x3+1249861x2+995621x+462292
Now, AHProwB^, AHPcolB^ and AHPvalB^ are extensions of AHProwB, AHPcolB and AHPvalB so that are agree on K.
Similarly, AHProwC:K→H so that AHProwC(1)=ω33, AHProwC(γ)=ω34, AHProwC(γ2)=ω35, AHProwC(γ3)=ω36 and for the rest values of K, AHProwC(k) returns arbitrary elements of H, for example AHProwC(γi)=ωi for 4≤i≤7. Therefore AHProwC(x)=∑i=18yiLi(x)=739930x7+100821x6+664621x5+147929x4+1066695x3+902750x2+454730x+469905
Also, AHPcolC:K→H so that AHPcolC(1)=ω33 , AHPcolC(γ)=ω34, AHPcolC(γ2)=ω35, AHPcolC(γ3)=ω36 and for the rest values of K , AHPcolC(k) returns arbitrary elements of H, for example AHPcolC(γi)=ωi for 4≤i≤7. Therefore AHPcolC(x)=∑i=18yiLi(x)=739930x7+100821x6+664621x5+147929x4+1066695x3+902750x2+454730x+469905
and , AHPvalC:K→H so that AHPvalC(1)=(37AHProwC36(1))(37AHPcolC36(1))1=37×(ω33)36×37×(ω33)361, AHPvalC(γ)=(37AHProwC36(γ))(37AHPcolC36(γ))1=37×(ω34)36×37×(ω34)361 , AHPvalC(γ2)=(37AHProwC36(γ2))(37AHPcolC36(γ2))1=37×(ω35)36×37×(ω35)361 ,AHPvalC(γ3)=(37AHProwC36(γ3))(37AHPcolC36(γ3))1=37×(ω36)36×37×(ω36)361
and AHPvalC(k)=0 for k∈K−{1,γ,γ2,γ3}. Therefore AHPvalC(x)=∑i=18yiLi(x)=435354x7+1188860x6+1158417x5+525698x4+1126753x3+467855x2+544916x+1083027
Now, AHProwC^, AHPcolC^ and AHPvalC^ are extensions of AHProwC, AHPcolC and AHPvalC so that are agree on K.