Mô hình tổng quát cho RSA – G-RSA

Một phần của tài liệu Nghiên cứu tấn công RSA và xây dựng công cụ phân tích RSA (Trang 31 - 36)

Trong phần này ta sẽ thiết lập mô ̣t mô hình tổng quát hơn cho RSA , bao gồm vi ệc xây dựng một cấu trúc vi ̣ nhóm và các điều kiê ̣n cần đ ể hê ̣ thức 𝑚𝑒𝑑 = 𝑚 được thỏa mãn trên vị nhóm này. Sau đó ta sẽ chứng minh rằng hê ̣ mã RSA gốc cùng với các biến thể của nó sẽ là những thể hiện của mô hình.

2.1. Mô hình G-RSA

Giả sử 𝑋′ là một tập khác rỗng , trên đó đã xác đi ̣nh mô ̣t phép toán hai ngôi ′ sao cho

với phép toán này , 𝑋′ là một nửa nhóm , tứ c là phép toán có tính kết hợp . Để tiê ̣n viê ̣c trình bày chúng tơi kí hiệu theo lới nhân.

Giả sử 𝑋 ⊂ 𝑋′ là tập con khác rỗng và là tập các văn bản cần mã hóa theo kiểu RSA . Chúng tôi xây d ựng mô ̣t số điều kiê ̣n sao cho hê ̣ thức 𝑚𝑒𝑑 = 𝑚 xảy ra trên 𝑋 như trong mệnh đề sau.

Mê ̣nh đề 2.1 Giả sử rằng

d. Tồn tại hai nửa nhóm nhân 𝑈, 𝑉 và hai đồng cấu 𝜇: 𝑋→ 𝑈, 𝜂: 𝑋′→ 𝑉.

e. Tồn tại hai nhóm 𝑈1 ⊂ 𝑈, 𝑈2 ⊂ 𝑈 và hai nhóm 𝑉1 ⊂ 𝑉, 𝑉2 ⊂ 𝑉 sao cho 𝜇 𝑋 ⊂ (𝑈1⋃𝑈2) và 𝜂 𝑋 ⊂ (𝑉1⋃𝑉2).

f. Ánh xạ 𝜃: 𝑋′→ 𝑈 × 𝑉 đi ̣nh nghĩa bởi 𝜃 𝑥 = (𝜇 𝑥 , 𝜂 𝑥 ) là đơn ánh.

Kí hiệu 𝑁𝑖 = 𝑈𝑖 , 𝑀𝑖 = 𝑉𝑖 𝑖 = 1,2 và 𝐿 = 𝑙𝑐𝑚(𝑁1, 𝑁2, 𝑀1, 𝑀2). Khi đó nếu 𝑒, 𝑑 là hai

số nguyên thỏa mãn 𝑒𝑑 ≡ 1(𝑚𝑜𝑑 𝐿) thì 𝑥𝑒𝑑 = 𝑥 vớ i mọi 𝑥 ∈ 𝑋.

19

Hê ̣ mã RSA trên nƣ̉a nhóm nhân – G-RSA Sinh khóa.

.Tính 𝑑 ≡ 𝑒−1(𝑚𝑜𝑑 𝐿).

.Công bố e như là khóa cơng khai và giữ d làm khóa riêng.

Mã hóa.

.𝑋 là khơng gian các văn bản cần mã hóa .

.Một văn bản 𝑚 ∈ 𝑋 được mã hóa thành 𝑐 = 𝑚𝑒.

Giải mã.

.c được giải mã bằng cách tính 𝑐𝑑 = 𝑚𝑒𝑑 = 𝑚.

Chú ý 2.1 Ta có thể chọn bộ (𝑑11, 𝑑12, 𝑑21, 𝑑22) làm khóa riêng thay cho 𝑑, trong đó 𝑑𝑖𝑗 ≡ 𝑒−1 mod 𝐿𝑖𝑗 (𝑖, 𝑗 = 1,2) và 𝐿𝑖𝑗 = lcm 𝑁𝑖, 𝑀𝑗 (𝑖, 𝑗 = 1,2). Nếu 𝜇(𝑐) ∈ 𝑈𝑖

