Sinh mảng ngẫu nhiên

Một phần của tài liệu nghiên cứu tìm hiểu về mật mã sinh trắc (Trang 60 - 61)

Một bộ sinh số ngẫu nhiên RNG (Random Number Generator) là một bộ tính toán để tạo ra dãy số ngẫu nhiên. Có rất nhiều phương pháp để tạo ra số ngẫu nhiên, từ thời cổ đại đã có những phương pháp như : tung đồng xu, súc sắc, rút thẻ… ngày nay các phương pháp sinh số ngẫu nhiên dựa vào hệ thống phần cứng được sử dụng phổ biến. Các bộ số ngẫu nhiên có ứng dụng nhiều trong cờ bạc, lấy mẫu thống kê, mô phỏng máy tính, mật mã … nhằm tạo ra một kết quả xử lý không thể đoán trước.

Trong khóa luận này, bộ số ngẫu nhiên cũng đóng vai trò quan trọng trong quá trình đăng ký được xây dựng. Bộ số ngẫu nhiên giúp chúng ta giấu các thông tin của ảnh đầu vào, làm khóa cho quá trình mã hóa dữ liệu thu được khi xử lý ảnh … nhằm tăng độ bảo mật cho dữ liệu.

Có 3 phương pháp sinh ra một số ngẫu nhiên: -

-

-

Phương pháp vật lý : như đã kể trên, phương pháp vật lý là phương pháp ra đời sớm nhất để tạo ra sự ngẫu nhiên bao gồm tung đồng xu, súc sắc … Những phương pháp này vẫn được sử dụng ở hiện tại trong các ứng dụng về cờ bạc và một số trò chơi. Tuy nhiên với phương pháp này có xu hướng quá chậm đối với hầu hết các ứng dụng trong thống kê và mật mã

Phương pháp tính toán : PRNGs là thuật toán có thể tạo ra dãy số ngẫu nhiên, chuỗi giá trị ngẫu nhiên này được tạo ra bởi một hạt giống. Một trong những PRNGs phổ biến nhất là bộ tuyến tính sử dụng modulo để tạo ra các con số :

Xn+1 = (a Xn + b) mod m

Với m là số nguyên tố lớn, a và b là 2 số nguyên dương cho trước. Bộ PRNGs sử dụng modulo nên có độ ngẫu nhiên khá tốt, có thể sử dụng cho mật mã và thống kê. Trong khóa luận này, chúng ta sử dụng bộ PRNGs này đế sinh các số ngẫu nhiên.

Phương pháp dựa vào phân bố xác suất : các phương pháp này tạo ra bộ số ngẫu nhiên dựa trên một hàm mật độ xác suất. Những phương pháp

này có thể làm việc tốt trong việc tạo ra bộ số ngẫu nhiên cũng như giả ngẫu nhiên.

Một phần của tài liệu nghiên cứu tìm hiểu về mật mã sinh trắc (Trang 60 - 61)