ลองนึกภาพว่าเราสลับสเตจ (2) และ (3) เพื่อให้ตัวแยกป้อนอินพุตตัวถอดรหัส ความหมายของ TRNG คืออะไร?
คุณจะได้รับผลกระทบอย่างหนักจากการคำนวณค่าเอนโทรปีขั้นต่ำ 800-90B ของ NIST สำหรับแหล่งที่มาของเอนโทรปีที่สัมพันธ์กัน ฉันคิดว่าคุณกังวลเกี่ยวกับโคเชอร์ TRNG ไม่ รุ่นไฮบริดเช่น DRBG ของ NIST ตั้งแต่ 800-90A เคล็ดลับเหล่านี้ทำให้หลั่งบิตสุ่มหลอกจำนวนมากระหว่างเมล็ดใหม่ (เช่น \dev\urandom
).
นั่นหมายความว่าคุณต้องแยกบิตที่เป็นกลาง (อคติ < $2^{-64}$, ความสัมพันธ์ <$10^{-3}$) จากแหล่งดิบที่อาจสัมพันธ์กัน แต่คุณจะได้ทราบปัญหาเกี่ยวกับ NIST's ea_non_iid
เครื่องมือประเมิน และไม่มีที่อื่นที่ฉันรู้ ดังนั้นคุณจึงไม่สามารถมีอำนาจแน่นอนได้ แต่คุณสามารถยืนยันได้ว่าแหล่งที่มานั้นเป็น IID ด้วยความแน่นอนในระดับสูงหรือไม่ นั่นเป็นเหตุผลที่เป็นเรื่องปกติที่จะทำลายตัวอย่างแหล่งวัตถุดิบหรือปรับความละเอียด/ความถี่ $(\epsilon, \tau^{-1})$ ของระบบการสุ่มตัวอย่างแทนจนกว่าจะได้ตัวอย่าง IID
...เนื่องจากมันไม่เปลี่ยนจำนวนเอนโทรปี...
แต่คุณต้อง ลด (จึงเปลี่ยน) จำนวนเอนโทรปีที่มาจากแหล่งวัตถุดิบของ TRNG มิฉะนั้นคุณจะสร้าง TRNG แบบไฮบริดซึ่งสร้างการสุ่มหลอกจำนวนมาก (แต่ค่อนข้างจะวัดไม่ได้) ในสตรีมเอาต์พุต
แล้วตัวแยกอื่น ๆ หรือการใช้ PRNG ก่อนการทำลายล้างล่ะ?
PRNG ไม่สามารถบีบอัดตัวอย่างได้ ดังนั้น PRNG จึงไม่สามารถทำหน้าที่เป็นเครื่องสกัดได้หากไม่มีการเพาะซ้ำจำนวนมากและไม่มีประสิทธิภาพและการทำลายล้างไม่สามารถเพิ่มอัตราเอนโทรปีได้อย่างมีนัยสำคัญ สิ่งที่ทำได้คือแปลงตัวอย่างที่ไม่ใช่ IID เป็น IID
คุณสามารถดูเงื่อนไขประเภทนี้ได้ ที่นี่ซึ่งฉันตกแต่งไฟล์ JPEG ~ 21 KB เป็น 5.8 KB ผ่านการผสมผสานที่แปลกใหม่ของการลดเอนโทรปีและการเปลี่ยนแปลงระบอบการสุ่มตัวอย่าง ในตัวอย่างที่เชื่อมโยง ฉันใช้ SHA-512 เป็นตัวดึงข้อมูลเพื่อบีบอัด 778 บิตเป็น 512 เพื่อให้ได้ $\epsilon = 2^{-128}$ สอดคล้องกับบทแทรกแฮชที่เหลือ