Hàm một phía và hàm một phía có cửa sập

Một phần của tài liệu Một số loại chữ ký điện tử và ứng dụng (Trang 28)

Việc phát hiện và sử dụng các hàm số có độ phức tạp tính toán rất lớn có ý nghĩa hết sức quan trọng đối với việc xây dựng các giải pháp về mật mã và an toàn thông tin [2, 5].

1) Hàm một phía

Hàm số y = f(x) đƣợc gọi là hàm một phía, nếu biết x thì tính y là dễ, việc tính ngƣợc từ y tìm x = f-1(y) là rất khó.

Khái niệm ”dễ” đƣợc hiểu là tính đƣợc trong thời gian đa thức, ”khó” đƣợc hiểu là chƣa tìm đƣợc thuật toán để tính đƣợc trong thời gian đa thức.

Ví dụ

(1) Cho n = p.q là tích của hai số nguyên tố lớn, a là một số nguyên sao cho gcd (a, φ(n)) = 1. Hàm số y = xa mod n từ Zn vào Zn là hàm một phía, với giả thiết biết n nhƣng không biết p, q.

(2) Cho p là một số nguyên tố, α là một phần tử nguyên thủy mod p. Hàm y = α x mod p từ Zp* vào Zp* là hàm một phía vì hàm ngƣợc của nó từ y tìm x = logαy là rất khó.

2) Hàm một phía có cửa sập

Hàm số y = f(x) đƣợc gọi là hàm một phía có cửa sập, nếu biết x thì tính y là dễ, việc tính ngƣợc từ y tìm x = f-1(y) là rất khó, nhƣng nếu có cửa sập z để với sự trợ giúp của z thì việc tính x từ y lại trở thành dễ.

Ví dụ

Trong ví dụ (1) trên, nếu biết p, q ta tính φ(n) = (p-1).(q-1) sau đó áp dụng thuật toán Euclide mở rộng tìm đƣợc b sao cho a.b ≡ 1 (mod φ(n)), từ đó dễ tính đƣợc x = yb

1.2.5. Một số bài toán khó đƣợc sử dụng trong lý thuyết mật mã 1) Bài toán phân tích số nguyên thành thừa số nguyên tố

Xét trƣờng hợp phân tích n = p.q, với p, q là các số nguyên tố lớn. Đây là bài toán khó. Hiện đang tranh cãi là bài toán mở hay đóng? Thuộc lớp P hay NP? Hơn 30 năm tồn tại, bài toán này hiện nay coi là thuộc lớp NP [5].

Bằng những phƣơng tiện hiện đại nhất hiện nay, giả sử mỗi phép toán thực hiện trong 1 micro giây, ƣớc lƣợng thời gian tính toán khi phân tích n:

Số chữ số của n Thời gian phân tích

50 4 giờ 75 104 giờ 100 74 năm 200 4.000.000 năm 300 5*1015 năm 500 4*1025 năm

Độ khó của bài toán này làm cơ sở an toàn cho hệ mật mã RSA.

2) Bài toán RSA (Rivest-Shamit-Adleman)

Cho số nguyên dƣơng n là tích của hai số nguyên tố lẻ khác nhau, một số nguyên dƣơng e sao cho gcd(e, φ(n)) = 1, và một số nguyên c; tìm một số nguyên m sao cho me ≡ c (mod n) [2].

Bài toán RSA có thể quy dẫn trong thời gian đa thức về bài toán phân tích số nguyên thành thừa số nguyên tố. Tuy nhiên, cho đến nay chƣa có chứng minh nào cho việc quy dẫn ngƣợc lại. Hai bài toán này là tƣơng đƣơng về độ phức tạp.

3) Bài toán Logarit rời rạc

Cho số nguyên tố p, một phần tử nguyên thủy α của Zp*, và một phần tử β  Zp*. Tìm số nguyên x (0 ≤ x ≤ p-1) sao cho αx

≡ β (mod p) hay x = logαβ (mod p-1) [2].

Chương 2. TỔNG QUAN VỀ MÃ HÓA VÀ CHỮ KÝ SỐ

Một phần của tài liệu Một số loại chữ ký điện tử và ứng dụng (Trang 28)

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

(152 trang)