Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Knapsack Cryptosystems 2 ◎ Merkle-Hellman Knapsack Cryptosystem 觀察: (1) 0/1 knapsack problem (i.e. sum of subset) 例:已知 C = 14, A = (1, 10, 5, 22, 3)

Similar presentations


Presentation on theme: "1 Knapsack Cryptosystems 2 ◎ Merkle-Hellman Knapsack Cryptosystem 觀察: (1) 0/1 knapsack problem (i.e. sum of subset) 例:已知 C = 14, A = (1, 10, 5, 22, 3)"— Presentation transcript:

1

2 1 Knapsack Cryptosystems

3 2 ◎ Merkle-Hellman Knapsack Cryptosystem 觀察: (1) 0/1 knapsack problem (i.e. sum of subset) 例:已知 C = 14, A = (1, 10, 5, 22, 3) 試求一個 Boolean vector M s.t.vector Sol :經 費神計算後 解得 M = (1, 1, 0, 0, 1) ---NP complete 問題 此問題正式描述成: 已知一整數 C 及一向量 ,求一 A 之子集合, 其和為 C ;亦即求一 Boolean vector M 使得 說明: 若將要加密之明文當成 binary string M ,加密金匙為 A ,則 C 為密文矣。 思考:若 C 與 A 已知,則要求出 M 之計算難!! 茲此, Simple Knapsack Problem 被提出。

4 3 ◎ Merkle-Hellman Knapsack Cryptosystem (2) Simple Knapsack Problem 例: 已知 C = 14, A’ = (1, 3, 5, 10, 22) 試求一 Boolean Vector M s.t. Sol : 計算步驟可在 線性時間 完成;因為 14 < 22 故知此位元為 0 14 > 10 1 4 < 5 0 4 > 3 1 1 = 1 1 所以 M = (1, 1, 0, 1, 0) 此問題可正式描述成: 已知一整數 C 及一具有 Super Increasing 之向量 A’ (所謂 Super Increasing 即 )

5 4 ◎ Merkle-Hellman Knapsack Cryptosystem 求一 A’ 之子集合,其和為 C ;亦即求一 boolean vector M 使得 THINK : (1) 若 C 與 A’ 已知,則求 M 易矣;因為線性時間即可。 (2) 若 A’ 只讓解密者知悉,則可保安全。 (3) 數學定理: 若 (e, n) = 1 ,則存在唯一整數 d, 0 < d < n ,且 (d, n) = 1 ,使得 ed = 1 mod n 。 Merkle-Hellman Knapsack Cryptosystem : (公開金匙法) Mechanism 如下: 1. 每人任選一 Simple Knapsack ,其中 A’ 是 super increasing , n 是明文 M 的位元數。 2. 任選一整數 u 滿足 。 3. 任選一整數 e 為加密金匙; (e, u) = 1 。 (e, A 是收方之公鑰 ) 4. 計算解密金匙 d 滿足 ed = 1 mod u ; (d, u) = 1 。 (d, A’ 是收方之密鑰 )

6 5 ◎ Merkl-Hellman Knapsack Cryptosystem 5. 公開 A = (eA’) mod u = 6. 保密 (d, u) …… 祕密金匙。 7. 加密: 8. 解密:

7 6 ◎ Graham-Shamir Knapsack Public-Key Cryptosystem Mechanism 如下: 1. 每人任選一 Simple Knapsack ,其中 A’ 是 super increasing , n 是明文 M 的位元數。 2. 任選一整數 u 滿足 。 3. 任選一整數 e 為加密金匙; (e, u) = 1 。 4. 計算解密金匙 d 滿足 ed = 1 mod u ; (d, u) = 1 。 5. 公開 A = (eA’) mod u = 6. 保密 (d, u) …… 祕密金匙。 7. 加密: 8. 解密: A’ 之值依次頁所示

8 7 ◎ Graham-Shamir Knapsack Public-Key Cryptosystem 例示:設 n = 5, A’ = j 1 011010 10000 000101 2 001001 01000 000011 3 010010 00100 000100 4 011000 00010 000111 5 000110 00001 000001 PS : 以二進制表示之 (R j 及 S j 均是隨機亂數 ) , :其第 j 位元為 1 ,其餘位元為 0 , :其前頭┏ ┓ 位元為 0 以保證不會進位, 為一 Simple Knapsack ; 當明文 M = (0, 1, 0, 0,1) = 001111 01001 000100 R I = M S YOU MAY GET M directly


Download ppt "1 Knapsack Cryptosystems 2 ◎ Merkle-Hellman Knapsack Cryptosystem 觀察: (1) 0/1 knapsack problem (i.e. sum of subset) 例:已知 C = 14, A = (1, 10, 5, 22, 3)"

Similar presentations


Ads by Google