ตัวสร้างเลขสุ่มเทียม

ตัวสร้างเลขสุ่มเทียม (อังกฤษ: pseudorandom number generator หรือ PRNG) คือตัวสร้างเลขสุ่มประเภทหนึ่ง มีความสำคัญในทางคณิตศาสตร์ การเข้ารหัส และการเสี่ยงโชค ตัวสร้างเลขสุ่มเทียมมีทั้งได้จากฮาร์ดแวร์ซึ่งเป็นการสุ่มแท้ และจากซอฟต์แวร์ซึ่งเป็นการสุ่มเทียม (pseudorandomness)

คำอธิบาย

ตัวสร้างเลขสุ่มเทียมหรือที่รู้จักกันในชื่อตัวสร้างบิตสุ่มแบบกำหนดได้ (Deterministic random bit generator: DRBG) เป็นขั้นตอนวิธีสำหรับใช้ในการสร้างลำดับของตัวเลขที่มีความใกล้เคียงกับคุณสมบัติของการสุ่ม ถึงลำดับตัวเลขที่ได้จากขั้นตอนวิธีตัวสร้างเลขสุ่มเทียมนี้จะใกล้เคียงกับลำดับเลขสุ่มแท้จริง แต่ก็ไม่ได้เป็นลำดับตัวเลขแบบสุ่มที่แท้จริงเนื่องจากลำดับตัวเลขที่ได้ออกมาจากตัวสร้างเลขสุ่มเทียมทั้งหมดได้มาจากกลุ่มเล็ก ๆ ของค่าเริ่มต้นที่กำหนดให้เป็นตัวตั้งต้น (seed) ของตัวสร้างเลขสุ่มเทียม ถึงจะมีตัวสร้างเลขสุ่มจากฮาร์ดแวร์ที่สามารถนำมาสร้างลำดับสุ่มแท้ได้ แต่ลำดับสุ่มเสมือนที่ได้จากตัวสร้างเลขสุ่มเทียมเองก็มีความสำคัญในทางปฏิบัติหลาย ๆ อย่าง ทั้งในด้านการจำลอง เช่นระบบกายภาพที่ใช้วิธีมอนเตการ์โล ในด้านการเข้ารหัสลับ (cryptography) ในด้านการก่อกำเนิดกระบวนคำสั่ง (procedural generation) ส่วนใหญ่เกี่ยวข้องกับคอมพิวเตอร์กราฟิกส์ (โปรแกรมประยุกต์และวิดีโอเกมขั้นออกแบบ) ขั้นตอนวิธีเชิงสุ่มมากมายเองก็ได้อิทธิพลมาจากตัวสร้างเลขสุ่มเทียมเป็นส่วนหนึ่งในการแก้ปัญหา นอกจากการใช้งานแล้วการพิสูจน์ว่าตัวสร้างเลขสุ่มเทียมใช้งานได้จริงก็มีความสำคัญไม่แพ้กัน ซึ่งการพิสูจน์นี้ต้องอาศัยการวิเคราะห์ทางคณิตศาสตร์อย่างระมัดระวังในการทำให้แน่ใจได้ว่าตัวสร้างเลขสุ่มเทียมได้สร้างลำดับสุ่มเสมือนที่มีลักษณะสุ่มเพียงพอสำหรับการใช้งาน

ประวัติ

ตัวอย่างการวนซ้ำของวิธีมิดเดิลสแควร์

ตัวสร้างเลขสุ่มเทียมที่อาศัยคอมพิวเตอร์ยุคแรก ๆ คิดค้นโดย จอห์น ฟอน นอยมันน์ ในปี ค.ศ. 1946 รู้จักกันในนามของ วิธีมิดเดิลสแควร์ (middle-square method) ขั้นตอนวิธีนี้คือ รับตัวเลขใดเข้ามาเป็นตัวตั้งต้นก็นำตัวเลขนั้นมายกกำลังด้วย 2 แล้วนำหลักตรงกลางออกจากผลลัพธ์ที่ได้ ก็จะได้ตัวเลขสุ่มขึ้นมาตามต้องการ ซึ่งสามารถนำตัวเลขนี้มาเป็นตัวตั้งต้นในการสร้างตัวเลขสุ่มอื่น ๆ ต่อไปได้

รหัสเทียม

