為什麼 RLWE 比 LWE 輕,為什麼我們可以選擇一個一世aia_i作為一個排列一個1a1a_1在 RLWE 但不是 LWE?
在 LWE,我們有
<一個1,s>+和+μ1∈從q$$ <a_1,s> + e + \mu_1\in \mathbb{Z}_q $$
對於密鑰s∈{0,1}n $ s\in {0,1}^n $ 和一個1∈從nq $ a_1\in \mathbb{Z}_q^n $
這是一個數字的加密μ1 $ \mu_1 $ . 如果我們想加密n $ n $ 不同的μ一世 $ \mu_i $ , 我們需要n $ n $ 不同的一個一世 $ a_i $ . 和n $ n $ 價值觀一個11,…,一個1n $ a_{11}, …, a_{1n} $ 我們能夠加密一個μ1 $ \mu_1 $ .
對於 RLWE,我們有
一個∗s+和+米∈從q[X]n$$ a*s +e + m \in \mathbb{Z}_q[X]^n $$
為了一個∈從q[X]n,和∈從q[X]n,米∈從q[X]n $ a\in \mathbb{Z}_q[X]^n, e\in \mathbb{Z}_q[X]^n, m \in \mathbb{Z}_q[X]^n $ , 和∗ $ * $ 是多項式乘法模Xn+1 $ x^n+1 $ . 這是多項式的加密米 $ m $ 因此加密n $ n $ 數字米1,…,米n $ m_1,…,m_n $ . 和n $ n $ 價值觀一個1,…,一個n $ a_1, …, a_n $ 我們能夠加密n $ n $ 數字。
我認為這就是這個答案的意思:https ://crypto.stackexchange.com/a/47602 。用於加密n $ n $ LWE 中的值,我們需要一個密鑰大小的倍數n2 $ n^2 $ 因為一個 $ a $ 的。對於 RLWE,我們只需要n $ n $ . 但是,對於 RLWE,在他連結的 PDF的第 5 頁上,他說如果我們想加密n $ n $ 向量,我們可以簡單地選擇一個1∈從q[X]n $ a_1\in \mathbb{Z}q[X]^n $ 和其他人一個一世 $ a_i $ 作為函式一個1 $ a_1 $ 像這樣:→一個一世=(一個一世,…,一個n,−一個1,…,−一個一世−1).$$ \vec{a_i} = (a_i, …, a_n, -a_1, …, -a{i-1}). $$首先,為什麼可以為 RLWE 而不是 LWE?對於 LWE,我們有一種線性方程組:
一個一世1s1+一個一世2s2+…+一個一世nsn+和一世=b一世 模q$$ a_{i1}s_1 + a_{i2}s_2 + … + a_{in}s_n + e_i = bi \mbox{ mod q} $$
這應該很難解決。如果我們做到這一點一個一世 $ a_{i} $ 是一個排列一個1 $ a_1 $ 然後我認為這個問題不再難了。我對嗎?但是為什麼 RLWE 仍然很難?僅僅是因為在 RLWE 上我們沒有方程組嗎?我們有
一個一世∗s+和一世+米一世=b一世 反對 Xn + 1$$ a_i*s +e_i + m_i = b_i \mbox{ mod $x^n$ + 1} $$
也許一個一世 $ a_i $ 是一個排列一個1 $ a_1 $ 我猜這裡仍然很難解決問題。
“我們可以簡單地選擇一個一世∈從q[X]n $ a_i \in \mathbb{Z}_q[X]^n $ " => 我認為應該只是 從nq $ \mathbb{Z}_q^n $ .
你必須理解這一段是加密的事實
μ0,…,μn−1 $ \mu_0, \dots, \mu_{n-1} $ 被視為多項式μ=∑μ一世X一世 $ \mu = \sum \mu_i X^i $ 與 RLWE 和多項式∑一個一世X一世 $ \sum a_i X^i $ , 相當於加密每個座標μj $ \mu_j $ 用 LWE 和向量→一個j=(一個j,一個j+1,…,一個n−1,−一個1,…,−一個j−1) $ \vec{a_j}=(a_{j}, a_{j+1}, \dots, a_{n-1}, -a_{1}, \dots, -a_{j-1}) $ .
為什麼是真的?因為如果我們看一下係數Xj $ X^j $ 在 一個∗s+和+μ∈從q[X]n $ a*s +e + \mu \in \mathbb{Z}_q[X]^n $ , 我們正好得到
<一個j,s>+和j+μj $ <a_j,s> + e_j + \mu_j $ (和和j $ e_j $ 的係數Xj $ X^j $ 對於多項式和 $ e $ ).
關於假設的難度:RLWE 是一個比 LWE 獨特(且更容易)的假設。其安全性已被獨立研究。關於你提出的假設,但我只說:
- 您沒有擷取 RLWE(因為− $ - $ ).
- 對於某些排列,問題變得容易得多:
例如,如果σ=(1,2)(3,4)…(n−1,n). $ \sigma = (1,2)(3,4)\dots(n-1, n). $ (用你的符號是一世j=一世j+1 $ i_j = i_j + 1 $ 如果一世j $ i_j $ 是奇數,並且一世j−1 $ i_j -1 $ 如果不是)。
然後我們有C1= <一個,s>+和1+μ1 $ c_1= <a,s> + e_1 + \mu_1 $ , 和 C2=∑n/2j=1(一個2js2j−1+一個2j−1s2j)+和2+μ2. $ c_2 = \sum^{n/2}{j=1} (a{2j}s_{2j-1} + a_{2j-1}s_{2j}) + e_2 + \mu_2. $
然後C1+C2=∑n/2j=1(一個2js2j−1+一個2j−1s2j+一個2js2j+一個2j−1s2j−1)+和1+和2+μ1+μ2. $ c_1 + c_2 = \sum^{n/2}{j=1} (a{2j}s_{2j-1} + a_{2j-1}s_{2j}
- a_{2j}s_{2j} + a_{2j-1}s_{2j-1}) + e_1+ e_2 + \mu_1+ \mu_2. $
=∑n/2j=1(一個2j+一個2j−1)(s2j−1+s2j−1)+和1+和2+(μ1+μ2). $ =\sum^{n/2}{j=1} (a{2j} + a_{2j-1})(s_{2j-1} + s_{2j-1}) + e_1+ e_2 + (\mu_1+ \mu_2). $
然後我們減少了一個因子的維數2 $ 2 $ .
我很想一概而論,並以排列順序說ķ $ k $ , 你可以減少一個因子的維數ķ $ k $ (那麼它可能不安全)。
首先,Regev 描述了 RLWE 可以被視為 LWE 的某個“結構化”實例。這是因為
- 你可以用向量來描述多項式從nq $ \mathbb{Z}_q^n $ ,
- 你可以用向量的加法來描述多項式的加法從nq $ \mathbb{Z}_q^n $ , 和
- 你可以描述多項式的乘法反對(Xn+1) $ \bmod (x^n+1) $ 就向量的“有趣的標量積”而言從nq $ \mathbb{Z}_q^n $ .
最後一步是唯一真正重要的一步。我不會在這裡全部推導出來,但可以證明一世 $ i $ 多項式積的 th 係數一個(X)b(X)反對(q,Xn+1) $ a(x)b(x)\bmod (q, x^n+1) $ 是形式⟨→b,n和G一個C是Cl一世C∘一世(→一個)⟩ $ \langle \vec b, \mathsf{negacyclic}^{\circ i}(\vec a)\rangle $ , 在哪裡n和G一個C是Cl一世C∘一世(→一個) $ \mathsf{negacyclic}^{\circ i}(\vec a) $ 是個一世 $ i $ - 循環移動操作的折疊應用→一個 $ \vec a $ (向左或向右,我總是忘記),並將係數乘以−1 $ -1 $ 當他們“環繞”時。具體來說,它是一世 $ i $ - 操作的折疊迭代
(一個0,…,一個n−1)↦(−一個n−1,一個0,…,一個n−2).$$ (a_0,\dots,a_{n-1})\mapsto (-a_{n-1},a_0,\dots,a_{n-2}). $$
這就是說可以準確地描述一個 RLWE 實例(一個(X),一個(X)s(X)+和(X)) $ (a(x), a(x)s(x) + e(x)) $ 通過用整數向量重寫事物。特別是,如果您設置一個 $ A $ 為以下矩陣(其中[一個,b,C] $ [a,b,c] $ 是一個有列的矩陣 一個,b,C $ a,b,c $ )
一個=[n和G一個C是Cl一世C∘0(→一個),n和G一個C是Cl一世C∘1(→一個),…,n和G一個C是Cl一世C∘(n−1)(→一個)],$$ A = [\mathsf{negacyclic}^{\circ 0}(\vec a),\mathsf{negacyclic}^{\circ 1}(\vec a),\dots, \mathsf{negacyclic}^{\circ (n-1)}(\vec a)], $$
那麼前面提到的 RLWE 實例正好對應於 LWE 實例(一個,一個s+和) $ (A, As + e) $ . 正如 Regev 提到的,這一個 $ A $ 不再是均勻隨機的從n×nq $ \mathbb{Z}_q^{n\times n} $ ,因為它完全由○(n) $ O(n) $ 元素。
首先,為什麼可以為 RLWE 而不是 LWE?
澄清一下,正在做的是將 RLWE 視為 LWE 的結構化形式。一種權衡結構中的一些假設一個 $ A $ 為了節省一些效率。由於 LWE 是“非結構化”版本,因此不能在“非結構化”對像中假設結構。
如果我們做到這一點→一個一世 $ \vec a_i $ 是一個排列→一個1 $ \vec a_1 $ 然後我認為這個問題不再難了。
由於我們只是用不同的語言重寫我們的 RLWE 實例,因此“結構化 LWE”版本很難,如果 RLWE 版本很難的話。因此,RLWE 可以被視為說(對於適當的排列)問題仍然很困難。
請注意,並非所有排列都有效。這很快就變得技術性了,但是從q[X]/(Xn−1) $ \mathbb{Z}_q[x]/(x^n-1) $ 最初是由Miccincio 考慮的(針對 SIS 問題的 Ring 變體)。這個多項式不是不可約的(它的根在X=1 $ x = 1 $ )。然後有一個同態(對應於在 1 處評估多項式)映射一個(X)∈從q[X]/(Xn−1)→從q $ a(x) \in\mathbb{Z}_q[x]/(x^n-1)\to \mathbb{Z}_q $ ,從而導致攻擊。無論如何,這是相關的,因為乘法從q[X]/(Xn−1) $ \mathbb{Z}_q[x]/(x^n-1) $ 對應於的循環排列→一個 $ \vec a $ (而不是上面描述的負環)。
這一切都意味著所有 RLWE 實例的集合可以被視為所有 LWE 實例的集合的子集。從這個角度來看,RLWE 不會比 LWE 更難——任何打破 LWE 的算法都同樣會打破 RLWE。有人可能想知道“RLWE 子集”有多容易——有一些已知的晶格問題,當你假設結構時事情會變得容易得多(我相信 SIVP 是主要的例子)。對於 RLWE 問題,還有一些範例,如果參數化錯誤,事情會變得更容易,例如當您使用Xn−1 $ x^n-1 $ 一個不可約多項式。針對 RLWE 實例的 SVP 問題的近似變體也有一些非平凡的量子攻擊(我相信這是短原理生成器問題)。
以上均不暗示(對於多項式,例如X2ķ+1 $ x^{2^k}+1 $ ,通常使用)對 RLWE 的攻擊比對 LWE 的攻擊更好。有一些作者(即伯恩斯坦)認為額外的結構有助於1
$$ 1 $$,但還沒有具體顯示。 1
$$ 1 $$他認為與所選多項式的伽羅瓦群的大小有關的更細微的東西F(X) $ f(x) $ 在 RLWE 中使用。多項式X2ķ+1 $ x^{2^k}+1 $ 有一個小的伽羅瓦群,大小○(你F) $ O(\deg f) $ . 最大伽羅瓦群的大小為○((你F)!) $ O((\deg f)!) $ , 更大。較大的伽羅瓦群出現在隨機多項式 whp 中,因此“結構較少”。沒有已知的利用小伽羅瓦群的攻擊X2ķ+1 $ x^{2^k}+1 $ .