เครื่องมือสุ่มตัวเลขอัลกอริทึมRandomความปลอดภัย

อัลกอริทึมการสุ่มตัวเลขแบบ Pseudo-Random และ Cryptographic Random ในงานซอฟต์แวร์

การสุ่มตัวเลข (Random Number Generation) มีบทบาทสำคัญตั้งแต่งานจับฉลากแจกรางวัล งานสุ่มจับคู่ ไปจนถึงการสร้างรหัส OTP ในระบบการเงิน แต่คอมพิวเตอร์ 'ไม่สามารถสุ่มตัวเลขแท้จริง' ได้เอง

5 นาที เผยแพร่ 1 ก.ค. 2569อัปเดต 10 ก.ย. 2569
แชร์:f𝕏L

เขียนโดย ทีมคิดให้คุ้ม

ทีมจัดทำเครื่องมือและบทความการเงินส่วนบุคคล

ตรวจทานโดย ทีมตรวจทานสูตรคิดให้คุ้ม

สูตร สมมติฐาน และข้อจำกัดเชื่อมกับหน้าวิธีคำนวณ

อัลกอริทึมการสุ่มตัวเลขแบบ Pseudo-Random และ Cryptographic Random ในงานซอฟต์แวร์ — ภาพประกอบบทความการเงินจากคิดให้คุ้ม
ภาพประกอบแนวคิดเรื่องเครื่องมือ เพื่อช่วยวิเคราะห์และตัดสินใจจากตัวเลขจริง ภาพ: Kelly Sikkema / Unsplash

สรุปประเด็นสำคัญ (Key Takeaways)

  • ฟังก์ชันสุ่มทั่วไป เช่น Math.random() เป็นการสุ่มแบบเทียม (Pseudo-Random Number Generator: PRNG) ที่สร้างจากสูตรคณิตศาสตร์โดยอิงกับจุดเริ่มต้น (Seed)
  • PRNG แบบทั่วไปสามารถคาดเดาผลลัพธ์ล่วงหน้าได้หากรู้ Seed และอัลกอริทึม จึงห้ามใช้กับงานด้านความปลอดภัยหรือการเงินเด็ดขาด
  • สำหรับระบบการเงิน การสุ่มรางวัล หรือการสร้างโทเค็น ต้องใช้ Cryptographically Secure Pseudo-Random (CSPRNG) เช่น Web Crypto API

บทที่ 1

ความแตกต่างระหว่าง PRNG ทั่วไป vs CSPRNG

• Math.random(): ทำงานเร็ว ใช้ทรัพยากรต่ำ เหมาะกับเกมทั่วไป การจำลองข้อมูล หรือการสุ่ม UI • Crypto.getRandomValues(): ดึงค่าความไม่แน่นอน (Entropy) จากระดับฮาร์ดแวร์ เช่น ความร้อน สัญญาณรบกวนในระบบ ทำให้ไม่สามารถคาดเดาผลลัพธ์ได้ เหมาะกับความปลอดภัยระดับสูง

บทที่ 2

หลักการสุ่มจับฉลากให้โปร่งใสและตรวจสอบได้ (Provably Fair)

ใช้การ Hash ร่วมกับ Seed ฝั่งผู้ใช้ (Client Seed) และ Seed ฝั่งเซิร์ฟเวอร์ (Server Seed) เพื่อให้ผู้เข้าร่วมสามารถนำผลลัพธ์ไปตรวจสอบย้อนหลังได้ว่าไม่มีการล็อกรางวัล

ลองคำนวณจากตัวอย่างทดลองคำนวณและวางแผนเครื่องมือ

คำถามที่พบบ่อย

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

ใช้การกระจายตัวแบบ Uniform Distribution ที่รับประกันว่าตัวเลขทุกตัวในช่วงที่กำหนดมีโอกาสถูกเลือกเท่ากัน 100%

มาตรฐานบทความนี้

ใช้ตัวอย่างตัวเลขเพื่ออธิบายแนวคิด ไม่ใช่คำแนะนำทางการเงินส่วนบุคคล

เชื่อมไปยังเครื่องมือคำนวณที่เกี่ยวข้องเพื่อให้ผู้อ่านปรับสมมติฐานเองได้

หากอัตรา ภาษี หรือเงื่อนไขสำคัญเปลี่ยน จะอัปเดตวันที่แก้ไขในบทความ

เครื่องมือที่เกี่ยวข้อง

บทความที่เกี่ยวข้อง