Input เป็นตัวเลข Output ยกกำลังสอง Input ที่นำตัวเลขตำแหน่งกลางออก

 
 int main ()
 {
 int in;
 int tmp =in*in;
 int tmp2=tmp;
 //หาจำนวนหลัก
 int length=0;
 while (tmp2>0)
 {
 length++;
 tmp2/=10;
 }
 int tmp3=tmp/pow (10,length/2) ; //ดึงส่วนข้างหน้าหลักกลางออกมา
 int tmp4= (length%2==0) ?tmp-tmp3* pow (10,length/2) +1: tmp-tmp3* pow (10,length/2) ;//ดึงส่วนข้างหลังหลักกลางออกมา
 int out = tmp3* pow (10,length/2) +tmp4; ี่ นำหลกตรงกลางออกแล
 return out;
 }

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

คาบการวนซ้ำ

ตัวสร้างเลขสุ่มเทียมเริ่มต้นจากสถานะเริ่มต้นอะไรก็ได้โดยใช้สถานะ seed (สถานะเริ่มต้น) เป็นตัวเริ่มต้นของตัวสร้างเลขสุ่มเทียม ซึ่งทำให้เกิดการวนซ้ำของลำดับได้โดยความยาวสูงสุดของลำดับสุ่มเสมือนก่อนเกิดการซ้ำเกิดขึ้นถูกวัดจากขนาดของสถานะซึ่งวัดได้โดยความยาวของบิต ความยาวคาบของการวนซ้ำสูงสุดจะยาวเพิ่มเป็น 2 เท่าทุก 1 บิตที่เพิ่มขึ้นจึงทำให้ง่ายที่จะสร้าง ตัวสร้างเลขสุ่มเทียมที่มีคาบการวนซ้ำที่ยาวเพียงพอสำหรับหลาย ๆ โปรแกรมในทางปฏิบัติ ถ้าสถานะของตัวสร้างเลขสุ่มเทียมมี n บิต คาบการวนซ้ำจะไม่ยาวเกินกว่า 2n เช่น เรจิสเตอร์เลื่อนป้อนกลับได้เชิงเส้นLinear Feedback Shift Registers (LFSRs) โดยปกติจะถูกทำให้มีคาบการวนซ้ำที่มีความยาวแน่นอนคือ 2n−1 ตัวสร้างสมภาคเชิงเส้นLinear congruential generators มีคาบการวนซ้ำซึ่งสามารถคำนวณได้จากการหาตัวประกอบ มิกซ์ Mixes (ไม่มีข้อบังคับ) มีคาบการวนซ้ำโดยเฉลี่ย 2n/2 มิกซ์ Mixes (ซึ่งสามารถย้อนกลับได้) มีคาบการวนซ้ำโดยเฉลี่ย 2n ถึงแม้ว่าตัวสร้างเลขสุ่มเทียมจะมีการซ้ำของผลลัพธ์หลังจากถึงคาบการวนซ้ำแต่การเจอตัวซ้ำไม่ได้หมายความว่ามันครบคาบการวนซ้ำเสมอไปเพราะคาบการวนซ้ำที่แท้จริงอาจจะยาวกว่านี้

รายการ

ตัวอย่างของตัวสร้างเลขสุ่มเทียม Pseudo Random Generator Shift register
4 บิต Fibonacci LFSR พร้อมกับแผนภาพแสดงสถานะ
16 บิต Fibonacci LFS
16 บิต Galois LFSR

ขั้นตอนวิธีในการเข้ารหัสที่ใช้ตัวสร้างเลขสุ่มเทียม (PRNG)

PRNG APIS ที่มีชื่อเสียง

  • Random class ใน the Java programming language
  • SecureRandom class ใน the Java programming language

PRNG ที่ใช้ External entropy

ตัวอย่างขั้นตอนวิธีอย่างง่าย

วิธีตัดกลางของผลคูณ (Midproduct Method)

  • 1.) เลือกตัวเลขสี่หลัก 2 ค่า x'0 และ x0
  • 2.) คูณค่า x'0 และ x0 เข้าด้วยกัน
  • 3.) ใชสี่หลักกลางของผลคูณที่ได้ในข้อ 2.) เป็นตัวเลขสุ่มเทียม x1
  • 4.) คูณ ค่า x0 และ x1
  • 5.) ทำซ้ำขั้นตอน 3.) และ 4.) จนกว่าจะได้ตัวเลขสุ่มเท่าจำนวนที่ต้องการ

