RSA trên vành thƣơng của vành Euclid

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 27 - 31)

Đi ̣nh nghi ̃a 1.1 Một vành giao hoán có đơn vi ̣ X được gọi là vành Euclid nếu tồn tại một

ánh xạ 𝛿: 𝑋\{0} → ℕ thỏa mãn đồng thời hai điều kiện sau:

i. Nếu 𝑎, 𝑏 là các phần tử khác trong 𝑋 thì 𝛿 𝑎 ≤ 𝛿 𝑎 . 𝛿(𝑏).

ii. Nếu 𝑎, 𝑏 là các phần tử khác trong 𝑋 thì tồn tại các phần tử 𝑞, 𝑟 ∈ 𝑋 sao cho 𝑎 = 𝑏𝑞 + 𝑟 trong đó hoặc 𝑟 = 0 hoặc 𝛿 𝑟 < 𝛿(𝑏).

Ánh xạ 𝛿 trong định nghĩa trên thường được go ̣i là ánh xạ Euclid hoặc là chuẩn trên 𝑋.

15

đươ ̣c go ̣i là ước của đơn vị nếu tồn tại phần tử 𝛽 ∈ 𝑋 sao cho 𝛼𝛽 = 1. Một phần tử 𝑝 ∈ 𝑋 được go ̣i là nguyên tố nếu từ hê ̣ thức 𝑝 = 𝛼. 𝛽(𝛼, 𝛽 ∈ 𝑋) ta suy ra một trong hai phần tử 𝛼, 𝛽 là ước của đơn vị . Vớ i phần tử 𝛼 ∈ 𝑋, ta sẽ kí hiê ̣u < 𝛼 > là ideal sinh ra bởi 𝛼, đó là tâ ̣p gồm những phần tử có da ̣ng 𝛼𝑥 vớ i 𝑥 ∈ 𝑋.

Bây giờ, chúng ta giả sử rằng 𝑋 là một vành Euclid và với mỗi 𝛼 ∈ 𝑋, vành thương 𝑋/< 𝛼 > là hữu hạn. Số các phần tử khả nghi ̣ch trong vành thương 𝑋/< 𝛼 > sẽ được kí hiê ̣u là 𝜑(𝛼) và đây được xem như là mở rộng của hàm Euler .

Phép chia Euclid trong 𝑋 sẽ sinh ra một loạt các khái niệm tương tự như trong và nh số nguyên : ước chung, ước chung lớn nhất của hai phần tử ,… Đă ̣c biê ̣t ta có thể áp du ̣ng thuâ ̣t toán Euclid để tính ước chung lớn nhất , 𝑔𝑐𝑑(𝛼, 𝛽), của hai phần tử 𝛼, 𝛽 trong 𝑋, ngoài ra 𝑔𝑐𝑑(𝛼, 𝛽) của hai phần tử 𝛼, 𝛽 luôn có thể biểu diễn dưới da ̣ng tổ hơ ̣p tuyến tính của 𝛼 và 𝛽, 𝑔𝑐𝑑 𝛼, 𝛽 = 𝑢𝛼 + 𝑣𝛽 (hệ thức Bezout).

Với 𝑝, 𝑞 là hai số nguyên tố , hệ thức 𝜑 𝑝. 𝑞 = 𝜑 𝑝 . 𝜑(𝑞) đóng mô ̣t vai trò quan tro ̣ng trong viê ̣c chứng minh hê ̣ thức 𝑚𝑒𝑑 ≡ 𝑚(mod 𝑛) trong hệ mã RSA gốc . Tương tự hê ̣ thức này, chúng ta có hệ thức tổng quát sau.

Mê ̣nh đề 1.1 Nếu 𝛼, 𝛽 ∈ 𝑋, 𝑔𝑐𝑑 𝛼, 𝛽 = 1 thì 𝜑 𝛼. 𝛽 = 𝜑 𝛼 . 𝜑(𝛽).

Bây giờ, ta sẽ chứng minh hê ̣ thức cơ bản trong RSA . Và từ đây trở đi, kí hiệu [𝑎] được dùng để chỉ phần tử chứa 𝑎 trong vành thương 𝑋/< 𝛾 > vớ i 𝑎, 𝛾 ∈ 𝑋.

