Nhâ ̣n xét về hệ mã RSA trên vành Bergman

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 40 - 42)

Văn bản thâ ̣t sự 𝑚 chỉ nằm tại vị trí (1,2) của ma trận 𝑀 = 𝑛𝑐 𝑛𝑢 + 𝑣 𝑎 𝑚 . Tuy nhiên chúng ta có thể đưa thêm văn bản vào 𝑐 và 𝑢 để làm cho độ dài văn bản tăng lên nhằm giảm bớt khối lượng tính tốn.

So sánh với hê ̣ mã ma trận của Varadh arajan, trong đó mỗi văn bản cũng là mô ̣t ma trâ ̣n , người gởi trong hê ̣ mã chúng tôi không phải thực hiê ̣n viê ̣c kiểm tra tính khả nghi ̣ch của ma trâ ̣n M . Các điều kiện gcd 𝑎, 𝑛 = gcd 𝑣, 𝑛 = 1 bảo đảm cho điều này và không làm lô ̣ thông tin về 𝑝 và 𝑞.

Viê ̣c tính toán lũy thừa của ma trâ ̣n đòi hỏi thực hiê ̣n rất nhiều phép toán . Mô ̣t cách khắc phục là chúng ta chọn các giá trị của 𝑎, 𝑐, 𝑢, 𝑣 sao cho có thể thiết lâ ̣p đươ ̣c công thức

28

cho các phần tử ta ̣i vi ̣ trí (1,2) trong các ma trâ ̣n 𝑀𝑘 và 𝐶𝑘. Như vậy viê ̣c mã hóa và giải mã chỉ còn thực hiện trên văn bản thật sự 𝑚 và như vậy lược bỏ rất nhiều phép tốn để tính các phần tử còn lại trong các ma trận t rên. Đây là mô ̣t bài toán mở mà chúng tôi sẽ khảo sát tiếp.

Viê ̣c cho ̣n không khéo các giá tri ̣ 𝑎, 𝑐, 𝑢 và 𝑣 có thể dẫn đến hệ mã tầm thường . Chẳng hạn nếu chọn 𝑎 = 𝑣 = 1, 𝑐 = 𝑢 = 0 thì 𝑀 = 1 𝑚

0 1 . Có thể kiểm tra lại rằ ng 𝑀𝑘 = 1 𝑘𝑚0 1 vớ i mo ̣i 𝑘 ∈ ℕ∗. Hệ thức 𝑀𝑒𝑑 = 1 𝑒𝑑𝑚0 1 dẫn đến hệ mã với viê ̣c mã hóa và giải mã tầm thường như sau: mô ̣t văn bản 𝑚 ∈ ℤ𝑛 sẽ được mã hóa thành 𝑐 = 𝑒𝑚 và rồi 𝑐 đươ ̣c giải mã thành 𝑑𝑐 = 𝑒𝑑𝑚 = 𝑚 (𝑚𝑜𝑑 𝑛).

Cũng như vậy, nếu cho ̣n 𝑐 = 0 và kí hiệu 𝑏 = 𝑛𝑢 + 𝑣, khi đó 𝑀 = 𝑎 𝑚0 𝑏 . Vớ i 𝑘 ∈ ℕ∗, có thể chứng minh được rằng 𝑀𝑘 = 𝑎𝑘 𝑚 𝑎𝑖𝑏𝑘−𝑖−1 𝑘−1 𝑖=0 0 𝑏𝑘 .

Mô ̣t người nào đó lấy được 𝑀𝑘 trên đườ ng truyền sẽ biết đươ ̣c giá tri ̣ 𝑚𝛼 vớ i 𝛼 = 𝑎𝑖𝑏𝑘−𝑖−1

𝑘−1

𝑖=0 , ngườ i đó có thể biết đươ ̣c 𝑚 hoặc phân tích được 𝑛. Thật vâ ̣y, bằng cách tính 𝑑 = gcd⁡(𝑛, 𝛼) sẽ có hai trường hợp xảy ra . Nếu 𝑑 = 1, ngườ i đó sẽ tính được 𝛽 ≡ 𝛼−1(𝑚𝑜𝑑 𝑛) và sau đó sẽ tính được 𝛽 𝑚𝛼 = 𝑚. Nếu 𝑑 ≠ 1, ngườ i đó sẽ biết đươ ̣c mô ̣t ước số của 𝑛 và như vậy sẽ phân tích được 𝑛 = 𝑝𝑞.

Như vâ ̣y, chúng ta nên chọn các giá trị của 𝑎, 𝑐, 𝑑 trong ma trận 𝑀 = 𝑛𝑐 𝑑 𝑎 𝑚 khác 0, khi đó phần tử ở vi ̣ trí (1,2) trong ma trận 𝑀𝑘 là một đa thức theo 𝑚 và việc tìm 𝑚 sẽ rất khó khăn nếu khơng có thơng tin về khóa riêng 𝑑.

29

Chƣơng 5. KHÁI NIỆM GIẢ NGHỊCH ĐẢO VÀ ỨNG DỤNG XÂY

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 40 - 42)

Tải bản đầy đủ (PDF)

(113 trang)