วิธีตัวคูณคงที่ (Constant Multiplier Technique

  • 1.) กำหนดค่าคงที่ k ขนาดสี่หลัก และค่าเริ่มต้น x0
  • 2.) คูณค่า k และ x0 เข้าด้วยกัน
  • 3.) ใชสี่หลักกลางของผลคูณที่ได้ในข้อ 2.) เป็นตัวเลขสุ่มเทียม x1
  • 4.) คูณ ค่า k และ x1
  • 5.) ทำซ้ำขั้นตอน 3.) และ 4.) จนกว่าจะได้ตัวเลขสุ่มเท่าจำนวนที่ต้องการ

วิธีการบวกเศษเหลือ (Additive Congruent Method)

  • 1.) กำหนดตัวเลขจำนวนเต็ม x1, x2,..., xn
  • 2.) สร้าง xn+1, xn+2, ... จากตัวเลขในข้อ 1.)
  • 3.) สร้างตัวเลขสุ่มเทียมโดยใช้สูตร
  • xi= (xi-1+xi-n) (mod m)
  • Ri-n= xi/m

วิธีการใช้เศษเหลือ (Congruent Method)

  • วิธีการที่นิยมใช้ที่สุดในการสร้างตัวเลขแบบสุ่มคือการใช้เศษเหลือของผลคูณ (Multiplicative Congruential Method)
  • โดยใช้สูตร xi+1 =axi (mod m)
  • ด้วยการกำหนดค่าให้ a และ m ซึ่งจะต้องไม่เป็นค่าลบและกำาหนดค่าเริ่มต้น x0

เวลาในการทำงาน หน่วยความจำที่ใช้ หรือการพิสูจน์ความถูกต้อง

  • ขึ้นกับแต่ละขั้นตอนวิธีเพราะขั้นตอนวิธีต่างกันจะมีเวลาในการทำงานและหน่วยความจำที่ใช้ต่างกัน การพิสูจน์ความถูกต้องของตัวสร้างเลขสุ่มเทียมแต่ละขั้นตอนวิธีก็ต่างกันด้วย

ปัญหา

  • คาบเวลาการซ้ำสั้นกว่าที่คาดเอาไว้สำหรับบางสถานะ seed (สถานะเริ่มต้น)
  • ขาดเอกรูป (Non-Uniform) ในการแจกแจงลำดับสุ่มเสมือนที่สร้างขึ้นมาเมื่อสร้างตัวเลขสุ่มมาแล้วเป็นจำนวนมาก
  • เกิดความสัมพันธ์กับค่าที่อยู่ติดกันซึ่งอาจทำให้ผู้โจมตีสามารถคาดเดาตัวต่อไปได้
  • การแจกแจงที่มีมิติหรือขอบเขตที่ไม่ดี (poor dimension) ในลำดับสุ่มเสมือนที่ได้จากตัวสร้างเลขสุ่มเทียม
    ปริภูมิ 3 มิติ ของ 100,000 ค่าที่สร้างขึ้นมาด้วย แรนดูRANDU โดยจุดแต่ละจุดแสดง 3 ลำดับย่อยของตัวเลขสุ่มเทียม

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

กับการเข้ารหัส

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

ความมั่นคงและระเบียบวิธีการในการเข้ารหัสของขั้นตอนวิธีตัวสร้างเลขสุ่มเทียม มีใช้กันส่วนมากตั้งอยู่บนสมมุติฐานที่ว่าเป็นไปไม่ได้ที่จะแยกลำดับสุ่มเสมือนจากการใช้งานของตัวสร้างเลขสุ่มเทียมที่เหมาะสมออกจากลำดับสุ่มแท้จริงได้ ตัวอย่างหนึ่งที่เห็นได้ชัดคือ กระแสข้อมูลรหัส (stream ciphers) ซึ่งส่วนมากทำงานโดยใช้ตัวดำเนินการทางตรรกศาสตร์ exclusive or (XOR) ระหว่างข้อความปกติกับผลลัพธ์จากตัวสร้างเลขสุ่มเทียมผลิตข้อความรหัส (ciphertext) ออกมา การออกแบบตัวสร้างเลขสุ่มเทียม ที่สามารถเข้ารหัสได้อย่างเพียงพอต่อความต้องการในปัจจุบันนี้เป็นสิ่งที่ยากอย่างสุดสุดเพราะว่า ตัวสร้างเลขสุ่มเทียม ที่ออกแบบนี้นอกจากจะต้องสอดคล้องกฎเกณฑ์ข้อกำหนดพื้นฐานสำหรับตัวสร้างเลขสุ่มเทียมทั่วไปที่ไม่ได้ใช้เข้ารหัสแล้วยังต้องสอดคล้องกับกฎเกณฑ์ข้อกำหนดต่าง ๆ เพิ่มเติมเพื่อเป็นเครื่องยืนยันว่าสามารถใช้เข้ารหัสได้อย่างเพียงพอ