Mê ̣nh đề 1.2 Giả sử 𝑝, 𝑞 là các phần tử nguyên tố trong vành Euclid 𝑋 và 𝑒, 𝑑 là các số

nguyên thỏa mãn 𝑔𝑐𝑑 𝑒, 𝜑 𝑝𝑞 = 1 và 𝑒𝑑 ≡ 1(𝑚𝑜𝑑 𝜑 𝑝𝑞 ). Khi đó với mỗi 𝑚 ∈ 𝑋,

hê ̣ thức [𝑚]𝑒𝑑 = [𝑚] sẽ đúng trong vành thương 𝑋/< 𝑝𝑞 >.

Hê ̣ quả 1.1 Với giả thiết như trong mê ̣nh đề 1.2, nếu 𝛿 𝑚 < 𝛿(𝑝𝑞) thì 𝑚 chính là phần

dư trong phép chia 𝑚𝑒𝑑 cho 𝑝𝑞.

16

1.1. Mô hình hê ̣ mã hóa RSA trên vành Euclid 𝑿 - Euclid-RSA

Sinh khóa.

.Chọn hai phần tử nguyên tố phân biệt 𝑝, 𝑞 ∈ 𝑋 và tính 𝜑(𝑝𝑞). .Chọn số nguyên 𝑒 thỏa mãn 𝑔𝑐𝑑 𝑒, 𝜑 𝑝𝑞 = 1.

.Tính 𝑑 ≡ 𝑒−1(𝑚𝑜𝑑 𝜑 𝑝𝑞 ).

.Cơng bớ 𝑛 = 𝑝𝑞 và 𝑒 như khóa công khai, giữ 𝑑 làm khóa riêng.

Mã hóa.

.Văn bản là các phần tử 𝑚 ∈ 𝑋 mà 𝛿 𝑚 < 𝛿(𝑝𝑞). .Văn bản 𝑚 được mã hóa thành 𝑐 = 𝑚𝑒 ∈ 𝑋.

Giải mã.

.Tính 𝑐𝑑 trong 𝑋.

.Chia 𝑐𝑑 cho 𝑝𝑞, phần dư trong phép chia chính là m.

1.2. Biểu diễn các hê ̣ mã tựa-RSA đã biết theo Euclid-RSA

Hê ̣ mã RSA xây dựng trong phần trên sẽ áp du ̣ng được cho các vành trên đó có thể đi ̣nh nghĩa được phép chia Euclid . Sau đây chúng ta sẽ chứng tỏ rằng hê ̣ mã RSA gốc , RSA trên vành thương các đa thức và RSA trên vành thương các só nguyên Gauss là các thể hiện của mô hình Euclid-RSA đã chỉ ra ở trên.

Hê ̣ mã RSA gớc là một thể hiện của mơ hình Euclid-RSA

Trong trường hợp này , vành 𝑋 được xét là vành các số nguyên . Phép chia trên 𝑋 là phép chia giữa các số nguyên . Với 𝑚 ∈ ℤ, chuẩn củ a 𝑚 là số 𝛿 𝑚 = |𝑚|, ideal < 𝑚 > sinh bởi 𝑚 là tập cá c bội số của 𝑚 và vành thương ℤ/< 𝑚 > chính là vành ℤ𝑚. Hàm Euler 𝜑(𝑚) chính là số các phần tử khả nghịch trong ℤ𝑚, cũng chính là số các số trong tâ ̣p {1,2,3, … , 𝑚 − 1} nguyên tố cù ng nhau với 𝑚. Hàm Euler tại số ngun tớ 𝑝 được tính bởi 𝜑 𝑝 = 𝑝 − 1 và với 𝑛 = 𝑝𝑞 là tích của hai số nguyên tố phân biệt 𝑝, 𝑞 thì 𝜑 𝑛 = 𝜑 𝑝 . 𝜑 𝑞 = 𝑝 − 1 (𝑞 − 1). Do việc giải mã được thực hiê ̣n bằng phép chia cho 𝑛 = 𝑝𝑞 nên các phép tính trong quá trình mã hó a và giải mã xem như được tiến hành trong vành thương ℤ𝑛.

17

RSA trên vành thương các đa thức là một thể hiện của Euclid-RSA

