Public-Key

代理重加密算法中配對的使用

  • August 15, 2017

我無法理解代理重新加密的 AFGH 算法的一部分(我在離散數學方面的背景有點欠缺)。

本文通過以下方式描述了算法設置:

“為了最大限度地減少使用者的秘密儲存,從而成為最佳密鑰,我們提出了 BBS

$$ Blaze et al. 1998 $$, 基於 Elgamal$$ Elgamal 1984 $$在兩組上執行的方案 $ \mathbb{G_1} $ , $ \mathbb{G_2} $ 素數的 $ q $ 帶有雙線性映射 $ e $ : $ \mathbb{G_1} × \mathbb{G_1} $ → $ \mathbb{G_2} $ . 系統參數是隨機發生器 $ g \in \mathbb{G_1} $ 和 $ Z=e(g,g) ∈ \mathbb{G_2} $ 。” 密鑰和重新加密密鑰生成部分都很容易理解,它們與正常 ElGamal 方案中的相同。我的問題是在第一級加密描述中,作者指出 $ c $ 必須這樣計算 $ c = (Z^{ak}, mZ^k) $ , 在哪裡 $ k $ 是一個隨機選擇的元素 $ \mathbb{Z_q} $ .

我不明白到底是什麼 $ (Z^{ak}, mZ^k) $ 是。是 $ Z^{ak} $ 一樣 $ e(g^a, g^k) = e(g,g)^{ak} $ ?

並且是 $ mZ^k $ 一樣 $ e(g^k, g^k) = e(g,g)^{k^2} $ ?

編輯:論文可以在這裡找到。

編輯:進一步澄清:

雖然我可以將 ElGamal 方案背後的數學分解為

$ {c_1^{p-b-1}}{c_2} = ({g^k})^{p-b-1}m{(g^b)^k} = m({g^{p-1})^k}{({g^k})^{-b}}^b = m1^k(g^k)^{-b}(g^k)^b = m $

我不能這樣做 $ (Z^{ak}, mZ^k) $ 或者 $ mZ^k $ . 我想了解 ElGamal 的中間步驟。

是 $ Z^{ak} $ 一樣 $ e(g^a,g^k)=e(g,g)^{ak} $ ?

這是正確的:通過配對的雙線性特性 $ Z^{ak}=e(g,g)^{ak}=e(g^a,g^k) $ .

並且是 $ mZ^k $ 一樣 $ e(g^k,g^k)=e(g,g)^{k^2} $ ?

不它不是。 $ mZ^k $ 是操作 $ \mathbb{G}_2 $ 應用於 $ m $ 和 $ Z^k $ .

我想了解 ElGamal 的中間步驟。

一級解密算法,給定密文 $ c_a=(\alpha,\beta) $ ,根據他們的規範涉及計算 $ \beta/\alpha^{1/a} $ . 如果密文格式正確,那麼 $ \alpha=Z^{ak} $ 和 $ \beta=mZ^k $ 因此

$$ \frac{\beta}{\alpha^{1/a}}=\frac{mZ^k}{(Z^{ak})^{1/a}}=\frac{mZ^k}{Z^k}=m. $$

引用自:https://crypto.stackexchange.com/questions/50850