首先我們給出基本的數(shù)學(xué)定義:
公式1:我們在上一節(jié)[同態(tài)隱藏]已經(jīng)介紹過這個(gè)群的特性,這里簡單解釋一下,定義一個(gè)域:F^p,其中操作類型為加法運(yùn)算與乘法運(yùn)算。
公式2:定義一個(gè)以x為變量的d次多項(xiàng)式函數(shù)P(x),其中x的系數(shù)ai屬于域F^p, 0=
公式3:對于任意一個(gè)s,并且s屬于域F^p,則P(s)的值為1,s, s^2 …..s^d的線性運(yùn)算和,其中線性參數(shù)為a0, a1,……ad。
公式4:其實(shí)P(x)是1,x, x^2……x^d的線性組合,對于此類線性組合在同態(tài)函數(shù)的映射,我們在上一節(jié)計(jì)算E(x+y)時(shí)已經(jīng)給出證明,此處給出關(guān)于P(x)的同態(tài)函數(shù)的證明。
多項(xiàng)式盲估。
如果A知道多項(xiàng)式P(x)上具體的某一點(diǎn)S,但是不知道多項(xiàng)式的具體系數(shù),即不了解P(x)的表達(dá)式。而對于B,他清楚P(x)的具體表達(dá)式,但是不知道具體的某一點(diǎn)S的值,在這樣的情況下,A想知道E(P(s))的值。其中A,B都知道表達(dá)式E(x)=g^x。
此表達(dá)式已經(jīng)在上一節(jié)講過,并且根據(jù)判定性Diff-Hellman假設(shè)[1],在得知g和E(x)的情況下很難推測x的具體值。
此時(shí)在A不泄露s的值,B不泄露P(x)表達(dá)是的情況下,A評估E(P(s))的方法為:
1,A發(fā)送E(1), E(s), ……E(s^d)的值給B,
2,B將公式3代入公式4,計(jì)算E(P(s)),并將結(jié)果返回給A.
用途:
對于評估者V和證明者P,V認(rèn)為自己有一個(gè)正確的多項(xiàng)式,因此他希望證明者P來提供盲估,以證明自己的多項(xiàng)式是否正確,P會(huì)隨機(jī)選擇一個(gè)數(shù)據(jù)點(diǎn)S,并給出相關(guān)的盲估值E(P(s)),然后發(fā)送給V,V得到E(P(S))后判斷自己是否有正確的多項(xiàng)式表達(dá)。這種做法依賴于多項(xiàng)式符號檢驗(yàn)中的規(guī)則,即"不同多項(xiàng)式在不同的點(diǎn)會(huì)不相同"[2]
[1]:https://en.wikipedia.org/wiki/Decisional_Diffie%E2%80%93Hellman_assumption
[2]: https://en.wikipedia.org/wiki/Schwartz%E2%80%93Zippel_lemma