Page 347 - 《软件学报》2026年第4期
P. 347
1788 软件学报 2026 年第 37 卷第 4 期
)
)
(
h
h
r t h
′r e h
′
Q = pk g P /C = pk s e +hr e g s t −hr t (pk r g ) /(pk r pk ) = g pk ′s e ( pk a /pk ′ hr e = Q 2 pk a /pk ′ hr e .
w e
w t
s t
2 a 2 a a a a a
( )
′ ′ ′ ′
由于 pk a , pk , 故 Q , Q 2 , 由于 H 是抗碰撞哈希函数, h = H g ∥ pk a ∥ C 1 ∥ C 2 ∥ P ∥ Q 1 ∥ Q = h = H(g ∥ pk a ∥
2
2
a
C 1 ∥ C 2 ∥ P ∥ Q 1 ∥ Q 2 ) 成立的概率是可忽略的, 故对于 x < L, 在此种情况下证明可通过验证的概率是可忽略的.
2) 交易发送者产生 ElGamal 密文 C 时使用的交易接收者地址 pk r 与生成一次性地址中使用的交易接收者地
′
址 pk 不一致.
r
在此种情况下, pk r , pk , C 1 = g , C 2 = pk r pk , P = pk g . 验证方验证时计算:
r e
′ r t
r e
′
r a r
) h
) h
′ r t h
r e h
h
(
(
h
′
′
′
s t
w e
Q = pk g P /C = pk s e +hr e g s t −hr t ( pk g ) /(pk r pk ) = g pk pk /pk r = Q 2 pk /pk r .
w t
s e
a
r
2
a
a
a
2
r
r
( )
′ ′ ′ ′
由于 pk r , pk , 故 Q , Q 2 , 由于 H 是抗碰撞哈希函数, h = H g ∥ pk a ∥ C 1 ∥ C 2 ∥ P ∥ Q 1 ∥ Q = h = H(g ∥ pk a ∥
r 2 2
C 1 ∥ C 2 ∥ P ∥ Q 1 ∥ Q 2 ) 成立的概率是可忽略的, 故对于 x < L, 在此种情况下证明可通过验证的概率是可忽略的.
综上, 非交互交易接收者身份一致性证明满足可靠性要求. 证毕.
引理 3. 在随机预言机模型下, 交易接收者身份一致性协议具备零知识性.
证明: 模拟器 S 模拟产生模拟证明方式如下.
pk r 生成的 (C 1 ,C 2 ,P) 产
假设 (C 1 ,C 2 ,P) 是对某个 ElGamal 密文和一次地址. 模拟器在未知 (r e ,r t ) 的情况下, 对
生模拟证明的方式如下.
令随机预言机响应列表为 LIST H .
* * w e h w e w t h h
1) 选取随机数 h ← Z 作为挑战值, 选取随机数 w e , w t ← Z , 计算 Q 1 = g /C , Q 2 = pk g P /C .
1
q
2
a
q
LIST H 中, 若在, 则重新执行
2) 查询 δ = (g ∥ pk a ∥ C 1 ∥ C 2 ∥ P ∥ Q 1 ∥ Q 2 ) 是否在 1), 否则, 设置 H(g ∥ pk a ∥ C 1 ∥
C 2 ∥ P ∥ Q 1 ∥ Q 2 ) = h, 并将 (h,δ) 记录到 LIST H 中.
Q 1 , Q 2 可通过验证, 故交易接收者身份一致性协议是零知识的. 证毕.
4.2 RRIPP 方案定义及描述
4.2.1 方案定义
RRIPP 方案由下述算法构成.
λ
( )
RRIPP.SetUp 1 → (pp, sk a )
(1) 初始化算法
初始化算法通常由监管者执行, 用于生成公开参数. 算法输入为安全参数 λ, 算法输出为公开参数 pp 和监管
sk a .
者私钥
(2) 密钥生成算法 RRIPP.KeyGen(pp) → (sk, pk)
密钥生成算法由用户执行, 用于用户生成公私钥. 算法输入为公开参数 pp, 输出公私钥对 (sk, pk).
(3) 交易生成算法 RRIPP.TxGen(pp, pk r , pk a ) → (RRIPP.Tx)
交易生成算法由交易发送者执行, 用于生成交易中与接收者身份隐私保护与监管相关的交易内容. 算法输入
为公开参数 pp, 交易接收者公钥 pk r 以及监管者公钥 pk a , 算法输出为交易中接收者身份隐私保护与监管相关的
交易内容 RRIPP.Tx.
(4) 合法性验证算法 RRIPP.Verif (pp, pk a ,RRIPP.Tx) → (0/1)
合法性验证算法由共识节点和监管者执行, 用于验证交易的合法性. 算法输入为公开参数 pp, 监管者公钥 pk a ,
接收者身份隐私保护与监管相关的交易内容 RRIPP.Tx, 算法输出为验证结果.
RRIPP.Rev(pp, sk r ,RRIPP.Tx) → (otsk r /⊥)
(5) 交易接收算法
交易接收算法由交易接收者执行, 用于接收者识别出与自己相关的交易, 并计算一次性私钥 otsk r . 算法输入
RRIPP.Tx, 算法输出为交易接收
为公开参数 pp, 交易接收者私钥 sk r , 接收者身份隐私保护与监管相关的交易内容
者一次性私钥 otsk r 或者交易无关标识符 ⊥.
(6) 监管算法 RRIPP.Reg(pp, sk a ,RRIPP.Tx) → (pk r /⊥)
监管算法由监管者执行, 用于监管者揭示交易接收者的真实身份. 算法输入为公开参数 pp, 监管者私钥 sk a ,
交易中接收者身份隐私保护与监管相关的交易内容 RRIPP.Tx, 算法输出为交易接收者的真实身份 pk r 或者监管失

