最近在看CKKS方案,里面的編碼/解碼用到了n次單位根,感覺基於環上的加密,很多都會用到,現在系統的學習一下!
內容來自:n次單位根
定義
先看定義:
該方程的根z為n次單位根,就是說這些根是復數!
簡單說:n次方根,就是多項式\(x^n-1\)或方程\(x^n-1=0\)在復數域內的n個不同的根,簡稱單位根
具體來講,單位根有n次根的有n個:$$z_i=e^{2\pi ki/n },(k=0,1,2,..,n-1)$$
復數域內:$$x_k=cos(2k\pi/n)+sin(2k\pi/n)I,(k=0,1,2,..,n-1),i是虛數單位$$
舉個例子:
其中提到了“本原根”,后面再去單獨介紹!
性質
1、對於方程\(x^n-1=0\),不同的我單位根只有n個
例如:取k=0,1,2,..,n-1,就得到n個不同的n次單位根
取\(k=q*n+m,(q\in \mathbb{Z}^+,m=(0,1,...,n-1))\)時,\(x_k=x_{q*n+m}=x_m\)
2、n次單位根的模為1,即\(|x_k|=1\)
3、兩個n次單位根(\(x_i,x_j\))的乘積,仍是一個n次單位根\(w_i*w_j=W_{i+j}\),則:
(1)\((x_i)^{-1}=x_{-I}\)
(2)\((x_m)^{k}=x_{m*k}\),(m,k是任意整數,當k=0時,\((x_m)^{0}=1=x_{0}\))
(3)\(x_{m}=x_l\):需要gcd(m,l)=1
(4)任何一個單位根都可以寫為\(x_1\)的冪,如\(x_m=(x_1)^m\),這種根叫做n次本原單位根(n-th primitive unit root),簡稱n次原根或原根。當p和n互素且\(1 \leqslant p < n\)時,\(x_1^p\)都是n次本原單位根
(5)一個n次單位根的共軛復數也是一個n次單位根,記 \(\overline{x}=x_{n-m}\)
(6)對於任意的l和r,都有\((x_i)^r=(x_r)^l\)
(7)若a是整數,則
(8)全部單位根把復數平面的單位圓周(|z|=1)n等分了,構成了外接圓半徑為1的正n邊形的頂點,其中一個頂點為 \(x_0(1,0)\)