Đối với biến thể này của RSA, vành được xét là vành đa thức 𝑋 = ℤ𝑝[𝑥] gồm các đa thức theo biến 𝑥 vớ i hê ̣ số thuô ̣c ℤ𝑝, trong đó 𝑝 là một số nguyên tố . Phép chia Euclid trên 𝑋 chính là phép chia đa thức thơng thường . Với 𝑓(𝑥) ∈ 𝑋, chuẩn 𝛿(𝑓) của 𝑓(𝑥) chính là bâ ̣c của 𝑓(𝑥), vành thương 𝑋/< 𝑓 > là tập các đa thức có b ậc nhỏ hơn bậc của 𝑓(𝑥). Mô ̣t phần tử 𝑓(𝑥) ∈ 𝑋 là nguyên tố nếu 𝑓(𝑥) là bất khả quy trong 𝑋, khi đó hàm Euler ta ̣i 𝑓(𝑥) được tính bởi 𝜑 𝑓 = 𝑝𝑠 − 1 vớ i 𝑠 là bậc của 𝑓(𝑥).

Trong biến thể này, hai đa thức bất khả quy 𝑔 𝑥 , 𝑕 𝑥 ∈ 𝑋 được cho ̣n có bâ ̣c lần lượt là 𝑠 và 𝑟. Khi đó đa thức 𝑓 𝑥 = 𝑔 𝑥 . 𝑕(𝑥) sẽ có bậc là 𝑠 + 𝑟 và ta có

𝜑 𝑓 = 𝜑 𝑔 . 𝜑 𝑕 = 𝑝𝑠 − 1 𝑝𝑟 − 1 .

Khóa chung 𝑒 và khóa riêng 𝑑 được cho ̣n sao cho 𝑒𝑑 ≡ 1(mod 𝜑 𝑓 ). Các văn bản là các đa thức 𝑚(𝑥) ∈ 𝑋 có bậc nhỏ hơn 𝑠 + 𝑟. Văn bản 𝑚(𝑥) sẽ được mã hóa bằng cách tính 𝑐(𝑥) ≡ 𝑚 𝑥 𝑒(mod 𝑓 𝑥 ) và rồi 𝑐(𝑥) được giải mã bằng cách tính (𝑐 𝑥 )𝑑 ≡ 𝑚 𝑥 (mod 𝑓 𝑥 ).

RSA trên vành thương các số nguyên Gauss là một thể hiện của Euclid-RSA

Đối với biến thể này của RSA , ta cho ̣n hai phần tử nguyên tớ 𝛽, 𝛾 ∈ 𝑋 và tính 𝜂 = 𝛽𝛾. Khi đó 𝜑 𝜂 = 𝜑 𝛽 𝜑 𝛾 = 𝛿 𝛽 − 1 (𝛿 𝛾 − 1). Khóa chung 𝑒 và khóa riêng 𝑑 đươ ̣c cho ̣n sao cho 𝑒𝑑 ≡ 1(mod 𝜑 𝜂 ). Văn bản là các phần tử 𝑚 ∈ 𝑋 mà 𝛿 𝑚 < 𝛿(𝜂) sẽ được mã hóa thành 𝑚𝑒 ≡ 𝑐(mod 𝜂). Sau đó 𝑐 sẽ được giải mã bằng cách tính 𝑐𝑑 ≡ 𝑚(mod 𝜂) .

1.3. Nhâ ̣n xét về mô hình Euclid-RSA

Mô hình Euclid-RSA chỉ bao quát được những biến thể RSA xây dựng trên vành Euclid . Trên vành khác vành Euclid hoặc các nhóm khác , chẳng hạn nhóm nhân các ma trâ ̣n hay trên nhóm các đường cong elliptic rất khó để xây dựng mô ̣t phép chia và do đó không thể áp dụng mơ hình trên để xây dựng RSA trên các cấu trúc này . Như vậy, trên các vành không thể đi ̣nh nghĩa được phép chia hay trên nhóm nhân , hê ̣ thức 𝑚𝑒𝑑 = 𝑚 phải được xây dựng bằng con đường khác.

18

Trong phần tiếp theo, ta sẽ xây dựng các điều kiê ̣n để có được hê ̣ thức 𝑚𝑒𝑑 = 𝑚 trên một nửa nhóm và chỉ ra rằng, có thể áp dụng mơ hình này để xây dựng tất cả các RSA đã biết .

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 27 - 31)