Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

การสร้างจำนวนสุ่มที่แท้จริงคืออะไร?


เครื่องกำเนิดตัวเลขสุ่มที่แท้จริง (TRNG) ใช้แหล่งที่ไม่กำหนดไว้เพื่อสร้างการสุ่ม ส่วนใหญ่ทำงานโดยการวัดกระบวนการทางธรรมชาติที่คาดเดาไม่ได้ ซึ่งรวมถึงเครื่องตรวจจับชีพจรของกิจกรรมการแผ่รังสีไอออไนซ์ ท่อปล่อยก๊าซ และตัวเก็บประจุที่รั่ว

Intel ได้พัฒนาชิปที่เข้าถึงได้ในเชิงพาณิชย์ซึ่งสุ่มตัวอย่างสัญญาณรบกวนจากความร้อนโดยการพัฒนาแรงดันไฟฟ้าที่วัดจากตัวต้านทานที่ไม่ได้ขับเคลื่อน TRNG สร้างตัวเลขสุ่มที่แท้จริงและผลิตโดยวิธีฮาร์ดแวร์โดยทั่วไป

เนื่องจากจำนวนสุ่มที่สร้างโดย TRNG นั้นซับซ้อนในการทำนาย เนื่องจาก TRNG ถูกสร้างขึ้นจากแหล่งทางกายภาพที่ซับซ้อนในการคาดการณ์ค่าสุ่ม ดังนั้น ตัวเลขสุ่มที่สร้างจาก TRNG จึงเป็นแนวทางที่ปลอดภัย เนื่องจากมันซับซ้อนในการสร้างมูลค่าที่เท่ากัน

มีแหล่งที่มาของการสุ่มดังต่อไปนี้ ด้วยความเอาใจใส่ คุณสามารถใช้คอมพิวเตอร์เพื่อสร้างลำดับการสุ่มที่แท้จริงได้

อินพุตเสียง/วิดีโอ − คอมพิวเตอร์จำนวนมากถูกสร้างขึ้นด้วยอินพุตที่แปลงแหล่งอนาล็อกในโลกจริงให้เป็นดิจิทัล ซึ่งรวมถึงเสียงจากไมโครโฟนหรืออินพุตวิดีโอจากกล้อง

"ข้อมูลเข้า" จากเครื่องแปลงสัญญาณเสียงโดยไม่ได้เสียบปลั๊กหรือจากกล้องที่มีฝาปิดเลนส์อยู่นั้นเป็นสัญญาณรบกวนจากความร้อน หากระบบมีกำไรเพียงพอที่จะระบุสิ่งใด อินพุตดังกล่าวสามารถสนับสนุนบิตสุ่มคุณภาพสูงที่สมเหตุสมผลได้

ดิสก์ไดรฟ์ − ดิสก์ไดรฟ์เป็นที่ทราบกันดีว่ามีความผันผวนแบบสุ่มเล็กน้อยในความเร็วในการหมุนเนื่องจากความปั่นป่วนของอากาศที่วุ่นวาย ส่วนขยายของเครื่องมือวัดเวลาค้นหาดิสก์ระดับต่ำจะสร้างลำดับการวัดที่รวมการสุ่มนี้ด้วย

ข้อมูลดังกล่าวโดยทั่วไปมีความสัมพันธ์กันสูง ดังนั้นจึงจำเป็นต้องมีการประมวลผลที่สำคัญ อย่างไรก็ตาม การทดลองเมื่อทศวรรษที่แล้วแสดงให้เห็นว่าด้วยการประมวลผลดังกล่าว แม้แต่ดิสก์ไดรฟ์ที่ช้าบนคอมพิวเตอร์ที่ช้ากว่าในวันนั้น ก็สามารถสร้างข้อมูลสุ่มที่ยอดเยี่ยมได้ 100 บิตต่อนาทีหรือมากกว่านั้น

TRNG สามารถสร้างผลลัพธ์ที่มีอคติในบางวิธี รวมถึงการมีมากกว่าศูนย์หรือในทางกลับกัน มีหลายวิธีในการเปลี่ยนกระแสบิตเพื่อลดหรือลบอคติได้รับการพัฒนา สิ่งเหล่านี้ถูกกำหนดให้เป็นอัลกอริธึมที่ไม่บิดเบือน

วิธีหนึ่งในการดีเบ้คือส่งบิตสตรีมผ่านฟังก์ชันแฮช ฟังก์ชันแฮชสร้างเอาต์พุต n-bit จากอินพุตที่มีความยาวตามอำเภอใจ สำหรับการขจัดความบิดเบี้ยว สามารถรับรู้บล็อกของบิตอินพุต m ที่มี m ≥ n ผ่านฟังก์ชันแฮชได้

TRNG นั้นซ้ำซากจำเจเกินไปและตัวสร้างตัวเลขสุ่มหลอกที่ซับซ้อน (สูตร) ​​สามารถเข้าถึงได้ในมากมาย TRNG สามารถใช้ เช่น แหล่งกำเนิดเสียงทางกายภาพหรือที่ไม่ใช่ทางกายภาพ

ในอุปกรณ์ลอจิก แหล่งที่มาของสัญญาณรบกวนทางกายภาพมีจำกัด เนื่องจากอุปกรณ์ลอจิกควรอยู่ในสถานะที่ชัดเจนเสมอ มันสามารถสร้างตัวเลขสุ่มได้ และจำเป็นต้องมีปรากฏการณ์สุ่มที่ไม่สามารถควบคุมได้

โดยทั่วไปแล้วปรากฏการณ์ทางกายภาพจะใช้เพื่อสร้างตัวเลขสุ่มในอุปกรณ์ลอจิกดังนี้ -

  • นาฬิกากระวนกระวายใจ − เป็นการปรับเปลี่ยนขอบนาฬิกาจากตำแหน่งที่เหมาะสมที่สุด

  • ความสามารถในการแพร่กระจาย − เป็นความสามารถของวงจรที่จะคงอยู่ในสถานะอนันต์ในช่วงเวลาที่คลุมเครือ

  • ความโกลาหล − เป็นพฤติกรรมที่คาดเดาไม่ได้ของระบบที่กำหนดขึ้นได้ ซึ่งตอบสนองต่อสภาวะเริ่มต้นอย่างมหาศาล

  • สัญญาณอนาล็อก − ในสัญญาณแอนะล็อกจะมีเสียงช็อตของไดโอด เสียงจากความร้อน ฯลฯ