当前,零知识证明算法多采用单变量多项式。什么样的双变量多项式可用于密码学应用中呢?
1. 双变量多项式
基于以上单变量多项式,引申到双变量多项式:
2. 双变量多项式分类
f ( x , y ) m o d N f(x,y)\ mod\ N f(x,y) mod N的有用的密码学属性有:
- One way functions:单向函数。
- Second preimage resistance:抗第二原像性。
- Collision Resistance:强抗碰撞性。
接下来就是要确定什么样的双变量多项式满足以上密码学属性?
为了更好地理解有限域内
c
←
f
(
x
,
y
)
m
o
d
N
c \leftarrow f(x,y)\ mod\ N
c←f(x,y) mod N的属性,可扩展到理解有理数域内
f
(
x
,
y
)
=
c
∈
Q
f(x,y)=c \in Q
f(x,y)=c∈Q的属性。
2.1 单向函数属性OWF
如
f
(
x
,
y
)
=
x
2
−
5
y
2
+
3
x
y
m
o
d
N
f(x,y)=x^2-5y^2+3xy\ mod\ N
f(x,y)=x2−5y2+3xy mod N多项式的genus为0,不具有单向函数功能。
2.2 抗第二原像性SPR
3. 抗强撞击性CR
若
f
(
x
,
y
)
f(x,y)
f(x,y)为非单射函数,则
f
(
x
,
y
)
f(x,y)
f(x,y)肯定不具有抗强撞击性。反之是否成立呢?
Zagier猜想:
f
Z
a
g
(
x
,
y
)
=
x
7
+
3
y
7
f_{Zag}(x,y)=x^7+3y^7
fZag(x,y)=x7+3y7。
3. Zagier猜想双变量多项式用于commitment
可基于Zagier猜想双变量多项式来构建Chameleon Hash变色龙hash函数:
4. 双变量多项式用于秘密共享VSS(支持Corrupted Dealer场景)
在2020 BIU winter school on cryptography slide Threshold Secret Sharing中介绍了在秘密共享中使用双变量多项式来对分发的秘密实现身份认证:
参考资料:
[1] 2014年论文《Bivariate Polynomials Modulo Composites and Their Applications》
[2] 论文ppt资料《Bivariate Polynomials Modulo Composites and Their Applications》
[3] 2020 BIU winter school on cryptography slide Threshold Secret Sharing