ในการเข้ารหัสที่ปลอดภัย

ตัวสร้างเลขสุ่มเทียมที่เหมาะสำหรับใช้งานในการเข้ารหัส เรียกว่าตัวสร้างเลขสุ่มเทียมที่มีความมั่นคงเชิงรหัส cryptographically secure PRNG (CSPRNG) ขณะที่ตัวสร้างเลขสุ่มเทียมทั่ว ๆ ไปนั้นแค่ผ่านการทดสอบทางสถิติจำนวนหนึ่งก็พอ ส่วนตัวสร้างเลขสุ่มเทียมที่มีความมั่นคงเชิงรหัสต้องผ่านการทดสอบทางสถิติทั้งหมดและต้องอยู่ภายในเวลาแบบฟังก์ชันพหุนามกับขนาดของค่าเริ่มต้น (seed) ถึงแม้ว่าคุณสมบัติดังกล่าวจะไม่สามารถพิสูจน์ได้ในทางปฏิบัติก็ตาม เรายังสามารถแสดงหลักฐานข้อพิสูจน์ที่แข็งแรงเพียงพอให้เห็นได้ว่าตัวสร้างเลขสุ่มเทียมที่สร้างขึ้นมีความมั่นคงเชิงรหัสหรือไม่ โดยลดรูปคุณสมบัติดังกล่าวไปสู่ปัญหาที่ยากทางคณิตศาสตร์ที่เป็นที่รู้จักกันซึ่งเป็นหนึ่งในกลุ่มปัญหา NP เช่นการแยกตัวประกอบจำนวนเต็มที่มีหลาย ๆ หลัก โดยปกติแล้วต้องใช้เวลาหลายปีในการตรวจสอบกว่าจะสามารถยืนยันได้ว่าขั้นตอนวิธีตัวสร้างเลขสุ่มเทียมใด ๆ นั้นจะเป็นตัวสร้างเลขสุ่มเทียมที่มีความมั่นคงเชิงรหัสหรือไม่

รายการของตัวสร้างเลขสุ่มเทียมที่มีความมั่นคงเชิงรหัส (CSPRNG)

  • Stream ciphers
  • Block ciphers วิ่งใน counter หรือ output feedback mode
  • ตัวสร้างเลขสุ่มเทียมที่ออกแบบมาเป็นอย่างดีสำหรับการเข้ารหัสโดยเฉพาะ
  • การผสมระหว่างขั้นตอนวิธีตัวสร้างเลขสุ่มเทียมดั้งเดิมหลาย ๆ ตัวโดยมีเป้าหมายในการกำจัดลำดับที่ดูเหมือนไม่ได้สุ่มออกไป
  • การออกแบบขั้นตอนชนิดพิเศษที่ตั้งอยู่บนสมมุติฐานอย่างยากทางคณิตศาสตร์เช่น Micali-Schnorr, ขั้นตอนวิธี Blum Blum Shub ซึ่งได้พิสูจน์ความมั่นคงของรหัสได้เป็นอย่างดีไว้แล้ว ขั้นตอนวิธีเหล่านี้จะใช้เวลาช้ากว่าตัวสร้างเลขสุ่มเทียมแบบอื่นและใช้งานไม่ได้ในทางปฏิบัติด้านอื่น ๆ นอกจากใช้ในการเข้ารหัสเท่านั้น

BSI evaluation criteria

