Cách chúng tôi sử dụng máy tính làm máy tạo số ngẫu nhiên

Trình tạo số ngẫu nhiên Máy tính tạo ra một số ngẫu nhiên cho mọi thứ từ mật mã đến trò chơi điện tử và cờ bạc. Có hai loại số ngẫu nhiên - thật số ngẫu nhiên và số giả ngẫu nhiên. Và sự khác biệt là quan trọng đối với bảo mật của hệ thống mã hóa. Trong bài viết này, chúng ta sẽ nói về cách chúng ta sử dụng máy tính như một bộ tạo số ngẫu nhiên. Hãy bắt đầu nào!





Chủ đề này gần đây đã trở nên gây tranh cãi nhiều hơn, cùng với việc nhiều người đặt câu hỏi liệu chip tạo số ngẫu nhiên tích hợp trong phần cứng của Intel có đáng tin cậy hay không. Để hiểu tại sao nó có thể không đáng tin cậy, bạn sẽ phải hiểu. Đó là cách các số ngẫu nhiên được tạo ra ngay từ đầu và chúng được sử dụng để làm gì.



Số ngẫu nhiên được sử dụng để làm gì | máy tạo số ngẫu nhiên

Số ngẫu nhiên đã được sử dụng trong nhiều nghìn năm. Dù là tung đồng xu hay tung xúc xắc, mục tiêu là để kết quả cuối cùng trở thành cơ hội ngẫu nhiên. Trình tạo số ngẫu nhiên trong máy tính cũng tương tự như vậy. Chúng là một nỗ lực để đạt được một kết quả ngẫu nhiên, không thể đoán trước được.

Bộ tạo số ngẫu nhiên rất hữu ích cho nhiều mục đích khác nhau. Ngoài các ứng dụng rõ ràng như tạo các số ngẫu nhiên cho mục đích đánh bạc hoặc tạo ra các kết quả không thể đoán trước trong một trò chơi máy tính, tính ngẫu nhiên thực sự quan trọng đối với mật mã.



Mật mã yêu cầu những con số mà kẻ tấn công không thể đoán được. Chúng ta không thể chỉ sử dụng lặp đi lặp lại những con số giống nhau. Chúng tôi muốn tạo ra những con số này theo một cách rất khó đoán để những kẻ tấn công không thể đoán chúng. Những số ngẫu nhiên này rất quan trọng đối với mã hóa an toàn. cho dù bạn đang mã hóa các tệp của riêng mình hay chỉ sử dụng một trang HTTPS trên Internet.



Số ngẫu nhiên thực sự | máy tạo số ngẫu nhiên

Bạn có thể tự hỏi làm thế nào một máy tính thực sự có thể tạo ra một số ngẫu nhiên. Cái này ở đâu ngẫu nhiên đến từ? Nếu nó chỉ là một đoạn mã máy tính, không lẽ những con số mà máy tính tạo ra có thể dự đoán được?

Chúng tôi thường nhóm các máy tính tạo ra số ngẫu nhiên thành hai loại. Điều đó phụ thuộc vào cách chúng được tạo: Thật số ngẫu nhiên và số giả ngẫu nhiên.



trình điều khiển bộ điều khiển ps4 cho Windows 10

Để tạo ra một thật số ngẫu nhiên, máy tính đo lường một số loại hiện tượng vật lý diễn ra bên ngoài máy tính. Chẳng hạn, máy tính có thể đo sự phân rã phóng xạ của một nguyên tử. Theo lý thuyết lượng tử, không có cách nào để biết chắc chắn khi nào sự phân rã phóng xạ sẽ xảy ra. Vì vậy, về cơ bản đây là sự ngẫu nhiên thuần túy từ vũ trụ. Kẻ tấn công sẽ không thể dự đoán khi nào sự phân rã phóng xạ sẽ xảy ra. Vì vậy, họ sẽ không biết giá trị ngẫu nhiên.



Đối với một ví dụ hàng ngày hơn, máy tính có thể dựa vào tiếng ồn trong khí quyển hoặc chỉ đơn giản là sử dụng thời gian chính xác bạn nhấn các phím trên bàn phím của mình như một nguồn dữ liệu không thể đoán trước hoặc entropy. Chẳng hạn, máy tính của bạn có thể nhận thấy rằng bạn đã nhấn một phím ở chính xác 0,23423523 giây sau 2 giờ chiều. Nắm bắt đủ thời gian cụ thể liên quan đến các lần nhấn phím này và bạn sẽ có một nguồn entropy mà bạn có thể sử dụng để tạo ra thật số ngẫu nhiên. Bạn không phải là một cỗ máy có thể đoán trước được. Vì vậy kẻ tấn công không thể đoán được thời điểm chính xác khi bạn nhấn các phím này. Thiết bị / dev / random trên Linux, tạo ra các số ngẫu nhiên, khối và không trả về kết quả cho đến khi nó thu thập đủ entropy để trả về một số thực sự ngẫu nhiên.

