隐藏失败者出价的拍卖协议解析
1. 背景与动机
在拍卖场景中,保护失败者出价的隐私是一个重要需求。传统的拍卖协议可能存在一些问题,比如在平局情况下无法有效识别赢家、泄露第二名出价信息、出价表示效率低下以及易受匿名干扰等。为解决这些问题,提出了一种新的拍卖协议,该协议能隐藏非赢家的出价,同时确保公开验证中标出价确实是所有提交出价中最高的。
2. 相关工作回顾
2.1 [KHT98]协议
- 出价表示 :假设存在一组可能的出价价值 $V = {v_1, \cdots, v_L}$,出价者 $i$ 以其身份信息 $ID_i$ 对价值 $v_{bi} \in V$ 进行出价。该价值的编码表示为一个 $L$ 分量的向量,前 $b_i$ 个分量是独立加密的 $ID_i$,其余为 0,记为出价向量 $A_i$。
- $A_i[j] = \begin{cases} f_j(ID_i) & \text{if } b_i < j \ 0 & \text{otherwise} \end{cases}$
- 其中,$f_j$ 是第 $j$ 个分量的加密函数。
- 寻找最高出价 :将所有出价者的出价向量对应分量相加,得到和向量 $T$。
- $T[j] = \sum A_i[j]$
- 如果最后一个分量 $T[L]$ 为 0,则表示没有人出价 $v_L$。从 $j = L$ 开始向前搜索,找到第一个非零值 $T[j]$ 所