(Ring) Learning With Errors
- Introduced by Lyubashevsky, Peikert and Regev (Eurocrypt 2010)
Factoring problem
e.g.:
3s1+5s2+8s3+e1=279s1+7s2+s3+e2=31s1+2s2+s3+e3=7
- 노이즈(em)가 없을 경우 : s1∼sn, m≥n이면 연립 방정식의 해가 존재 (m은 방정식의 수)
- 노이즈(em)가 있을 경우 : m≥n 이더라도 풀기 힘듬
RLWE
Basic Notation
- Zq: 정수의 집합 (−q/2,q/2], (q는 q>1인 정수)
- 모든 연산은 대부분 mod q가 수행되고 양수인 정수 [0,q)를 주로 다룰 수 있지만 이는 Zq와 동일.
−x≡q−x(mod q) (e.g.: −1≡6(mod 7))
- [⋅]m : modulo m 적용
- ⌊⋅⌉ : 가까운 정수로 반올림
- a,b∈Zqn, a, b의 내적
<a,b>=∑inai⋅bi(mod q)
Definition
Zq={0,1,2,⋯,q−1}Zqn=Zq×⋯×Zqa∈Zqn=[a1,⋯,an] where ai∈ZqGiven a∈Zqn,b=a⋅s+e,find s∈Zqn
e.g.:
⎣⎢⎡391572711⎦⎥⎤⋅⎣⎢⎡s1s2s3⎦⎥⎤+⎣⎢⎡e1e2e3⎦⎥⎤=⎣⎢⎡27317⎦⎥⎤
[A]⋅[s]+[e]=[b]
LWE -> RLWE :
- matrix multiplication 보다는 polynomial multiplication 이 더 빠름
- A -> A'로 더 작은 공간에서 같은 식을 표현할 수 있음
[A′]∗[s]+[e]=[b]
ring 에서 quotient prime을 이용해 modulo 연산을 하듯이 polynomial에서도 polynomial로 나눠주게됨.
Z→Zq:primeZ(x)→Z(x)/p(x)
p(x): irreducable polynomials
- xn+1:if n=2k
- xn+1로 나눴다는 의미는 xn+1=0으로 본다는 뜻
- ∴ xn=−1
(a0+a1x)(s0+s1x)=a0s0=(a0s0−a1s1)=b0+(a0s1+a1s0)+(a0s1+a1s0)+b1 x+a1s1x2 (if x2+1=0)xx

Reference