𝜂(𝑐) ∈ 𝑉𝑗 thì 𝑑𝑖𝑗 sẽ được dùng để giải mã bằng cách tính 𝑐𝑑𝑖𝑗 ≡ 𝑚.

Chú ý 2.2 Giả sử 𝑈, 𝑉 là hai vành và 𝑋 = 𝑈 × 𝑉 là vành tích của 𝑈 và 𝑉. Nếu 𝜇 và 𝜂

tương ứng là các phép chiếu từ 𝑋 lên 𝑈 và 𝑉 thì ánh xạ 𝜃: 𝑋′ → 𝑈 × 𝑉 xác định bởi 𝜃 𝑥 = (𝜇 𝑥 , 𝜂 𝑥 ) là đơn ánh.

Chú ý 2.2 như trên sẽ được dùng trong các biến thể của RSA . Sau đây chúng ta sẽ chỉ ra rằng các biến thể của RSA là các thể hiện của mô hình G-RSA này.

2.2. Biểu diễn các hê ̣ mã tựa RSA theo G-RSA

Trong phần tiếp theo, chúng tơi sẽ chứng minh mã hó a RSA cùng với các biến thể của nó là các trường hợp đặc biệt của mơ hình tổng qt G-RSA ở trên.

Hê ̣ mã RSA gốc là một thể hiện của G-RSA

Xét vành 𝑋 = ℤ𝑛 vớ i 𝑛 = 𝑝𝑞 là tích của hai số nguyên tố phân biệt 𝑝, 𝑞 và 𝑋 = 𝑋 là tập các văn bản cần mã hóa . Do có đẳng cấu vành ℤ𝑛 ≅ ℤ𝑝× ℤ𝑞 nên các phép chiếu 𝜇, 𝜂 tương ứng từ 𝑋 lên 𝑈 = ℤ𝑝 và 𝑉 = ℤ𝑞 là đơn ánh theo Chú ý 2.2 ở trên. Do đó , hê ̣ thức 𝑚𝑒𝑑 = 𝑚 sẽ đúng với mọ i 𝑚 ∈ 𝑋 = ℤ𝑛 nếu 𝑒, 𝑑 được cho ̣n sao cho 𝑒𝑑 ≡ 1 𝑚𝑜𝑑 𝐿 . Trong trường hợp này, nếu cho ̣n 𝑈1 = 0 , 𝑈2 = ℤ𝑝\{0}, 𝑉1 = 0 , 𝑉2 = ℤ𝑞\{0} thì

20

𝑀1 = 𝑉1 = 1, 𝑀2 = 𝑉2 = 𝑞 − 1, 𝐿 = 𝑙𝑐𝑚 𝑝 − 1, 𝑞 − 1 . Như thế, ta nhâ ̣n được hê ̣ mã hóa RSA gốc.

Hê ̣ mã hóa RSA trên vành thương các đa thức là một thể hiện của G-RSA

Hê ̣ mã hóa RSA trên vành thương các đa thức là mô ̣t trường hợp đă ̣c biê ̣t của mô hình G - RSA, trong đó

𝑋 = 𝑋 = ℤ𝑝 𝑥 / < 𝑓 𝑥 >,

𝑈 = ℤ𝑝 𝑥 / < 𝑔 𝑥 >, 𝑉 = ℤ𝑝 𝑥 / < 𝑕 𝑥 >, 𝑈1 = 0 , 𝑈2 = 𝑈\ 𝑈1, 𝑉1 = 0 , 𝑉2 = 𝑉\𝑉1,

