Bls-Signature
當消息已知時,BLS 如何防止自適應選擇消息攻擊?
也許下面的問題與我的想法相似,但我不明白: BLS 簽名方案是強不可偽造的嗎?
下面是我想到的攻擊方法。如果知道 m,不能從中創建新簽名嗎?
- sk 是密鑰
- pk 是公鑰
- m 是消息
- S是簽名
- e(P, Q) : 雙線性配對
符號 : pķ=sķ⋅磷小號=sķ⋅米⋅問$$ pk=sk \cdot P\ S=sk \cdot m \cdot Q\ $$
核實: 和(磷,小號)=和(磷,sķ⋅米⋅問)==和(pķ,米⋅問)=和(sķ⋅磷,米⋅問)==和(磷,問)sķ⋅米$$ e(P, S) = e(P, sk \cdot m \cdot Q) == e(pk, m \cdot Q) = e(sk \cdot P, m \cdot Q)\ == e(P, Q)^{sk \cdot m} $$
邪惡的: 小號′=1米⋅米′⋅小號=米′⋅sķ⋅問$$ S’ = \frac{1}{m} \cdot m’ \cdot S = m’ \cdot sk\cdot Q $$
這不是Boneh-Lynn-Schacham 計劃的運作方式。相反,在你的符號中,這一點小號 $ S $ 通過散列消息計算米 $ m $ 到曲線上的一點H(米) $ H(m) $ (以公開且可驗證的方式,例如此 RFC 草案),然後乘以sķ $ sk $ , 因此: 小號=sķ⋅H(米).$$ S=sk\cdot H(m). $$ 驗證然後檢查 和(小號,磷)=和(H(米),pķ).$$ e(S,P)=e(H(m),pk). $$
除非有一個非常糟糕的選擇H $ H $ , 之間應該沒有已知的標量關係H(米) $ H(m) $ 和H(米′) $ H(m’) $ . 你的攻擊需求H(米′)=米′米H(米) $ H(m’)=\frac{m’}mH(m) $ 這通常不是真的。