Bộ tạo bit ngẫu nhiên lượng tử QRBG121 (phần 1)

08:00 | 26/03/2020 | GIẢI PHÁP KHÁC
Bài viết giới thiệu về bộ tạo bit ngẫu nhiên lượng tử QRBG121 và dịch vụ QRBG. Đây là kết quả của nhóm các tác giả tại Rudjer Bošković Institute, Croatia [1].

Mô tả chung

QRBG121 là một máy tạo bit ngẫu nhiên không tất định nhanh, tính ngẫu nhiên của chúng dựa vào tính ngẫu nhiên nội tại của quá trình phát xạ photon vật lý lượng tử trong chất bán dẫn và phát hiện theo sau bằng hiệu ứng quang điện. Trong quá trình này, các photon được phát hiện ngẫu nhiên, từng photon một độc lập với nhau. Thông tin thời gian của việc các photon được phát hiện được sử dụng để tạo các chữ số nhị phân ngẫu nhiên - bit.

Điểm độc đáo của phương pháp này là nó chỉ sử dụng một máy dò photon để tạo ra các số 0 và 1. Điều này dẫn đến sai lệch rất nhỏ và khả năng chống lại sự dao động, lão hóa của các thành phần. Hơn nữa, việc phát hiện các photon riêng lẻ được thực hiện bởi một bộ nhân quang (Photomultiplier - PMT). So với các máy dò photon trạng thái rắn, bộ nhân quang có tín hiệu vượt trội về hiệu suất nhiễu và xác suất xuất hiện các xung đi theo (Afterpulses). Hình 1 minh họa máy tạo bit ngẫu nhiên QRBG121, được so sánh kích thước với một con chuột máy tính [1].

Hình 1. Máy tạo bit ngẫu nhiên QRBG121

Do bản chất không tất định và entropy gần như tối đa, các bộ tạo bit ngẫu nhiên lượng tử phù hợp một cách lý tưởng cho hầu hết các ứng dụng quan trọng, như: mật mã, tạo mã số định danh cá nhân (Personal Identification Number - PIN), mã số xác thực giao dịch (Transaction Authentication Number - TAN), các mô phỏng trong công nghiệp hoặc khoa học, nghiên cứu thống kê….

QRBG121 có thể hoạt động độc lập hoặc kết nối với máy tính thông qua cổng USB2, cụ thể:

Ở chế độ kết nối với máy tính, trình điều khiển và ứng dụng được cung cấp cho phép tải các bit ngẫu nhiên vào một tệp. Hơn nữa, một thư viện và các ví dụ phần mềm được viết bằng C, C # và VisualBasic được cung cấp để có thể tích hợp dễ dàng QRBG trong bất kỳ ứng dụng nào do người dùng phát triển.

Ở chế độ độc lập, thiết bị được cấp nguồn thông qua đầu nối OEM. Các bit ngẫu nhiên được trích xuất theo cách nối tiếp.

Thông số kỹ thuật

Bảng 1 mô tả các thông số kỹ thuật của máy tạo bit ngẫu nhiên QRBG121 [1]. Để có thêm thông tin chi tiết, quý bạn đọc truy cập tại đây

Bảng 1: Thông số kỹ thuật của máy tạo bit ngẫu nhiên QRBG121.

Tốc độ bit

12Mbit/s +/-5%

Độ lệch (b)

< 0.00001

Tự tương quan nối tiếp (a)

< 0.0002

Nhiễu nhiệt

< 0.0005% (5ppm)

Giao diện

USB2 và OEM

Các đầu ra OEM

Mức logic, nối tiếp 5V CMOS

Hỗ trợ hệ điều hành

Win98/Me/2000/Xp, Linux

Nguồn cấp

Không (được cấp bởi cổng USB/OEM)

Kích thước

55 x 65 x 90 mm

Trọng lượng

370g

Trong đó, độ lệch (b) được định nghĩa là sai khác giữa xác suất đo được của các số 1 và xác suất lý tưởng: b = |p (1) – 0.5|. Còn hệ số tự tương quan nối tiếp a được định nghĩa theo tài liệu “The Art of Programming, Vol II” của D. Knuth là:

, với Yi là các bit đơn lẻ.

Đánh giá chất lượng bit tạo ra

Tại [1] trình bày thông tin về việc dùng 3 bộ tiêu chuẩn kiểm tra chất lượng đối với QRBG121, đó là NIST STS [6], Diehard [7] và min-Entropy. Trong [3, 4], QRBG121 được đánh giá bằng các bộ tiêu chuẩn kiểm tra thống kê NIST STS [6], Diehard [7] và ENT [8].

Tất cả các phép kiểm tra đều cho kết quả chứng tỏ tính ngẫu nhiên của đầu ra được tạo bởi QRBG121.

Dịch vụ QRBG

Dịch vụ QRBG đã được thúc đẩy bởi sự cần thiết của cộng đồng khoa học khi thực hiện các mô phỏng khác nhau (trong các môi trường cụm/lưới), mà kết quả của chúng thường bị ảnh hưởng rất nhiều bởi chất lượng của các số ngẫu nhiên được sử dụng (phân phối, không tất định, entropy,…). Do các số ngẫu nhiên thực sự (True Random Numbers) không thể tạo ra bằng một máy trạng thái hữu hạn (như máy tính ngày nay), các nhà khoa học buộc phải sử dụng các bộ tạo bit phần cứng đắt tiền chuyên dụng, hoặc tạm sử dụng các giải pháp kém tối ưu (như các bộ tạo bit giả ngẫu nhiên).