𝑁1 = 𝑈1 = 1, 𝑁2 = 𝑈2 = 𝑝𝑟 − 1, 𝑀1 = 𝑉1 = 1, 𝑀2 = 𝑉2 = 𝑝𝑠 − 1, còn 𝜇, 𝜂 tương ứ ng là các phép chiếu từ 𝑋 lên ℤ𝑝[𝑥]/<g(x)> và ℤ𝑝[𝑥]/<h(x)> .

Hê ̣ mã hóa RSA trên vành thương các số nguyên Gauss là một thể hiện của G-RSA

Nhắc la ̣i rằng trong hê ̣ mã này , ta cho ̣n 𝛽, 𝛾 là hai phần tử nguyên tố trong ℤ[𝑖] và 𝜂 = 𝛽. 𝛾, thì 𝜑(𝜂) = 𝜑(𝛽). 𝜑(𝛾). Hệ thức 𝑚𝑒𝑑 ≡ 𝑚 được thỏa mãn cho mo ̣i văn bản 𝑚 ∈ ℤ[𝑖]/<𝜂>, trong đó 𝑒, 𝑑 là các số nguyên được chọn sao cho 𝑒, 𝜑(𝜂) = 1 và 𝑒𝑑 ≡ 1(𝑚𝑜𝑑 𝜑(𝜂)). Điều này cho phép tiến hành mã hóa 𝑚 thành 𝑐 ≡ 𝑚𝑒 và giải mã 𝑐𝑑 ≡ 𝑚 cho mọi văn bản 𝑚 ∈ ℤ[𝑖]/<𝜂>.

Hê ̣ mã hóa RSA trên vành thương các số nguyên Gauss là mô ̣t trường hợp đă ̣c biê ̣t của G-RSA trong đó

𝑋 = 𝑋 = ℤ 𝑖 / < 𝜂 >, 𝑈 = ℤ 𝑖 /< 𝛽 >, 𝑉 = ℤ[𝑖]/< 𝛾 >, 𝑈1 = 0 , 𝑈2 = 𝑈\ 𝑈1, 𝑉1 = 0 , 𝑉2 = 𝑉\𝑉1,

𝑁1 = 𝑈1 = 1, 𝑁2 = 𝑈2 = 𝜑 𝛽 , 𝑀1 = 𝑉1 = 1, 𝑀2 = 𝑉2 = 𝜑 𝛾 , 𝐿 = 𝑙𝑐𝑚(𝜑 𝛽 , 𝜑 𝛾 ),

còn 𝜇, 𝜂 tương ứ ng là các phép chiếu từ 𝑋 = ℤ 𝑖 /< 𝜂 > lên 𝑈 = ℤ 𝑖 /< 𝛽 > và 𝑉 = ℤ[𝑖]/< 𝛾 > .

RSA trên vành các ma trận là một thể hiện của G-RSA

Nhắc la ̣i trong hê ̣ mã này , ta cho ̣n hai số nguyên tố 𝑝, 𝑞 và 𝑛 = 𝑝𝑞, còn l là mô ̣t số nguyên dương. Giả sử 𝑀𝑙 𝑝 , 𝑀𝑙(𝑞) và 𝑀𝑙(𝑛) là các nhóm nhân các ma trậ n vng cấp 𝑙

21

không suy biến có hê ̣ số tương ứng trên 𝑍𝑝, 𝑍𝑞 và 𝑍𝑛. Các bậc 𝑁𝑝, 𝑁𝑞 và 𝑁𝑛 của các nhóm này lần lượt là

𝑁𝑝 = 𝑝𝑙 − 1 𝑝𝑙 − 𝑝 … 𝑝𝑙 − 𝑝𝑙−1 , 𝑁𝑞 = 𝑞𝑙 − 1 𝑞𝑙 − 𝑞 … 𝑞𝑙 − 𝑞𝑙−1 , và

𝑁𝑛 = 𝑁𝑝. 𝑁𝑞.