หน่วยงานความมั่นคงทางสารสนเทศของเยอรมัน (The German Federal Office for Information Security: BSI) ได้จัดตั้งกฎเกณฑ์ในการกำหนดคุณภาพของตัวสร้างเลขสุ่มเทียมขึ้นดังนี้

  • K1 ลำดับสุ่มเสมือนซึ่งมีโอกาสต่ำที่หลักที่อยู่ติดกันจะมีค่าซ้ำกัน
  • K2 ลำดับสุ่มเสมือนซึ่งไม่สามารถแยกจากลำดับสุ่มแท้จริงด้วยการทดสอบทางสถิติที่แน่ชัด การทดสอบโมโนบิต monobit test (จำนวนที่เท่ากันของเลขศูนย์และเลขหนึ่งในลำดับ), การทดสอบโปกโกอร์ poker test (ตัวอย่างพิเศษของ chi-square test), การทดสอบการวิ่งruns test (นับจำนวนความถี่ของการวิ่งของความยาวที่ต่าง ๆ กัน), การทดสอบการวิ่งระยะยาว longruns test (ตรวจสอบการวิ่ว่ามี ความยาวมากกว่า 34 or หรือใหญ่กว่า 20 000 bits ในลำดับหรือไม่ — both from BSI2 (AIS 20, v. 1, 1999) and FIPS (140-1, 1994), และ การทดสอบความผิดพลาดอันเนื่องมากจากความสัมพันธ์autocorrelation test ใจความสำคัญของการทดสอบเหล่านี้คือลำดับย่อยใด ๆ ที่เลือกมาจะต้องไม่มีข้อมูลใดของตัวถัดไปของลำดับปรากฏอยู่
  • K3 สำหรับในทางปฏิบัติเป็นไปไม่ได้ที่ผู้โจมตีใด ๆ จะคำนวณหรือเดาตัวเลขสุ่มได้จากลำดับย่อยใด ๆ ที่ได้มา ตัวก่อนหน้าหรือตัวถัดไปของลำดับหรือจากสถานะใด ๆ ของตัวสร้างเลขสุ่มเทียม
  • K4 สำหรับในทางปฏิบัติเป็นไปไม่ได้ที่ผู้โจมตีใด ๆ จะคำนวณหรือเดาตัวเลขสุ่มได้จาก สถานะภายในของตัวสร้างเลขสุ่มเทียม ตัวก่อนหน้าหรือตัวถัดไปของลำดับหรือสถานะก่อนหน้าใด ๆ ของ ตัวสร้างเลขสุ่มเทียม

สำหรับโปรแกรมในการเข้ารหัสตัวสร้างเลขสุ่มเทียม (PRNG) ที่ครบตามเงื่อนไขของมาตรฐาน K3 หรือ K4 เท่านั้นที่ยอมรับได้ว่าเป็นตัวสร้างเลขสุ่มเทียมที่มีความมั่นคงเชิงรหัส (CSPRNG)

การใช้งาน

การแจกแจงไม่เอกรูป (Non-Uniform Distribution)

ตัวเลขที่เลือกมาจากการแจกแจงความน่าจะเป็นที่ไม่เอกรูปสามารถสร้างโดยใช้การแจกแจงเอกรูป (uniform distribution ) ตัวสร้างเลขสุ่มเทียม PRNG และ function ที่เกี่ยวข้องกับการแจกแจง 2 ประเภท

1: cumulative distribution function ของ:

. เลือก c แบบสุ่มจากการแจกแจงเอกรูปและหาความหนาแน่นของความน่าจะเป็นจะได้

ดังนั้น

คือตัวเลขแบบสุ่มที่ได้จากการแจกแจง.

2: ตัวผกผัน Cumulative Gaussian distribution

พร้อมกับ ตัวสร้างเลขสุ่มเทียม เอกรูปแบบอุดมคติในช่วง (0, 1) เป็น input x จะให้ลำดับของค่าบวกซึ่งเป็นการแจกแจงแบบ Gaussian distribution ออกมา

  • เมื่อใช้ในทางปฏิบัติการแสดงตัวเลขจะต้องมีการตัดหางที่ยาวไม่มีที่สิ้นสุดของการแจกแจงให้เป็นค่าที่มี่ที่สิ้นสุด
  • การคำนวณซ้ำหลายครั้งควรลดให้เป็นแบบ Ziggurat algorithm เพื่อความเร็วที่มากขึ้นของการสร้างด้วยหลักการคล้ายกับการแจกแจงเรย์ลี (Rayleigh distribution) และการแจกแจงปัวซง (Poisson distribution) ก็สามารถนำมาใช้ในการสร้างการแจกแจงแบบไม่เป็นเอกรูปได้เช่นกัน

โปรแกรมประยุกต์และการประยุกต์ใช้งานในด้านอื่น ๆ

  • KeyPass
  • QFX keyscramble
  • โปรแกรมสุ่มเลขบัตรประจำตัวประชาชน-สุ่มเลขบัตรประชาชนสำหรับใช้ในการสมัครสมาชิกเว็บต่าง ๆ เพื่อความปลอดภัยของผู้สมัครสมาชิก
  • Passward Generator
  • การพยากรอากาศ
  • การทำนายอนาคต
  • GPS สามารถหาเวลาที่ต่างกันระหว่างเครื่องรับกับดาวเทียมได้อย่างมีประสิทธิภาพและมีราคาไม่แพงทำให้กลายเป็นเครื่องมือที่ทุกคนสามารถใช้ได้
  • การโคจรของดาวเทียม ดาวเทียมทุกดวงสามารถใช้คลื่นความถี่เดียวกันได้โดยไม่เกิดการรบกวนต่อกัน ดาวเทียมแต่ละดวงจะมี Pseudo Random code เป็นของเฉพาะตัว ดังนั้นเวลาเครื่องรับนำรหัสมาใช้ต้องให้ถูกตามหมายเลขดาวเทียม
  • ทฤษฏีความโกลาหล (Chaos theory) ปรากฏการณ์ที่ดูเหมือนว่าเกิดขึ้นอย่างสะเปะสะปะแต่แฝงไปด้วยความเป็นระเบียบ
  • วิธีการชนะที่รูเล็ตคาสิโนออนไลน์จากจุดบกพร่องของตัวสร้างเลขสุ่มเทียมของคาสิโนออนไลน์

ดูเพิ่ม

อ้างอิง

  • Michael Luby, Pseudorandomness and Cryptographic Applications, Princeton Univ Press, 1996. A definitive source of techniques for provably random sequences.
  • Donald Knuth. The Art of Computer Programming, Volume 2: Seminumerical Algorithms, Third Edition. Addison-Wesley, 1997. ISBN 0-201-89684-2. Chapter 3, pp. 1–193.

Extensive coverage of statistical tests for non-randomness.

Read other articles:

Kuta GugungDesaKantor Kepala Desa Kuta GugungNegara IndonesiaProvinsiSumatera UtaraKabupatenDairiKecamatanSumbulKode pos22281Kode Kemendagri12.11.02.2020 Luas... km²Jumlah penduduk... jiwaKepadatan... jiwa/km² Kuta Gugung merupakan salah satu desa yang ada di kecamatan Sumbul, Kabupaten Dairi, provinsi Sumatera Utara, Indonesia. Pemerintahan Desa Kuta Gugung terdiri dari Dusun Kuta Gugung, Kuta Kabo, Lumban Tobing, Parnantian, Sikula, Singgodang, Suhana, dan dusun lainnya. Galeri Gapur...

 

Enrique de Francisco Presidente del PSOE 1944-1948Predecesor Cargo vacante(anteriormente, José Gómez Osorio)Sucesor Indalecio Prieto Vicepresidente del Grupo Parlamentario Socialista en las Cortes 4 de marzo de 1936-2 de febrero de 1939Predecesor Juan NegrínSucesor Cargo suprimido 27 de julio de 1931-9 de octubre de 1933Predecesor Cargo creadoSucesor Juan Negrín Secretario-Tesorero del PSOE 1932-1936Predecesor Manuel Albar CatalánSucesor Ramón Lamoneda Diputado en las Cortespor Madrid (...

 

العلاقات الطاجيكستانية النيجيرية طاجيكستان نيجيريا   طاجيكستان   نيجيريا تعديل مصدري - تعديل   العلاقات الطاجيكستانية النيجيرية هي العلاقات الثنائية التي تجمع بين طاجيكستان ونيجيريا.[1][2][3][4][5] مقارنة بين البلدين هذه مقارنة عامة ومرجعية لل

جائزة كيبيك الكبرى للدراجات 2010 طواف العالم للدراجات 2010 السباق 24 من 26   السلسلة طواف العالم للدراجات 2010 رقم السباق 24 سباقات الموسم 26 التاريخ سبتمبر 10 عدد المراحل 1 عدد الرياضيين 174 (نقطة البداية)،  و110 (نقطة النهاية)  المسافة 189 كم الزمن 4 ساعة 35 دقيقة 26 ثانية البلد كندا...

 

Ver artigo principal: Tênis de mesa nos Jogos Pan-Americanos de 2023 Tênis de mesa nosJogos Pan-Americanos de 2023 Simples   masc   fem Duplas   masc   fem   mis Equipes   masc   fem Abaixo está o sistema de qualificação e os comitês olímpicos nacionais qualificados ao Tênis de mesa nos Jogos Pan-Americanos de 2023, programado para ser realizado em Santiago, no Chile, de 29 de outubro a 5 de novembro de 2023. Sistema de qualificação Um total de...

 

Artikel ini bukan mengenai Yoyo. Si YoyoGenre Drama Fantasi Komedi Religi PembuatMD EntertainmentDitulis oleh Nucke Rahma SH Rick ST. Mulyono Skenario Nucke Rahma SH Rick ST. Mulyono Pemeran Teuku Ryan Nena Rosier Arief Rivan Bobby Tince Bemby Putuanda Rifat Sungkar Dedeh Iskandar Penggubah lagu temaAlena WuLagu pembukaSi Yoyo — Alena WuLagu penutupSi Yoyo — Alena WuPenata musikIwang ModulusNegara asalIndonesiaBahasa asliBahasa IndonesiaJmlh. musim3Jmlh. episode156 (daftar episode)P...

British magazine New Civil EngineerCover from September 2023EditorClaire SmithHead of content and engagementRob HorganCategoriesCivil Engineering, Infrastructure, Construction, Rail, Roads, Bridges, Tunnels, Flooding, Water, AirportsFrequencyMonthlyFormatA4Circulation47,857 (2018)PublisherMetropolis InternationalFounderThomas Telford PublishingFounded1972First issueMay 1972CompanyMetropolis InternationalCountryUnited KingdomBased inLondonLanguageEnglishWebsitenewcivilengineer.comISSN0307-7683...

 

Biografi ini memerlukan lebih banyak catatan kaki untuk pemastian. Bantulah untuk menambahkan referensi atau sumber tepercaya. Materi kontroversial atau trivial yang sumbernya tidak memadai atau tidak bisa dipercaya harus segera dihapus, khususnya jika berpotensi memfitnah.Cari sumber: Caitlin Stasey – berita · surat kabar · buku · cendekiawan · JSTOR (August 2009) (Pelajari cara dan kapan saatnya untuk menghapus pesan templat ini) Caitlin StaseyCaitli...

 

هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (أبريل 2019) كاثرين ألبرت معلومات شخصية الميلاد 6 أكتوبر 1902  لويفيل، كنتاكي  الوفاة 26 يوليو 1970 (67 سنة)   سانتا مونيكا، كاليفورنيا  مواطنة الولايات المتحدة  الح...

American blues guitarist, singer, and songwriter (1925–2015) B. B. KingPublicity photo, 1980sBackground informationBirth nameRiley B. KingBorn(1925-09-16)September 16, 1925Itta Bena, Mississippi, U.S.DiedMay 14, 2015(2015-05-14) (aged 89)Las Vegas, Nevada, U.S.GenresElectric blues[1]rhythm and blues[2]rock and roll[2]soul[3]gospel[4]Occupation(s)Musiciansingersongwriterrecord producerInstrument(s)GuitarvocalsYears active1942–2014Labels RPM Crow...

 

American director For the German gallerist, see Michael Schultz (gallerist). For the German footballer, see Michael Schultz (footballer). This biography of a living person needs additional citations for verification. Please help by adding reliable sources. Contentious material about living persons that is unsourced or poorly sourced must be removed immediately from the article and its talk page, especially if potentially libelous.Find sources: Michael Schultz – news · n...

 

Українська РСР наЧемпіонаті світу з легкої атлетики Медалей Золото Срібло Бронза Загалом 7 5 7 19 Участь у Чемпіонаті світу з легкої атлетики 198319871991 Україна наЧемпіонаті світу з легкої атлетики Медалей Золото Срібло Бронза Загалом 12 15 14 41 Участь у Чемпіонаті світу з легкої...

富山県立中央農業高等学校 北緯36度35分23.7秒 東経137度14分43.9秒 / 北緯36.589917度 東経137.245528度 / 36.589917; 137.245528座標: 北緯36度35分23.7秒 東経137度14分43.9秒 / 北緯36.589917度 東経137.245528度 / 36.589917; 137.245528過去の名称 富山県立富山通信産業高等学校富山県立富山産業高等学校国公私立の別 公立学校設置者  富山県校訓 自主・協同・勤...

 

Dinar Bahrainدينار بحريني (Arab) Uang kertas dinar BahrainUang koin dinar Bahrain ISO 4217KodeBHDDenominasiSubsatuan 1/100fulus (فلس)Simbol.د.ب (Arab) atau BD (Latin)Uang kertasBD 1⁄2, BD 1, BD 5, BD 10, BD 20Uang koin5, 10, 25, 50, 100, BD 1⁄2 (500 fulus)DemografiPengguna BahrainEmisiBank sentralBank Sentral Bahrain Situs webwww.cbb.gov.bhValuasiInflasi0,7% (Oktober 2021) SumberTrading EconomicsDinar Bahrain (bahasa Arab: دينار Dīnār Baḥrē...

 

2016 single by Tinie Tempah featuring Zara LarssonGirls LikeSingle by Tinie Tempah featuring Zara Larssonfrom the album Youth Released26 February 2016 (2016-02-26)GenreDeep house[1]dance-pop[2]hip hop[3]rhythm and blueship houseLength3:16LabelParlophoneWarner Bros.Songwriter(s)Aleisha BennettZara LarssonPatrick Okogwu[4]Producer(s)Nana RoguesTinie Tempah singles chronology Turn the Music Louder (Rumble) (2015) Girls Like (2016) Mamacita (2016...

Stream in Pennsylvania, USA Irvin BranchTributary to Anderson CreekLocation of Irvin Branch mouthShow map of PennsylvaniaIrvin Branch (Anderson Creek tributary) (the United States)Show map of the United StatesLocationCountryUnited StatesStatePennsylvaniaCountyClearfieldPhysical characteristicsSourceunnamed tributary to Panther Run divide • locationabout 5 miles north of Greenville, Pennsylvania • coordinates41°03′18″N 078°36′11″W / ࿯...

 

شركة طيبة للاستثمارشركة طيبة للاستثمارالشعارمعلومات عامةالجنسية  السعوديةالتأسيس 24 سبتمبر عام 1988النوع شركة مساهمة سعوديةالشكل القانوني شركة مساهمة — شركة عمومية محدودة المقر الرئيسي المدينة المنورة ، المملكة العربية السعوديةموقع الويب taiba.com.sa المنظومة الاقتصاديةا...

 

Book by Emily Giffin Something Borrowed Cover of most recent editionAuthorEmily GiffinCountryUnited StatesLanguageEnglishGenreChick lit, Romance, ComedyPublisherSt. Martin's PressPublication dateMarch 10, 2005Media typePrint (hardcover and paperback), Audiobook, EbookPages352ISBN0-312-32119-8OCLC58802337 Something Borrowed is a 2005 novel by author Emily Giffin. The novel concerns morals regarding friends and relationships. It addresses the stigma against single women in their thirties a...

Town in Kansai, JapanWazuka 和束町TownWazuka Town Hall FlagSealLocation of Wazuka in Kyoto PrefectureWazukaLocation in JapanCoordinates: 34°47′44″N 135°54′18″E / 34.79556°N 135.90500°E / 34.79556; 135.90500CountryJapanRegionKansaiPrefectureKyotoDistrictSōrakuArea • Total64.93 km2 (25.07 sq mi)Population (April 1, 2023) • Total3,478 • Density54/km2 (140/sq mi)Time zoneUTC+09:00 (JST)City hall a...

 

River in FranceAudeThe Aude at CarcassonneNative nameL'Aude (French)LocationCountryFrancePhysical characteristicsSource  • locationLes Angles, Lac d'Aude, Massif du Carlit, Pyrénées, France • elevation2,136 m (7,008 ft) Mouth  • locationFleury/Vendres, France, Mediterranean Sea • coordinates43°12′45″N 3°14′25″E / 43.21250°N 3.24028°E / 43.21250; 3.24028 R...

 

Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!