Số Pseudorandom | máy tạo số ngẫu nhiên

Số Pseudorandom là một giải pháp thay thế cho thật Số ngẫu nhiên. Một máy tính có thể sử dụng một giá trị gốc và một thuật toán để tạo ra những con số có vẻ là ngẫu nhiên, nhưng trên thực tế điều đó có thể dự đoán được. Máy tính không thu thập bất kỳ dữ liệu ngẫu nhiên nào từ môi trường.

Đây không hẳn là một điều xấu trong mọi tình huống. Giống như, nếu bạn đang chơi một trò chơi điện tử. Việc các sự kiện xảy ra trong trò chơi đó có phải do thật số ngẫu nhiên hoặc số giả ngẫu nhiên. Mặt khác. Nếu bạn đang sử dụng mã hóa, bạn không muốn sử dụng các số giả ngẫu nhiên mà kẻ tấn công có thể đoán được.

Chẳng hạn, giả sử kẻ tấn công biết thuật toán và giá trị hạt giống mà trình tạo số ngẫu nhiên sử dụng. Và giả sử một thuật toán mã hóa nhận được một số giả từ thuật toán này. Và sử dụng nó để tạo khóa mã hóa mà không cần thêm bất kỳ sự ngẫu nhiên nào. Nếu kẻ tấn công biết đủ, họ có thể làm việc ngược lại và xác định số lượng giả ngẫu nhiên. Thuật toán mã hóa phải được chọn trong trường hợp đó, phá vỡ mã hóa.

NSA và Bộ tạo số ngẫu nhiên phần cứng của Intel

Để làm cho mọi thứ dễ dàng hơn cho các nhà phát triển và giúp tạo các số ngẫu nhiên an toàn. Chip Intel bao gồm một bộ tạo số ngẫu nhiên dựa trên phần cứng được gọi là RdRand. Con chip này sử dụng một nguồn entropy trên bộ xử lý và đưa ra các số ngẫu nhiên cho phần mềm khi phần mềm yêu cầu chúng.

Vấn đề ở đây là bộ tạo số ngẫu nhiên về bản chất là một hộp đen và chúng ta không biết điều gì đang xảy ra bên trong nó. Nếu RdRand chứa một cửa hậu NSA, chính phủ sẽ có thể phá khóa mã hóa. Điều đó được tạo ra chỉ với dữ liệu được cung cấp bởi trình tạo số ngẫu nhiên đó.

Đây là một mối quan tâm nghiêm trọng. Vào tháng 12 năm 2013, các nhà phát triển của FreeBSD đã loại bỏ hỗ trợ sử dụng RdRand trực tiếp như một nguồn ngẫu nhiên, nói rằng họ không thể tin tưởng vào nó. [Nguồn] Đầu ra của thiết bị RdRand sẽ được đưa vào một thuật toán khác bổ sung thêm entropy. Điều đó đảm bảo rằng bất kỳ cửa hậu nào trong trình tạo số ngẫu nhiên sẽ không thành vấn đề. Linux đã hoạt động theo cách này, tiếp tục ngẫu nhiên hóa dữ liệu ngẫu nhiên đến từ RdRand để nó sẽ không thể dự đoán được ngay cả khi có một cửa hậu. [Nguồn] Trong một AMA gần đây ( Hỏi tôi bất cứ điều gì ) trên Reddit, CEO Brian Krzanich của Intel đã không trả lời câu hỏi về những lo ngại này. [Nguồn]

Tất nhiên, điều này có thể không chỉ là vấn đề với chip Intel. Các nhà phát triển của FreeBSD cũng gọi tên các chip của Via. Cuộc tranh cãi này cho thấy tại sao việc tạo ra các số ngẫu nhiên thực sự ngẫu nhiên và không thể đoán trước lại quan trọng đến vậy.

Để tạo ra thật số ngẫu nhiên, bộ tạo số ngẫu nhiên tập hợp Sự hỗn loạn, hoặc dữ liệu dường như ngẫu nhiên từ thế giới vật chất xung quanh họ. Đối với các số ngẫu nhiên không có thật không cần phải ngẫu nhiên, họ có thể chỉ sử dụng một thuật toán và một giá trị hạt giống.

thời gian bỏng ngô truyền đến TV

Phần kết luận

Được rồi, đó là Tất cả mọi người! Tôi hy vọng bạn thích bài viết tạo số ngẫu nhiên này và thấy nó hữu ích cho bạn. Cung cấp cho chúng tôi phản hồi của bạn về nó. Ngoài ra nếu bạn muốn hỏi thêm các truy vấn liên quan đến nó. Sau đó, hãy cho chúng tôi biết trong phần bình luận bên dưới. Chúng tôi sẽ liên hệ lại với bạn trong thời gian ngắn.

Có một ngày tuyệt vời!

Cũng thấy: NSFW: Ý nghĩa và cách nó thực sự hoạt động