Chọn các số nguyên 𝑒, 𝑑 thỏa mãn đi ều kiện 1 < 𝑒, 𝑑 < 𝑁𝑛, 𝑒, 𝑁𝑛 = 1 và 𝑒𝑑 ≡ 1(𝑚𝑜𝑑 𝑁𝑛). Khi đó 𝑚𝑒𝑑 = 𝑚 với mo ̣i 𝑚 ∈ 𝑀𝑙(𝑛). Điều này cho phép mã hóa văn bản 𝑚 ∈ 𝑀𝑙(𝑛) thành 𝑐 ≡ 𝑚𝑒 và rồi giải mã 𝑐𝑑 ≡ 𝑚.

Do đẳng cấu 𝑀𝑙(𝑛) ≅ 𝑀𝑙(𝑝) × 𝑀𝑙(𝑞), hệ mã RSA trên vành các ma trâ ̣n là trường hợp đă ̣c biê ̣t của R-RSA trong đó

𝑋 = 𝑋 = 𝑀𝑙 𝑛 , 𝑈 = 𝑀𝑙 𝑝 , 𝑈1 = 𝐼𝑝 , 𝑈2 = 𝑀𝑙(𝑝), 𝑉 = 𝑀𝑙 𝑞 , 𝑉1 = 𝐼𝑞 , 𝑉2 = 𝑀𝑙(𝑞),

𝑁1 = 𝑈1 = 1, 𝑁2 = 𝑈2 = 𝑁𝑝, 𝑀1 = 𝑉1 = 1, 𝑀2 = 𝑉2 = 𝑁𝑞, Còn 𝜇, 𝜂 là các phép chiếu từ 𝑀𝑙(𝑛) tương ứ ng lên 𝑀𝑙(𝑝) và 𝑀𝑙(𝑞).

Hê ̣ mã RSA trên nhóm đường cong elliptic là một thể hiện của G-RSA

Hê ̣ mã RSA trên nhóm đường cong elliptic đã mô tả là mô ̣t trường hợp đă ̣c biê ̣t của G - RSA có thể giải thích như sau.

Giả sử 𝑣𝑝 và 𝑣𝑞 là các phần tử sinh tương ứng của nhóm nhân ℤ𝑝∗ và ℤ𝑞∗. Kí hiệu 𝐸𝑝(𝑎, 𝑏)

= {𝑢 𝑣𝑝: 𝑢 ∈ ℤ𝑝} và 𝐸 = {𝑢 𝑣𝑞𝑞(𝑎, 𝑏) : 𝑢 ∈ ℤ𝑞} tương ứ ng là các nhóm đường cong elliptic bù với các nhóm 𝐸𝑝 𝑎, 𝑏 và 𝐸𝑞 𝑎, 𝑏 . Kí hiệu 𝑤1, 𝑤2, 𝑤3 là các phần tử trong ℤ𝑛 sao cho

𝑤1 ≡ 1 mod 𝑝 , 𝑤1 ≡ 𝑣𝑞 mod 𝑞 , 𝑤2 ≡ 𝑣𝑝 mod 𝑝 , 𝑤2 ≡ 1 mod 𝑞 , và

𝑤3 ≡ 𝑣𝑝 mod 𝑝 , 𝑤1 ≡ 𝑣𝑞 mod 𝑞 .

Khi đó với mỡi phần tử 𝑥 ∈ ℤ𝑛, có một và chỉ một trong các trường hợp sau xảy ra : 𝑥3 + 𝑎𝑥 + 𝑏 = 𝑡2,

22

𝑥3 + 𝑎𝑥 + 𝑏 = 𝑡2𝑤1, 𝑥3+ 𝑎𝑥 + 𝑏 = 𝑡2𝑤2, 𝑥3+ 𝑎𝑥 + 𝑏 = 𝑡2𝑤3. Do đó, nếu đi ̣nh nghĩa

