Phức tạp tính toán của các thuật toán

Một phần của tài liệu Xây dựng một số lược đồ chữ ký số tập thể dựa trên bài toán phân tích số (Trang 33 - 34)

Hiệu quả của một thuật toán được ứng dụng trên máy tính hiện đại gồm thời gian thực hiện thuật toán để giải bài toán và bộ nhớ máy tính cần thiết để cài đặt thuật toán. Đối với các máy tính hiện đại thì vấn đề bộ nhớ không còn cấp thiết nữa nhưng vấn đề thời gian luôn hiện hữu. Thời gian thực hiện thuật toán phụ thuộc độ phức tạp của thuật toán. Độ phức tạp tính toán của các thuật toán có thể lấy thời gian thực hiện trên máy tính làm thước đo. Tuy nhiên thước đo này chưa phản ảnh chính xác “độ phức tạp tính toán” của thuật toán, vì thời gian tính toán còn phụ thuộc tốc độ máy tính, bộ nhớ cần thiết để cài đặt thuật toán và kỹ thuật lập trình. Để làm rõ bản chất của “độ phức tạp tính toán” của thuật toán người ta sử dụng khái niệm số lượng các phép tính cơ bản mà chương trình cần thực hiện theo thuật toán để giải xong bài toán.

Lý thuyết độ phức tạp cung cấp một phương pháp để phân tích độ phức tạp tính toán của thuật toán và các kỹ thuật mã hoá khác nhau. Lý thuyết thông tin cho biết một thuật toán mã hoá có thể bị bại lộ, còn lý thuyết độ phức tạp cho biết khả năng bi ̣thám mã của một hệ mã mật. Độ phức tạp thời gian của thuật toán là một hàm của kích thước dữ liệu đầu vào của thuật toán đó. Thông thường độ phức tạp thời gian của thuật toán được kí hiệu là hàm số f(n) (n là đối số của hàm f f là hàm của n, tức là, f là số lượng các phép tính cần thực hiện theo thuật toán, đối với mọi n). Tuy nhiên, xác định được hàm số f(n) là việc làm khó khăn hơn là so sánh nó với những hàm đã biết. Người ta phân các thuật toán theo các lớp xác định để dễ hiểu và dễ biểu diễn.

Ví dụ, những thuật toán có độ phức tạp là n3 được gộp vào cùng nhóm và kí hiệu nhóm này là O(n3). Nói chung, để chỉ hai hàm f(x) và g(x) cùng có độ tăng như nhau (cùng nhóm độ phức tạp tính toán) và viết f ( x) O( g ( x)).

Các thuật toán được chia thành hai lớp tổng quát lớp P (Polynomial - đa thức) và lớp NP (NonPolynomial - không phải đa thức). Các thuật toán thuộc lớp P có độ phức tạp là hàm đa thức. Độ phức tạp các hàm mũ thuộc lớp NP.

Để đánh giá hiệu quả thực hiện của lược đồ chữ ký đề xuất với các lược đồ khác, luận án đánh giá độ phức tạp thời gian của các lược đồ chữ ký thông qua số phép toán cần thực hiện gồm thời gian thực hiện phép tính lũy thừa modulo; thời gian thực hiện phép nghịch đảo modulo; thời gian thực hiện hàm băm; thời gian thực hiện phép nhân modulo…

Chi phí tổng thời gian cần thực hiện các phép toán để tạo chữ ký và kiểm tra chữ ký càng thấp thì hiệu quả thực hiện của lược đồ càng cao.

Một phần của tài liệu Xây dựng một số lược đồ chữ ký số tập thể dựa trên bài toán phân tích số (Trang 33 - 34)

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

(139 trang)
w