Score:1

การแนะนำขนาดอินพุตของลำดับสำหรับการทดสอบแต่ละครั้งใน NIST SP 800-22

ธง de

ฉันใช้ NIST SP 800-22 เพื่อประเมินประสิทธิภาพของ Random Number Generator

NIST SP 800-22 มีทั้งหมด 15 การทดสอบในการทดสอบแต่ละครั้งจะมีคำแนะนำสำหรับขนาดของลำดับการทดสอบ ตัวอย่างเช่น ในการทดสอบการแปลงฟูเรียร์แบบไม่ต่อเนื่อง (สเปกตรัม) : "ขอแนะนำให้แต่ละลำดับที่จะทดสอบประกอบด้วยบิตขั้นต่ำ 1,000 บิต (เช่น n € 1,000)" ดังนั้นขนาดของแต่ละลำดับที่จะทดสอบต้องมากกว่า 1,000

ดังนั้นฉันจึงเลือก n = 1,000,000 บิตและจำนวนบิตสตรีม = 100 หลังจากที่ฉันเรียกใช้การทดสอบการแปลงฟูริเยร์แบบไม่ต่อเนื่อง (สเปกตรัม) ฉันได้รับผลลัพธ์ที่ล้มเหลว ( สัดส่วน: 95/100)

อย่างไรก็ตาม เมื่อฉันเลือก n = 100,000 บิตและจำนวนบิตสตรีม = 100 หลังจากที่ฉันเรียกใช้การทดสอบการแปลงฟูริเยร์แบบไม่ต่อเนื่อง (สเปกตรัม) ฉันได้รับผลลัพธ์ที่ผ่าน ( สัดส่วน: 96/100)

ดังนั้นค่าใดของ ฉันควรเลือก? เพื่อยืนยันว่าเครื่องสร้างตัวเลขสุ่มผ่านการทดสอบการแปลงฟูริเยร์แบบไม่ต่อเนื่อง (สเปกตรัม) เครื่องสร้างตัวเลขสุ่มจะส่งค่าทั้งหมดเป็น n ถึง 1000 เสมอ

ขอบคุณ

de flag
ขออภัย คุณช่วยอธิบายรายละเอียดเพิ่มเติมสำหรับคำถามของคุณได้ไหม
Paul Uszak avatar
cn flag
คุณไม่สามารถพูดได้มากนักเกี่ยวกับการทดสอบที่ล้มเหลวของ RNG ที่ไม่รู้จัก ทำการทดสอบบน `/dev/urandom` และดูว่าเป็นพารามิเตอร์ทดสอบหรือเป็นการนำ NIST ไปใช้ พวกเขาไม่ใช่นักเขียนโค้ดที่ดี RNG ของคุณคืออะไรกันแน่?
de flag
ฉันคิดว่า NIST SP800-22 ไม่สนใจว่าจะใช้ RNG ใด แต่จะสนใจเฉพาะลำดับบิตสุ่มซึ่งเป็นอินพุตสำหรับโปรแกรม NIST SP800-22 RNG ของฉันคือ TRNG
Paul Uszak avatar
cn flag
ประเด็นที่ฉันทำคือถ้า RND ไม่ดี (ไม่ดี) การทดสอบก็จะล้มเหลวเสมอ มิฉะนั้นคุณจะทดสอบทำไม URAND ไม่ผ่านการทดสอบเหล่านี้ค่อนข้างแย่ เป็นหนึ่งในสิ่งที่สร้างขึ้นหรือของคุณเอง?
de flag
ฉันออกแบบ TRNG และฉันต้องการประเมินประสิทธิภาพของมัน ฉันเห็นว่าโปรแกรม NIST SP สามารถทำเช่นนี้ได้ ดังนั้นฉันจึงสร้างข้อมูลจาก TRNG ของฉัน และเรียกใช้ NIST SP เพื่อตรวจสอบประสิทธิภาพ
Paul Uszak avatar
cn flag
อา! ทำได้ดีมากกับการสร้าง TRNG มันผ่าน `ent` หรือไม่
de flag
ขออภัย ความหมาย "ent" คืออะไร และฉันกำลังถามเกี่ยวกับ NIST SP: "ฉันควรเลือกค่าใดของ n เพื่อยืนยันว่าเครื่องสร้างตัวเลขสุ่มผ่านการทดสอบการแปลงฟูริเยร์แบบไม่ต่อเนื่อง (สเปกตรัม) เครื่องสร้างตัวเลขสุ่มจะผ่านค่าทั้งหมดของ n â เสมอ ¥ 1,000 "
Paul Uszak avatar
cn flag
ดังนั้น.............?
Score:0
ธง cn

1,250 บิต x 10 สตรีมใช้งานได้:-

    --------------------------------------------- ----------------------------
ผลลัพธ์สำหรับความสม่ำเสมอของค่า P และสัดส่วนของลำดับการผ่าน
--------------------------------------------- ----------------------------
   ตัวสร้างคือ <Blum-Blum-Shub>
--------------------------------------------- ----------------------------
 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 การทดสอบทางสถิติสัดส่วนค่า P
--------------------------------------------- ----------------------------
  0 0 2 2 2 1 1 2 0 0 0.534146 10/10 FFT


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

เนื่องจากข้างต้นเป็นทางผ่านที่ดีมาก

สมมติว่า RNG ของคุณดี การรัน FFT นั้นยังสรุปไม่ได้ คุณมักพบความล้มเหลวในการทดสอบแบบแยกส่วนเนื่องจากการสุ่มเป็นสิ่งที่น่ารำคาญ โดยเฉพาะอย่างยิ่งเมื่อขนาดตัวอย่างมีขนาดเล็กลงความสุ่มเป็นหน้าที่ของขนาดตัวอย่างเป็นอย่างมาก นั่นเป็นเหตุผลที่การทดสอบ 'ชุด' มีการทดสอบที่หลากหลายและซับซ้อนมาก ดังนั้นไม่ต้อง "เครื่องสร้างตัวเลขสุ่มจะผ่านเสมอ (sic) ด้วยค่าทั้งหมด n ⥠1,000".

ฉันจะระวัง 100 บิตสตรีมด้วย จากประสบการณ์อีกครั้ง 10 ดูเหมือนจะเป็นจำนวนที่ดีและช่วยให้สามารถกำหนดค่า p ที่เหมาะสมได้ คุณจะพบกับผลตอบแทนที่ลดลงหลังจาก >> 10 บิตสตรีม ดังนั้นให้ทำ 10 บิตสตรีมๆ ละ 1,000,000 บิต (ทั้งหมด 1.25 MB) เพื่อเรียกใช้การทดสอบทั้งหมด คุณจะไม่ได้รับค่า p ใดๆ สำหรับการทดสอบ RandomExcursions (Variant) แต่คุณจะได้รับตัวบ่งชี้ความสำเร็จจากอัตราการผ่าน

แต่ก่อนอื่น หากคุณออกแบบ TRNG ของคุณเอง (และน่าจะเป็นตัวแยกความสุ่ม) ให้เรียกใช้ เอน. เห็นได้ชัดว่าเป็นการทดสอบแบบสุ่มที่มีประสิทธิภาพที่สุด ใช้ 500 กิโลไบต์ หากตัวอย่างของคุณล้มเหลว เอนแล้ว TRNG ของคุณไม่ดี

โพสต์คำตอบ

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