𝐸𝑛11 = 𝑥, 𝑦 : 𝑥3 + 𝑎𝑥 + 𝑏 = 𝑦2, 𝑦 ∈ ℤ𝑛 , 𝐸𝑛12 = 𝑥, 𝑦 : 𝑥3 + 𝑎𝑥 + 𝑏 = 𝑦2, 𝑦 = 𝑡 𝑤1, 𝑡 ∈ ℤ𝑛 , 𝐸𝑛21 = 𝑥, 𝑦 : 𝑥3 + 𝑎𝑥 + 𝑏 = 𝑦2, 𝑦 = 𝑡 𝑤2, 𝑡 ∈ ℤ𝑛 , 𝐸𝑛22 = 𝑥, 𝑦 : 𝑥3 + 𝑎𝑥 + 𝑏 = 𝑦2, 𝑦 = 𝑡 𝑤3, 𝑡 ∈ ℤ𝑛 ,

thì với mỗi 𝑥 ∈ ℤ𝑛, tờn tại duy nhất một trong các tập trên chứa một phần tử có tọa độ đầu là 𝑥.

Ta đã biết rằng có thể đi ̣nh nghĩa mô ̣t phép c ộng „+‟ trên 𝐸𝑛11 sao cho (𝐸𝑛11, +) là một nhóm và 𝐸𝑛11 ≅ 𝐸𝑝(𝑎, 𝑏) × 𝐸𝑞(𝑎, 𝑏) như Rosen chứng minh . Khi đó các phép chiếu 𝜇: 𝐸𝑛1 → 𝐸𝑝 𝑎, 𝑏 và 𝜂: 𝐸𝑛1 → 𝐸𝑞(𝑎, 𝑏) là các đồng cấu nhóm . Mơ hình ở trên chỉ ra rằng 𝑒𝑑 𝑥, 𝑦 = 𝑥, 𝑦 vớ i mo ̣i (𝑥, 𝑦) ∈ 𝐸𝑛11 , trong đó 𝑒, 𝑑 là các số nguyên thỏa mãn 𝑒𝑑 ≡ 1(𝑚𝑜𝑑 𝐿11) vớ i 𝐿11 = gcd⁡(𝑁1𝑀1).

Tương tự như vâ ̣y, trên 𝐸𝑛12, 𝐸𝑛21 và 𝐸𝑛22 chúng ta có thể định nghĩa các phép tốn mà có thể kí hiê ̣u chung là phép cộng „ +‟ để các tâ ̣p này trở thành cá c nhóm, đồng thời có các đẳng cấu sau

𝐸𝑛12 ≅ 𝐸𝑝 𝑎, 𝑏 × 𝐸 , 𝑞 𝑎, 𝑏 𝐸𝑛21 ≅ 𝐸 × 𝐸𝑝(𝑎, 𝑏) 𝑞 𝑎, 𝑏 , và

𝐸𝑛22 ≅ 𝐸 × 𝐸𝑝(𝑎, 𝑏) . 𝑞 𝑎, 𝑏

G-RSA đã chỉ ra khẳng đi ̣nh rằng 𝑒𝑑 𝑥, 𝑦 = (𝑥, 𝑦) vớ i mo ̣i (𝑥, 𝑦) ∈ 𝐸𝑛𝑖𝑗(𝑖, 𝑗 = 1,2), trong đó 𝑒, 𝑑 là các số nguyên thỏa mãn 𝑒𝑑 ≡ 1(𝑚𝑜𝑑 𝐿𝑖𝑗) vớ i 𝐿𝑖𝑗 = lcm⁡(𝑁𝑖𝑀𝑗).

Như vâ ̣y , trong hê ̣ mã này , các nhóm rời rạc 𝐸𝑛𝑖𝑗(𝑖, 𝑗 = 1,2) là các trường hợp của G - RSA.

23

Chƣơng 4. MỘT BIẾN THỂ MỚI CỦA RSA

Một phần của tài liệu Nghiên cứu tấn công RSA và xây dựng công cụ phân tích RSA (Trang 31 - 36)