Lôgarit rời rạc

Từ testwiki
Phiên bản vào lúc 04:52, ngày 22 tháng 4 năm 2024 của imported>MrMisterer (Đã lùi lại sửa đổi của 116.110.43.174 (thảo luận) quay về phiên bản cuối của Naazulene)
(khác) ← Phiên bản cũ | Phiên bản mới nhất (khác) | Phiên bản mới → (khác)
Bước tới điều hướng Bước tới tìm kiếm

Lôgarit rời rạc là sự tiếp nối của phép tính lôgarit trên trường số thực vào các nhóm hữu hạn. Ta nhắc lại rằng với hai số thực x, y và cơ số a>0, a≠1,nếu ax=y thì x được gọi là lôgarit cơ số a của y, ký hiệu x= logay.

Lôgarit rời rạc có ứng dụng trong hệ mật mã khóa công khai Hệ mật mã Elgamal, Mật mã dựa trên ghép cặp (Pairing-based Cryptography)... Bản mẫu:TOCright

Ví dụ

Cho p là một số nguyên tố. Xét nhóm nhân các số nguyên modulo p: p*={1,2,...p} với phép nhân modulo p.

Nếu ta tính luỹ thừa bậc k của một số trong nhóm rồi rút gọn theo modulo p thì ta được một số trong nhóm đó. Quá trình này được gọi là luỹ thừa rời rạc modulo p. Chẳng hạn với p=17, lấy a=3, k=4 ta có

34=8113(mod17).

Lôgarit rời rạc là phép tính ngược lại:

Biết:3k13(mod17) hãy tìm k.

Định nghĩa

Tổng quát, giả sử G là một nhóm cyclic hữu hạn có n phần tử. Chúng ta ký hiệu phép toán của G theo kiểu nhân. Giả sử b là một phần tử sinh của G; khi đó mọi phần tử g G có thể viết dưới dạng g = bk với một số nguyên k nào đó. Hơn nữa, hai số nguyên có cùng tính chất đó với gđồng dư theo modulo n. Chúng ta định nghĩa một hàm

logb: G  𝐙n

(trong đó Zn ký hiệu cho vành các số nguyên modulo n) theo g là lớp các số nguyên k modulo n. Hàm này là một đồng cấu nhóm, được gọi là logarit rời rạc theo cơ số b.

Sau đây là công thức đổi cơ số giống như logarith thông thường: Nếu c là một phần tử sinh khác của G, thì:

logc(g)=logc(b)logb(g).

Thuật toán

Chưa có thuật toán hiệu quả nào để tính logarit rời rạc tổng quát logbg.

Có nhiều thuật toán phức tạp, thường sinh ra từ những thuật toán tương tự cho bài toán phân tích thừa số nguyên. Chúng chạy nhanh hơn các thuật toán thô sơ, nhưng vẫn còn chậm hơn so với thời gian đa thức.

Ứng dụng trong mật mã

Logarit rời rạc là bài toán khó (chưa biết một thuật toán hiệu quả nào), trong khi bài toán ngược luỹ thừa rời rạc lại không khó (có thể sử dụng thuật toán bình phương và nhân). Tình trạng này giống như tình hình giữa bài toán thừa số nguyên và phép nhân các số nguyên. Chúng đều có thể dùng để xây dựng cấu trúc cho một hệ mật mã.

Người ta thường chọn nhóm G trong mật mã logarit rời rạc là nhóm cyclic (Zp)×; chẳng hạn như mật mã ElGamal, Trao đổi khoá Diffie-Hellman, và Chữ ký số Elgamal.

Ngoài ra còn có mật mã sử dụng lôgarit rời rạc trong nhóm con cyclic của các đường elliptic trên trường hữu hạn; gọi là mật mã đường cong elliptic.

Tham khảo

Bản mẫu:Tham khảo