Example 1

In this section, we provide an example for the Setup phase settings.

Setup(1λ,N)Setup(1^{\lambda},N): This function outputs pp=PC.Setup(1λ,d)pp=PC.Setup(1^{\lambda},d).

We consider an input xx with size of 1. Hence, ni=1n_i=1. Considering a program which requires three gates for its arithmatization, we have ng=3n_g=3. In this example, the maximum number of registers which are changed during the execution is nr=1n_r=1. If the computation is done in F\mathbb{F} of order p=181p=181, F=181|\mathbb{F}|=181. Also,H=n=ng+ni+1=5|\mathbb{H}|=n=n_g+n_i+1=5. Also, bb is a random number in {1,...,FH|\mathbb{F}|-|\mathbb{H}|}={1,...,176}\{1,...,176\} such as b=2b=2. Also, m=2ng=6m=2n_g=6, w=ngnr=2|w|=n_g-n_r=2, K=m=6|\mathbb{K}|=m=6. Hence:

d={dAHP(N,i,j)}i[kAHP]{0},j[sAHP(i)]={6,6,6,6,6,6,6,6,6,4,7,7,7,8,11,4,6,4,4,5,30}d=\{d_{AHP}(N,i,j)\}_{i\in[k_{AHP}]\bigcup\{0\},j\in[s_{AHP}(i)]}=\{6,6,6,6,6,6,6,6,6,4,7,7,7,8,11,4,6,4,4,5,30\}

Now, we run KZG.Setup(1λ,d)KZG.\hspace{1mm}Setup(1^{\lambda},d), considering a generator of F\mathbb{F}, g=2g=2, for each element in dd:

KZG.Setup(1λ,6)=(ck,vk)=({gτi}i=05,gτ)KZG.Setup(1^{\lambda},6)=(ck,vk)=(\{g\tau^i\}_{i=0}^5,g\tau) that for secret element τ=119\tau=119 and generator g=2g=2 outputs ck={gτi}i=05=(2,57,86,98,78,51)ck=\{g\tau^i\}_{i=0}^5=(2, 57, 86, 98, 78, 51) and vk=57vk=57.

KZG.Setup(1λ,4)=(ck,vk)=({gτi}i=03,gτ)KZG.Setup(1^{\lambda},4)=(ck,vk)=(\{g\tau^i\}_{i=0}^3,g\tau) that for secret element τ=119\tau=119 and generator g=2g=2 outputs ck={gτi}i=03=(2,57,86,98)ck=\{g\tau^i\}_{i=0}^3=(2,57,86,98) and vk=57vk=57.

KZG.Setup(1λ,7)=(ck,vk)=({gτi}i=06,gτ)KZG.Setup(1^{\lambda},7)=(ck,vk)=(\{g\tau^i\}_{i=0}^6,g\tau) that for secret element τ=119\tau=119 and generator g=2g=2 outputs ck={gτi}i=06=(2,57,86,98,78,51,96)ck=\{g\tau^i\}_{i=0}^6=(2,57,86,98,78,51,96) and vk=57vk=57.

KZG.Setup(1λ,8)=(ck,vk)=({gτi}i=07,gτ)KZG.Setup(1^{\lambda},8)=(ck,vk)=(\{g\tau^i\}_{i=0}^7,g\tau) that for secret element τ=119\tau=119 and generator g=2g=2 outputs ck={gτi}i=07=(2,57,86,98,78,51,96,21)ck=\{g\tau^i\}_{i=0}^7=(2,57,86,98,78,51,96,21) and vk=57vk=57.

KZG.Setup(1λ,11)=(ck,vk)=({gτi}i=010,gτ)KZG.Setup(1^{\lambda},11)=(ck,vk)=(\{g\tau^i\}_{i=0}^{10},g\tau) that for secret element τ=119\tau=119 and generator g=2g=2 outputs ck={gτi}i=010=(2,57,86,98,78,51,96,21,146,179,124)ck=\{g\tau^i\}_{i=0}^{10}=(2,57,86,98,78,51,96,21,146,179,124) and vk=57vk=57.

KZG.Setup(1λ,6)=(ck,vk)=({gτi}i=05,gτ)KZG.Setup(1^{\lambda},6)=(ck,vk)=(\{g\tau^i\}_{i=0}^5,g\tau) that for secret element τ=119\tau=119 and generator g=2g=2 outputs ck={gτi}i=05=(2,57,86,98,78,51)ck=\{g\tau^i\}_{i=0}^5=(2,57,86,98,78,51) and vk=57vk=57.

KZG.Setup(1λ,30)=(ck,vk)=({gτi}i=029,gτ)KZG.Setup(1^{\lambda},30)=(ck,vk)=(\{g\tau^i\}_{i=0}^{29},g\tau) that for secret element τ=119\tau=119 and generator g=2g=2 outputs ck={gτi}i=029=(2,57,86,98,78,51,96,21,146,179,124,95,83,103,130,85,160,35,ck=\{g\tau^i\}_{i=0}^{29}=(2, 57, 86, 98, 78, 51, 96, 21, 146, 179, 124, 95, 83, 103, 130, 85, 160, 35 , 2,57,86,98,78,51,96,21,146,179,124,95) 2, 57, 86, 98, 78, 51, 96, 21, 146, 179, 124, 95) and vk=57vk=57.

Last updated