ฉันสนใจที่จะสร้างตัวเลขสุ่มหลอกสำหรับการเข้ารหัส นอกจากบทที่ 5 ของMenezes / Oorschot / Vanstone ; บทที่ 8 ของสติน ; และบทที่ 3 ของGoldreichฉันจะหาสิ่งอื่นได้ที่ไหนอีก ฉันสนใจในหลักการทั่วไปสำหรับการออกแบบ PRNG (คุณสมบัติที่ต้องการการทดสอบ ฯลฯ )
ฉันสนใจที่จะสร้างตัวเลขสุ่มหลอกสำหรับการเข้ารหัส นอกจากบทที่ 5 ของMenezes / Oorschot / Vanstone ; บทที่ 8 ของสติน ; และบทที่ 3 ของGoldreichฉันจะหาสิ่งอื่นได้ที่ไหนอีก ฉันสนใจในหลักการทั่วไปสำหรับการออกแบบ PRNG (คุณสมบัติที่ต้องการการทดสอบ ฯลฯ )
คำตอบ:
คุณอาจต้องการตรวจสอบ
หากคุณกำลังคิดที่จะนำความคิดของคุณไปใช้จะมีการทดสอบแบตเตอรี่มาตรฐานที่มีการใช้งาน PRNG การทดสอบเหล่านี้ (DIEHARD และผู้สืบทอด DIEHARDER) สามารถดาวน์โหลดได้จากหน้าเว็บที่เก็บถาวรและhttp://www.phy.duke.edu/~rgb/General/dieharder.phpตามลำดับ
คุณสนใจที่จะใช้ PRNG หรือไม่? ถ้าเป็นเช่นนั้นทางออกที่ดีที่สุดของคุณคือไม่ได้ออกแบบด้วยตัวคุณเอง แต่เพียงแค่ใช้มาตรฐาน / dev / urandom เป็นคำตอบที่ถูกต้องสำหรับแพลตฟอร์มส่วนใหญ่ หาก / dev / urandom ไม่มีอยู่การสร้างคีย์ AES แบบสุ่มด้วย / dev / random จากนั้นเรียกใช้โหมด AES-CTR เพื่อสร้างหมายเลขหลอกจำนวนมากเป็นวิธีการที่เหมาะสม
ฉันแนะนำให้คุณอ่าน Cryptography Engineering โดย Ferguson, Schneier และ Kohno มันเป็นหนังสือที่ยอดเยี่ยม มันจะสอนคุณมากมายเกี่ยวกับวิธีการออกแบบและสร้าง cryptosystem จริง
หากคุณต้องสร้างระบบที่จะนำไปใช้ในทางปฏิบัติฉันขอแนะนำให้คุณไม่ใช้แนวทางของคุณจากชุมชน CS เชิงทฤษฎี แต่มาจากชุมชนของผู้ปฏิบัติงานและนักวิจัยที่มุ่งเน้นการปฏิบัติ งาน CS เชิงทฤษฎีส่วนใหญ่จะไม่เกี่ยวข้องมากหรืออาจทำให้เข้าใจผิดในการใช้งาน PRNG ที่ปลอดภัย ฉันขอแนะนำให้คุณดูการแลกเปลี่ยนความปลอดภัยด้าน IT ของคำถามเหล่านั้น