Dịch vụ QRBG đã bắt đầu như kết quả của nỗ lực đáp ứng nhu cầu của các nhà khoa học về số ngẫu nhiên chất lượng cao. Cho tới nay, dịch vụ này đã phát triển thành dịch vụ số ngẫu nhiên chất lượng cao, được công khai trên toàn cầu.

Có 5 yêu cầu thiết kế cho dịch vụ QRBG:

1. Tính ngẫu nhiên thực sự của dữ liệu được phục vụ (entropy cao của dữ liệu được phục vụ).

2. Tốc độ tạo dữ liệu và phục vụ cao.

3. Tính sẵn sàng cao của dịch vụ (bao gồm quyền truy cập dễ dàng và trong suốt tới dữ liệu ngẫu nhiên).

4. Độ tin cậy cao của dịch vụ.

5. Tính bảo mật cao đối với những người sử dụng dịch vụ.

Cho đến nay, ngoại trừ yêu cầu về tính bảo mật cho những người sử dụng dịch vụ thì tất cả các yêu cầu của dịch vụ QRBG đều được đáp ứng. Bộ tạo bit ngẫu nhiên lượng tử được phát triển bởi Viện Rudjer Boskovic, được cho là đảm bảo chất lượng cao của các số ngẫu nhiên được cung cấp (tính ngẫu nhiên thực sự) và tốc độ phục vụ cao.

Song song, một số chế độ truy cập mạng được phát triển để đáp ứng tính sẵn sàng cao của dịch vụ. Chúng bao gồm thu thập trong suốt các số ngẫu nhiên bằng cách sử dụng các thư viện C/C ++, dịch vụ web (truy cập qua giao thức SOAP) và các bổ sung máy khách dùng Mathematica/MATLAB.

Trong tương lai, giao thức SSL sẽ được hỗ trợ để cho nâng cao mức độ bảo mật. Khi đó, tất cả dữ liệu sẽ được mã hóa, kèm theo các chứng thư theo yêu cầu của người dùng/dịch vụ.

Quý độc giả truy cập tại đây để tải xuống phần mềm và trình điều khiển của dịch vụ QRBG cho hệ điều hành Windows (bao gồm cả bộ kiểm tra dữ liệu).

Hình 2. Màn hình cài đặt của dịch vụ QRBG

Hình 3. Giao diện người dùng của dịch vụ QRBG (từ trái sang phải: hộp thống kê, cửa sổ chính, hội thoại cấu hình và đầu ra nhật ký).

Bên cạnh đó, độc giả có thể tải các phần mềm/tiện ích do nhóm của Radomir Stevanović tại đây, bao gồm: Thư viện C++ (một số ví dụ máy khách của QRBG); Thư viện liên kết động cho C và C++ (Windows); QRBG Toolbox  cho MathWorks MATLAB (Windows) và QRand Command-line Utility (Windows/Linux/Mac).

Cũng tại địa chỉ này, các phần mềm do người dùng cung cấp cũng được đăng tải đầy đủ, gồm: Java, Python, PHP Access Class (Windows/Linux/Mac); Thư viện C#, Erlang client, Perl client (Windows/Linux); MATLAB/Octave Linux Utility, Go client (Linux); QRand Command-line Utility (Mac) và Delphi client (Windows).

Kết luận

Trên đây đã trình bày về mô tả chung và thông số kỹ thuật của bộ tạo bit ngẫu nhiên lượng tử QRBG121 cũng như kết quả đánh giá đầu ra của nó khi dùng các bộ kiểm tra thống kê. Đồng thời, bài báo cũng giới thiệu về dịch vụ mà nó có thể cung cấp. Phần tiếp theo của bài báo sẽ tập trung trình bày về cơ chế hoạt động của QRBG121. Kính mời quý độc giả đón đọc.

Tài liệu kham khảo

1. Quantum Random Bit Generator (http://qrbg.irb.hr).

2. Quantum Random Bit Generator Service (http://random.irb.hr/)

3. Stipčević, M., Medved Rogina, B.: Quantum random number generator based on photonic emission in semiconductors. Review of Scientific Instruments 78, 045104 (2007)

4. Stipčević, M., Medved Rogina, B.: Quantum random number generator, arXiv:quant-ph/0609043v2, 1 Jan 2007.

5. Radomir Stevanović, Goran Topić, Karolj Skala, Mario Stipčević, and Branka Medved Rogina, Quantum Random Bit Generator Service for Monte Carlo and Other Stochastic Simulations, International Conference on Large-Scale Scientific Computing, LSSC 2007, pp. 508-515.

6. A. Rukhin et al., A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications, NIST Special Publication (NIST, Gaithersburg, 2001); http://csrc.nist.gov/rng/

7. G. Marsaglia et al, Toward a universal random number generator, Statistics & Probability Letters, Volume 9, Issue 1, pp. 35-39, 1990

8. J. Walker, http://www.fourmilab.ch/hotbits/how.html.

TS. Trần Duy Lai

Tin cùng chuyên mục

Tin mới