中國餘式定理 Chinese Remainder Theorem 與 同構 Isomorphism 特性

目錄

簡介

中國餘式定理Chinese Remainder Theorem(CRT)在密碼理論當中屬於重要的概念,尤其在RSA密碼系統裡也扮演重要的角色。

中國餘式定理

CRT主要想解決的問題是找到共同的數針對不同的模運算式,這種在像是RSA密碼系統計算合成數n取決於pq兩個質數很有幫助。

對於n_{1}, n_{2}, \cdot\cdot\cdot\cdot,n_{m}以及r_{1},r_{2},\cdot\cdot\cdot\cdot,r_{m}n_{i} \perp n_{j}, i \neq j,能夠組成各自的聯立方程式:

x \equiv r_{k} \, (mod \, n_{k})\, , 1 \leq k \leq m

透過上述的每一個聯立方程式可以找出x:

x = [r_{1}N_{1}(N_{1}^{-1} \, mod \, n_{1})+\cdot\cdot\cdot+r_{m}N_{m}(N_{m}^{-1} \, mod \, n_{m})] \, mod \, N

其中N = n_{1}n_{2} \cdot\cdot\cdot n_{m}以及N_{i} = N/n_{i}

舉例:

n_{1} = 3, n_{2} = 4, n_{3} = 7, r_{1} = 1, r_{2} = 3, r_{3} = 1可以組成下列的聯立方程式:

\begin{cases}x \equiv 1 \, (mod \, 3)\\x \equiv 4 \, (mod \, 4)\\x \equiv 1 \, (mod \, 7)\end{cases}

並且N = n_{1}n_{2}n_{3} = 3*4*7 = 84, N_{1} = N/n_{1} = 84/3 = 28, N_{2} = N/n_{2} = 84/4 = 21, N_{3} = N/n_{3} = 84/7 = 12

接著找各個N_{i}的反元素,

N_{1}^{-1} = 28^{-1} \, mod \, 3 \equiv 1 \, mod \, 3\\ N_{2}^{-1} = 21^{-1} \, mod \, 4 \equiv 1 \, mod \, 4\\N_{3}^{-1} = 12^{-1} \, mod \, 7 \equiv 3 \, mod \, 7

這樣就能可以找到x:

x = (1 \times 28 \times 1 + 3 \times 21 \times 1 + 1 \times 12 \times 3) \, mod \, 84 \equiv 43 \, (mod \, 84)

同構 Isomorphism

符合CRT的聯立方程式具有同構的特性,假設Z_{n} = \{0, 1, 2,\cdot\cdot\cdot\cdot,n-1\}以及n_{1},n_{2},\cdot\cdot\cdot\cdot,n_{m}n_{i} \perp n_{j}, i \neq j

Isomorphism: Z_{n} \to Z_{n_{1}} \times Z_{n_{2}} \times \cdot\cdot\cdot \times Z_{n_{m}}: \\ \psi(x) \to (x \, mod \, n_{1}, x \, mod \, n_{2}, \cdot\cdot\cdot, x \, mod \, n_{m})

使用CRT找到x透過\psi^{-1}(x_{1},x_{2},\cdot\cdot\cdot,x_{m})

舉例:

n = pq = 3 \times 5 = 15,可以看成Z_{15} = Z_{3} \times Z_{5}

可以看成0 \to (0, 0)\\2 \to (2, 2) \\ 7 \to (1 ,2)\\ 10 \to (1, 0)等等

(7 + 10) \, mod \, 15 = 2可以看成(1, 2) + (1, 0) = (2, 2) \to 2

或者(7 \times 10) \, mod \, 15 = 10可以看成(1, 2) \times (1, 0) = (1, 0) \to 10

前面提到主要對RSA有用就是因為有同構的特性:

計算x = a^{b} \, mod \, pqpq可以想成n,代表n的群來自Z_{n} \to Z_{p} \times Z_{q},以及k = len(pq)的長度。

a^{b} \, mod \, n \\ \to (a^{b} \, mod \, n \, mod \, p, a^{b} \, mod \, n \, mod \, q)\\ = (a^{b} \, mod \, p, a^{b} \, mod \, q) \\ = ((a \, mod \, p)^{b \, mod \, p-1} \, mod \, p, (a \, mod \, q)^{b \, mod \, q-1} \, mod \, q)\\ = (x_{1}, x_{2})

所以a^{b} \, mod \, n = \psi^{-1} (x_{1}, x_{2}),計算a^{b} \, mod \, n需要O(k^{3})的時間。

Scientia

我是Scientia,研究興趣包含Cryptology, Cryptographic Engineering, Security and Privacy, Computational Complexity, Quantum Cryptography, Cybersecurity, Hardware Security以及Anomaly Detection.

Related Posts

群之可解性

首先讓我們定義G為一個群,我們說G是solvable/soluble(可解)的話代表存在filtration G = G_{0} \rhd G_{1} \rhd \cdots \rhd G_{n} = \{e\}使得說G_{i}/G_{i+1}

在數論當中群(Group)是其中一種重要的概念,代數最基本由三種結構組成:群 Group, 環 Ring, 體 Field,而群作為最基本的代數結構,也是我們在密碼系統中常常使用的,故需要先了解群的定義對於後續密碼系統分析會比較方便。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

You Missed

群之可解性

群之可解性

威脅情報指標 Indicators of compromise (IoC)

威脅情報指標 Indicators of compromise (IoC)

Palo Alto Firewall URL過濾 以及 Application Block Page

Palo Alto Firewall URL過濾 以及 Application Block Page

群

NP-Completeness

NP-Completeness

異常檢測的問題分類

異常檢測的問題分類