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,...,FH1,...,\mid\mathbb{F}\mid-\mid\mathbb{H}\mid} ={ 1,...,1761,...,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=d= { dAHP(N,i,j)d_{AHP}(N,i,j) } $_{i=0,1,...,k_AHP, j=1,2,..,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)=KZG.Setup(1^{\lambda},6)=(ck,vk)= ({ gτig\tau^i } $_{i=0}^5$, gτg \tau)

that for secret element τ=119\tau=119 and generator g=2g=2 outputs ck=ck= { gτig\tau^i } $_{i=0}^5$ =(2,57,86,98,78,51)=(2, 57, 86, 98, 78, 51) and vk=57vk=57.

KZG.Setup(1λ,4)=(ck,vk)=KZG.Setup(1^{\lambda},4)=(ck,vk)= ({ gτig\tau^i } $_{i=0}^3$, gτg \tau)

that for secret element τ=119\tau=119 and generator g=2g=2 outputs ck=ck= { gτig\tau^i } $_{i=0}^3$ =(2,57,86,98)=(2,57,86,98) and vk=57vk=57.

KZG.Setup(1λ,7)=(ck,vk)=KZG.Setup(1^{\lambda},7)=(ck,vk)= ({ gτig\tau^i } $_{i=0}^6$, gτg \tau)

that for secret element τ=119\tau=119 and generator g=2g=2 outputs ck=ck= { gτig\tau^i } $_{i=0}^6$ =(2,57,86,98,78,51,96)=(2,57,86,98,78,51,96) and vk=57vk=57.

KZG.Setup(1λ,8)=(ck,vk)=KZG.Setup(1^{\lambda},8)=(ck,vk)= ({ gτig\tau^i } $_{i=0}^7$, gτg \tau)

that for secret element τ=119\tau=119 and generator g=2g=2 outputs ck=ck= { gτig\tau^i } $_{i=0}^7$ =(2,57,86,98,78,51,96,21)=(2,57,86,98,78,51,96,21) and vk=57vk=57.

KZG.Setup(1λ,11)=(ck,vk)=KZG.Setup(1^{\lambda},11)=(ck,vk)= ({ gτig\tau^i } $_{i=0}^{10}$, gτg \tau)

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

KZG.Setup(1λ,6)=(ck,vk)=KZG.Setup(1^{\lambda},6)=(ck,vk)= ({ gτig\tau^i } $_{i=0}^5$, gτg \tau)

that for secret element τ=119\tau=119 and generator g=2g=2 outputs ck=ck= { gτig\tau^i } $_{i=0}^5$ =(2,57,86,98,78,51)=(2,57,86,98,78,51) and vk=57vk=57.

KZG.Setup(1λ,30)=(ck,vk)=KZG.Setup(1^{\lambda},30)=(ck,vk)= ({ gτig\tau^i } $_{i=0}^{29}$, gτg \tau)

that for secret element τ=119\tau=119 and generator g=2g=2 outputs ck=ck= { gτig\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, 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