Các số ngẫu nhiên và giả ngẫu nhiên đã và đang đóng một vai trò quan trọng trong nhiều lĩnh vực, chẳng hạn như cơ học lượng tử, lý thuyết trò chơi, mật mã… Trong mật mã, các số có tính ngẫu nhiên (gồm các số ngẫu nhiên hoặc giả ngẫu nhiên) lại càng quan trọng hơn và được sử dụng nhiều. Chẳng hạn, các hệ mật thường sử dụng các khóa được tạo ra như một đại lượng ngẫu nhiên. Nhiều giao thức mật mã cũng yêu cầu các đầu vào có tính ngẫu nhiên, ví dụ đối với các tham số bổ trợ trong việc sinh chữ ký số hoặc trong việc tạo ra các thách thức ngẫu nhiên trong các giao thức xác thực.
Hơn nữa, độ an toàn của nhiều lược đồ và giao thức mật mã phụ thuộc chủ yếu vào các thành phần (có tính) ngẫu nhiên đó.
Có hai loại bộ sinh số ngẫu nhiên (RNGs) cơ bản được sử dụng để sinh các dãy số ngẫu nhiên: các bộ sinh số ngẫu nhiên thực sự (True Random Number Generators (TRNGs)) và các bộ sinh số giả ngẫu nhiên (Pseudo/Deterministic Random Number Generators (PRNGs)). Trong các ứng dụng mật mã, cả hai loại bộ sinh này tạo ra một chuỗi các bit 0 và 1 mà có thể chia thành các chuỗi con hoặc các khối của các số ngẫu nhiên. Đối với việc kiểm tra tính ngẫu nhiên, các kiểm tra dựa trên giả thiết thống kê được sử dụng rộng rãi để đánh giá chất lượng của các bộ sinh số ngẫu nhiên, trong đó kiểm tra xem khi nào các dãy đầu ra có phù hợp với giả thiết cho trước, tức là dãy có tính ngẫu nhiên hoàn thiện (perfect randomness) hay không. Hơn nữa các kiểm tra tính ngẫu nhiên theo thống kê cũng được sử dụng để đánh giá đầu ra của các nguyên thủy mật mã, chẳng hạn như các mã khối, hàm băm để bước đầu đánh giá tính không thể phân biệt được giữa các đầu ra của chúng với đầu ra được chọn ngẫu nhiên. Một số bộ kiểm tra thống kê được sử dụng phổ biến bao gồm: bộ tiêu chuẩn kiểm tra được đề xuất bởi Knuth [1], Diehard [2] được đề xuất bởi Marsaglia và sử dụng phổ biến nhất hiện nay chính là NIST SP 800-22 [3] và được chuẩn hóa bởi Viện Tiêu chuẩn và Công nghệ quốc gia Hoa kỳ (NIST). Theo chúng tôi, một trong những lý do là bởi vì NIST công bố mã nguồn của bộ kiểm tra này. Bộ kiểm tra của NIST ban đầu gồm 16 tiêu chuẩn kiểm tra, sau đó trong bản cập nhật mới nhất năm 2010 rút xuống còn 15 tiêu chuẩn, khi loại bỏ đi tiêu chuẩn nén Lempel-Ziv. Đã có nhiều nghiên cứu chỉ ra rằng, một số tiêu chuẩn kiểm tra của NIST là chưa chính xác và cần phải chỉnh sửa hoặc thay thế bằng cách tiêu chuẩn khác.
Đối với người dùng khi tiếp cận bộ tiêu chuẩn này sẽ có 3 vấn đề chính được đặt ra. Thứ nhất, đọc hiểu và nắm được chi tiết và chính xác nội dung trong tài liệu mà NIST đã công bố. Các nội dung chính trong tài liệu này sẽ được chúng tôi trình bày sơ lược trong phần II. Vấn đề thứ hai đó là việc khai thác sử dụng chính xác mã nguồn của bộ kiểm tra, đồng thời kiểm tra tính đúng đắn, đối chiếu giữa mã nguồn và mô tả lý thuyết trong tài liệu. Ở mức cao hơn, người dùng có thể tùy chỉnh mã nguồn để chính xác hóa các công thức hoặc bổ sung các kiểm tra khác theo ý muốn. Vấn đề cuối cùng, cũng là khó khăn nhất đó chính là đảm bảo cơ sở lý thuyết cho các kiểm tra của bộ kiểm tra này. Trong tài liệu mà NIST công bố, họ không đưa ra cơ sở lý thuyết một cách rõ ràng mà chỉ liệt kê các tài liệu liên quan đến kiểm tra tương ứng. Theo đánh giá của chúng tôi, có những kiểm tra đã có cơ sở lý thuyết một cách rõ ràng như kiểm tra tần số, kiểm tra tần số trong một khối; lại có những kiểm tra có thể làm rõ được cơ sở lý thuyết theo các tài liệu công bố như kiểm tra loạt, hạng ma trận, so khớp mẫu, độ phức tạp tuyến tính, tổng tích lũy; nhưng cũng có những kiểm tra không dễ để có thể làm rõ cơ sở lý thuyết như kiểm tra DFT, Serial, phổ quát của Maurer, entropy xấp xỉ, viếng thăm ngẫu nhiên và biến thể viếng thăm ngẫu nhiên.
Như đã trình bày, vấn đề đầu tiên đối với người dùng là đọc hiểu và nắm được chi tiết tài liệu báo cáo mà NIST công bố. Tài liệu NIST SP 800-22 Revision 1a dài 131 trang, được chia làm 5 Mục và 7 Phụ lục. Mục 1 của tài liệu đưa ra một số khái niệm về tính ngẫu nhiên, độ bất định, các bộ sinh số ngẫu nhiên và giả ngẫu nhiên cùng với một số khái niệm và ký hiệu toán học. Mục 2 chiếm phần lớn nội dung khi trình bày về mục đích, cách gọi hàm, mô tả, phân phối tham chiếu, mức ý nghĩa, tham số khuyến cáo và ví dụ cho 15 kiểm tra thống kê. Trong tài liệu này, NIST không trình bày chi tiết về cơ sở lý thuyết cho các kiểm tra mà chỉ trích dẫn đến các tài liệu đã được công bố. Mục 3 liệt kê các tài liệu trên đối với mỗi kiểm tra thống kê. Mục 4 trình bày chiến lược phân tích thống kê cho một RNG (Random Number Generators). Mục 5 trình bày hướng dẫn sử dụng mã nguồn cài đặt của bộ kiểm tra này.
Ngoài ra, một số thông tin khác được trình bày trong các phụ lục: Phụ lục A trình bày về mã nguồn cài đặt của bộ kiểm tra. Phụ lục B trình bày một số kết quả thực nghiệm đối với các dữ liệu mẫu. Phụ lục C giúp người dùng có thể tùy chỉnh mã nguồn để bổ sung các kiểm tra khác. Phụ lục D mô tả của các bộ sinh số giả ngẫu nhiên có sẵn trong mã nguồn cài đặt của bộ kiểm tra. Phụ lục E trình bày một số hàm số học tính toán được sử dụng trong các kiểm tra như hàm gamma, hàm lỗi. Phụ lục F trình bày một số phần mềm hỗ trợ tính toán như Mathematica để tính toán một số hàm trung gian trong các kiểm tra.
Kính mời quý độc giả xem chi tiết bài báo tại đây
TS. Trần Duy Lai, ThS. Hoàng Đình Linh
10:00 | 14/06/2022
13:00 | 25/10/2022
07:00 | 04/11/2022
07:00 | 20/05/2022
13:00 | 12/05/2021
08:00 | 23/09/2024
Ngày 19/9, cơ quan cảnh sát quốc gia Hàn Quốc cho biết sẽ đầu tư 9,1 tỷ won (6,8 triệu USD) trong 3 năm tới để phát triển công nghệ phát hiện các loại hình tội phạm Deepfake, sao chép giọng nói và các nội dung bịa đặt khác.
14:00 | 11/09/2024
Ngày nay, các cuộc tấn công mạng ngày càng trở nên phức tạp và tinh vi hơn, các giải pháp bảo đảm an toàn thông tin, an ninh mạng truyền thống đòi hỏi duy trì một lượng lớn dữ liệu về các dấu hiệu xâm nhập, các quy tắc và phải cập nhật thường xuyên khi có bất kỳ hình thức hoặc kỹ thuật tấn công mới nào xuất hiện. Tính tự động hóa trong việc này vẫn còn nhiều hạn chế. Trong bài báo này, nhóm tác giả sẽ trình bày một giải pháp sử dụng ưu điểm vượt trội của công nghệ học máy để dự đoán các truy cập bất thường cụ thể là các cuộc tấn công Dos/DDos, PortScan, Web Attack, Brute Force… từ đó đưa ra các cảnh báo kịp thời và chính xác.
08:00 | 04/04/2024
Có một số phương pháp để xác định mức độ an toàn của các hệ mật sử dụng độ dài khóa mã (key length) tham chiếu làm thông số để đo độ mật trong cả hệ mật đối xứng và bất đối xứng. Trong bài báo này, nhóm tác giả tổng hợp một số phương pháp xác định độ an toàn của hệ mật khóa công khai RSA, dựa trên cơ sở các thuật toán thực thi phân tích thừa số của số nguyên modulo N liên quan đến sức mạnh tính toán (mật độ tích hợp Transistor theo luật Moore và năng lực tính toán lượng tử) cần thiết để phá vỡ một bản mã (các số nguyên lớn) được mã hóa bởi khóa riêng có độ dài bit cho trước. Mối quan hệ này giúp ước lượng độ an toàn của hệ mật RSA theo độ dài khóa mã trước các viễn cảnh tấn công khác nhau.
09:00 | 13/10/2023
Đánh giá năng lực được sử dụng khá nhiều trong các hoạt động của Quản lý nguồn nhân lực. Là thông tin giá trị để phục vụ cho nhiều nghiệp vụ khác nhau. Đánh giá năng lực đối với đánh giá viên thường được lựa chọn dựa theo phương pháp, cách thức, quy trình. Điều này được thực hiện bởi các chuyên gia hay cá nhân có thẩm quyền đánh giá. Từ đó, tổ chứng đánh giá sự phù hợp có thể thu thập thông tin về thực trạng năng lực về kiến thức, kĩ năng, xác định tiềm năng phát triển của cá nhân người được đánh giá. Dựa trên kết quả năng lực của cá nhân đó có thể phân loại nhân viên theo mức độ đáp ứng yêu cầu về năng lực. Từ đó có thể đề ra các phương án phù hợp để phân công giao việc, đào tạo một cách hợp lý. Việc thống kê, phân loại trong quản lý nhân lực vô cùng quan trọng. Mỗi nhóm đối tượng khác nhau sẽ có cách thức, biện pháp quản lý, nâng cao hay khai thác khác nhau. Do đó, các yêu cầu tối thiểu về kiến thức, kỹ năng và yêu cầu hiệu quả của các cá nhân trong dự thảo tiêu chuẩn này nhằm đáp ứn