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

จาก testwiki
ไปยังการนำทาง ไปยังการค้นหา

ตัวสร้างเลขสุ่มเทียมแบบบลัมบลัมชับ (อังกฤษ : Blum Blum Shub) เป็นตัวสร้างเลขสุ่มเทียมที่ถูกสร้างขึ้นในปี 1986 โดย Lenore Blum, Manuel Blum และ Michael Shub โดยมีเป้าหมายในการใช้ในด้านความปลอดภัยมากกว่าที่จะเอาไปใช้สุ่มตัวเลขจริงๆ

รายละเอียด

โดยตัวสร้างเลขสุ่มเทียมแบบบลัมบลัมชับมีลำดับเป็น

xn+1=xn2modM

มีผลลัพธ์เป็นบิตที่มีความสำคัญน้อยที่สุด(LSB) ของ xn+1 โดย M=pq โดย p และ q เป็นจำนวนเฉพาะขนาดใหญ่ไม่ซ้ำกัน และทั้งคู่จะสมภาคกับ 3 ภายใต้มอดูโล 4

ลักษณะเฉพาะที่น่าสนใจของตัวสร้างเลขสุ่มเทียมแบบบลัมบลัมชับคือสามารถทีจะคำนวณหาค่า xi ใดๆได้โดยตรง(ผ่านทฤษฎีบทของออยเลอร์)

xi=(x02imodλ(M))modM

โดย λ มาจาก Carmichael function (ตามสมการ λ(M)=λ(pq)=lcm(p1,q1))

ด้านความปลอดภัย

ตัวสร้างเลขสุ่มนี้ไม่ได้เหมาะกับการนำมาใช้สุ่มค่ามาใช้แต่มีไว้ใช้เฉพาะเพื่อการเข้ารหัส(วิทยาการเข้ารหัสลับ) เพราะทำได้ค่อนข้างช้า อย่างไรก็ตามก็ยังมีวิธีที่จะลดรูปความซับซ้อนในรูปแบบการคำนวณไปเป็นความซับซ้อนในรูปแบบการคำนวณของปัญหา Quadratic residuosity problem เพื่อที่จะแก้รหัสนี้จำเป็นต้องรู้ตัวประกอบของค่าโมดูลัส ความยากในการถอดรหัสตัวประกอบจำนวนเต็มนั้นถือเป็นความปลอดภัยอย่างหนึ่ง เนื่องจากความยากในการถอดรหัสนั้นเองตัวสร้างเลขสุ่มเทียมแบบบลัมบลัมชับที่ใช้ M ขนาดใหญ่นั้นจะมีค่าออกมาแตกต่างกับค่าสุ่มอื่นๆ ที่สามารถแก้ปัญหาด้วยการคำนวณต่างๆ ตัวสร้างเลขสุ่มเทียมแบบบลัมบลัมชับจึงถูกนำไปใช้ในด้านการออกแบบด้านความปลอดภัย โดยมีระบบความปลอดภัยเป็นปัญหาการแยกตัวประกอบเช่นเดียวกับการเข้ารหัสแบบ RSA

ตัวอย่าง

ให้ M = 11*19 = 209 ค่า x0= 9 จะได้

  • x1=92 mod 209 = 81
  • x2=812 mod 209 = 82
  • x3=822 mod 209 = 36
  • x4=362 mod 209 = 42
  • x5=422 mod 209 = 92
  • x6=922 mod 209 = 104
  • x7=1042 mod 209 = 157
  • x8=1572 mod 209 = 196
  • x9=1962 mod 209 = 169
  • x10=1692 mod 209 = 137
  • x11=1372 mod 209 = 168
  • x12=1682 mod 209 = 9

อ้างอิง

  • Lenore Blum, Manuel Blum, and Michael Shub. "A Simple Unpredictable Pseudo-Random Number Generator", SIAM Journal on Computing, volume 15, pages 364-383, May 1986.
  • Lenore Blum, Manuel Blum, and Michael Shub. "Comparison of two pseudo-random number generators", Advances in Cryptology: Proceedings of Crypto '82. Available as Google book.
  • Martin Geisler, Mikkel Krøigård, and Andreas Danielsen. "About Random Bits", December 2004. Available as PDF แม่แบบ:Webarchive and Gzipped Postscript แม่แบบ:Webarchive.

ลิ้งภายนอก